天天看點

Iptables防火牆實驗

Iptables防火牆實驗

先說明一下環境,這裡有四台主機,中間的Centos充當防火牆。右上角的win XP和右下角的Rhel7充當伺服器,最左邊的win7充當主機。四者之間的網卡都已經配置好。而且我們已經在Centos6.5上開啟了端口轉發功能。

  • echo  1 > /proc/sys/net/ipv4/ip_forward
  • sysctl  -w  net.ipv4.ip_forward=1
  • vim  /etc/sysctl.conf  , 将net.ipv4.ip_forward=0 改為 =1,然後 sysctl -p   /etc/sysctl.conf

防火牆開啟了IP轉發功能後,然後清空iptables裡面的所有規則,放行所有。win7、winXP、Rhel7都把防火牆給關了,然後四者之間就可以互相通信了。

配置防火牆使之禁止通路 ftp 服務

我們在win xp上開啟ftp服務,通過win7 和 Rhel7 可以 ftp WinXP。

Iptables防火牆實驗
Iptables防火牆實驗

現在我們要配置防火牆,使之禁止FTP服務的流量經過。因為Win7要想FTP通路WinXP,流量先經過防火牆,然後再由防火牆轉發。是以我們對防火牆的 filter 表的 FORWARD 鍊進行配置,使之拒絕FTP流量經過

iptables -t filter -A FORWARD -p tcp --dport 21 -j DROP      
Iptables防火牆實驗

可以看到,filter表中的FORWARD鍊已經加了一條拒絕TCP的21号端口通過的 規則了。然後我們再從Win7 FTP WinXP,可以看到,已經不能FTP了。

Iptables防火牆實驗
Iptables防火牆實驗

配置防火牆使得指定網段的才可以通路FTP服務

我們在防火牆上配置,使得Rhel7的才可以通路FTP服務,而Win7不能通路FTP服務。

iptables -t filter -A FORWARD -s 10.0.0.2  -p tcp --dport 21  -j ACCEPT   //filter表的FORWARD鍊允許源位址10.0.0.2的主機,目的端口21号的流量
iptables -t filter -A FORWARD -s 192.168.1.2 -p tcp --dport 21 -j DROP  //filter表的FORWAARD鍊拒絕源位址192.168.1.2的主句,目的端口21号的流量      
Iptables防火牆實驗

可以看到,filter表中的FORWARD鍊預設拒絕所有流量經過,放行源位址分别為10.0.0.0/24和20.0.0.0/24的ftp服務。

Iptables防火牆實驗
Iptables防火牆實驗

禁止PING

在防火牆上配置丢棄 icmp 協定的 request 包,也就是icmp-type為8的包

iptables -A FORWARD -p icmp --icmp-type 8 -j DROP      
Iptables防火牆實驗

可以看到,已經ping不通了,Windows系統顯示請求逾時,而Linux系統則發不出去包

Iptables防火牆實驗
Iptables防火牆實驗

而當我們配置的是拒絕icmp協定的包通過

iptables -A FORWARD -p icmp --icmp-type 8 -j REJECT      
Iptables防火牆實驗

拒絕的話,windows系統和Linux系統都是顯示目标端口不可達。

Iptables防火牆實驗
Iptables防火牆實驗

按網段禁止Ping

配置防火牆,丢棄192.168.1.0/24網段的icmp請求包,允許10.0.0.0/24網段的icmp請求包

iptables -A FORWARD -s 192.168.1.0/24 -p icmp --icmp-type 8 -j DROP
iptables -A FORWARD -s 10.0.0.0/24 -p icmp --icmp-type 8 -j ACCEPT      
Iptables防火牆實驗

可以看到,Win7已經不能ping了,而Rhel7可以ping

Iptables防火牆實驗
Iptables防火牆實驗

禁止Telnet服務

其他的和上面的一模一樣,隻是過濾規則的端口改了

iptables -A FORWARD -p tcp --dport 23 -j DROP      

按網段禁止Telnet服務

iptables -A FORWARD  -s  192.168.1.0/24  -p tcp --dport 23  -j DROP
iptables -A FORWARD  -s  20.0.0.0/24  -p  tcp  --dport 24 -j ACCEPT      

繼續閱讀