根據需求編寫一個shell腳本,增長防火牆iptables的通訊規則,控制信息流向 一、清空默認規則 。二、修改鏈的默認策略,把INPUT的改成DROP、其餘鏈爲ACCEPT。 二、增長規則:指定鏈接前狀態:RELATED和ESTABLISHED放行;目標爲本機2二、80和20端口放行;shell
#!/bin/bash ipt="/usr/sbin/iptables" $ipt -F $ipt -P INPUT DROP $ipt -P OUTPUT ACCEPT $ipt -P FORWARD ACCEPT $ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT $ipt -A INPUT -s 0.0.0.0/0 -p tcp --dport 22 -j ACCEPT $ipt -A INPUT -p tcp --dport 80 -j ACCEPT $ipt -A INPUT -p tcp --dport 21 -j ACCEPT
icmp 案例:禁止別人ping,本身能夠ping別人:把進來的icmp協議DROP掉。bash
iptables -I INPUT -p icmp --icmp-type 8 -j DROP
-type 8:指本機ping通其餘機器,而其餘機器不能ping通本機。tcp
nat應用需求:A機器能夠上外網,也能夠內網通訊,B機器只能內網通訊。 經過nat表規則,使B機器能夠經過A機器訪問外網。code
一、B機器加入內部局域網段LAN,設置ip爲:192.168.87.150ip
二、A機器的內網網卡加入內部局域網段,設置ip爲:192.168.87.130路由
三、A機器的192.168.87.130與B機器的192.168.87.150就在同一局域網內,確保能夠互相ping通能通訊。table
四、在A機器內打開端口轉發:iptables
echo "1" > /proc/sys/net/ipv4/ip_forward
五、在A機器增長nat表的路由轉發規則:防火牆
iptables -t nat -A POSTROUTING -s 192.168.87.0/24 -o eth0 -j MASQUERADE
六、這樣B機器就能經過A機器訪問外網了。通信