防火牆iptables應用

iptables的應用

防火牆的名詞解釋

表      table   用來存放鏈的容器
鏈      chain   用來存放規則的容器
規則    policy  裏面是具體的每一條規則

iptables工作流程

在這裏插入圖片描述

1. 防火牆規則匹配到第一行之後不會繼續向下匹配;
2. 如果所有的規則都沒有匹配到,那麼會匹配到默認規則;
3. 防火牆的默認規則是所有的規則執行完才執行的;
4. 防火牆是層層過濾的,實際是按照配置規則的順序從上到下,從前到後進行過濾的;
5. 匹配到拒絕也是匹配成功;

iptables表(tables)和鏈(chains)

一共有4表5鏈

重點掌握FILTER和NAT表

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

PREROUTING    pre   routing         數據來之前
POSTROUTING   post  routing         數據離開

FILTER表信息詳細介紹

filter表和相關鏈信息

對於filter表的控制使我們實現防火牆功能的重要手段,特別是對INPUT鏈的控制。

NAT表信息詳細介紹

NAT表和相關鏈信息

iptables包處理簡化流程圖

在這裏插入圖片描述

案例:
1. 局域網上網共享,使用NATNAT的POETROUTING鏈。
2. 外部IP和端口映射爲內部IP和端口,使用NAT的PREROUTING鏈。
3. 主機服務器防火牆,使用FILTER的INPUT鏈。

部署iptables

在安裝之前首先要把系統中原本的firewalld關閉。

1.安裝iptables

yum install -y iptables iptables-services
安裝完成之後檢查一下是否安裝成功。
rpm -qa iptables iptables-services
rpm -ql iptables iptables-services
  1. 啓動iptables
systemctl start iptables
systemctl enable iptables
注意:
	如果iptables沒有啓動成功,有很大可能是系統中firewalld的服務沒有關掉。

iptables規則及使用規則

查看當前防火牆的規則

iptables -nL
注意:
	如果iptables關閉時候,請不要使用iptables -nL查看規則,防火牆會自動開啓。

加載模塊到內核

在這裏插入圖片描述

modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_state
可以通過以下命令查看:
lsmod |grep "nat|filter|ipt"

清除默認規則

iptables -F                <- 清除所有的規則,不會處理默認的規則
iptables -X                <- 刪除用戶自定義的鏈
iptables -Z                <- 鏈的計數器清零

添加規則

-A             將規則追加到最後面
-I             將規則插入到最前面
-p             指定協議 
--dport        指定目標端口/IP地址
-j             指定動作
	DROP       拒絕
	ACCEPT     允許
-D             刪除規則
--line-number  在規則前面顯示標號
#關閉22端口
iptables -A INPUT -p tcp --dport 22 -j DROP
#只允許某個網段的22端口通過
iptables -A INPUT -p tcp ! -s 172.16.1.0/24 --dport 22 -j DROP
#只允許80和443端口通過
iptables -A INPUT -p tcp -m multiport ! --dport 80,443 -j DROP
#刪除一個規則
iptables -nL --line-number                <- 查看規則
	<--
	Chain INPUT (policy ACCEPT)
	num  target     prot opt source               destination         
	1    DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports  !22,80,443
	
	Chain FORWARD (policy ACCEPT)
	num  target     prot opt source               destination         
	
	Chain OUTPUT (policy ACCEPT)
	num  target     prot opt source               destination         
	-->
iptables -D INPUT 1                       <- 刪除規則

iptables規則備份及永久生效

保存規則,只是顯示在屏幕

iptables-save

保存規則到配置文件中,永久生效

iptables-save > /etc/sysconfig/iptables

備份iptables規則

iptables-save > /tmp/ip.rules

還原iptables規則

iptables-restore < /tmp/ip.rules
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章