QUOTE:eth0是192.168.32.21,eth1是10.0.0.21 , 現在跑完這個腳本後從其他機器ping 192.168.32.21就不通了,而10.0.0.21是可以ping通的
既然只是 ping 而已,只看 INPUT 與 OUTPUT 就好,然後丟掉不相關的:
PRIVATE=192.168.32.0/24
LOOP=127.0.0.1
iptables -P OUTPUT ACCEPT
iptables -P INPUT DROP
iptables -A INPUT -i eth0 -s $LOOP -j DROP
iptables -A INPUT -i eth0 -d $LOOP -j DROP
iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j DROP
iptables -A INPUT -i eth0 -s 172.16.0.0/12 -j DROP
iptables -A INPUT -i eth0 -s 10.0.0.0/8 -j DROP
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state NEW -o eth0 -j ACCEPT
复制代码
很明顯的配置結論:
iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j DROP
iptables -A INPUT -i eth0 -s 172.16.0.0/12 -j DROP
iptables -A INPUT -i eth0 -s 10.0.0.0/8 -j DROP
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
复制代码
你都是給 private ip,我猜你的 client 端 ip 不是 192.168.0.0/16, 要不然就 10.0.0.0/8 範圍內 ip。而這個 rule 來看透過 eth0 傳入介面封包規則來看就拒絕禁止存取,所以您怎麼可能可以 ping 這台機器呢 ?
若你要每個 rule 說明,個人建議你可以去網絡版置頂文章,先把白金那篇玩 iptables 講義文件與錄音聽過一次,另外配合閱讀 iptables 設定常見 faq 有幫助

--
--