-A:新增長一條規則,該規則在原規則的最後面網絡
-p:規定應用於哪一種數據包,例如:tcp,udp等ssh
-d:(destination),表示目標IP或網絡tcp
-s:(source),表示源IP或網絡ip
-j:後面接動做,例如:ACCEPT,DROP,REJECT等input
-i:後面接網卡名,input的縮寫,與INPUT鏈配合it
-o:後面接網卡名,output縮寫,與output鏈配合io
-L:列出目前的table原則table
-n:不進行IP與HOSTNAME的反查配置
-v:列出更多信息iptables
-F:清楚全部的已定製的規則
-X:清楚全部用戶"自定義"的chain或者tables
-Z:將全部的chain的計數與流量統計都歸零
注意:
在 -s 參數後面能夠增長一個參數 -sport 端口範圍(限制來源端口),如:1024:65535
在-d 參數後面能夠增長一個參數 -dport 端口範圍(限制目標端口)
須要特別注意,這兩個參數重點在port上面,而且僅有TCP和UDP數據包具備端口,所以要想使用–dport,–sport時須要加上-p tcp或者 -p udp纔會成功
經常使用用法:
來自192.168.100.10的就接受,來自192.168.100.11就拋棄
iptables -A INPUT -i eth0 -s 192.168.100.10 -j ACCEPT
iptables -A INPUT -i eth0 -s 192.168.100.11 -j DROP
iptables -I INPUT -i eth0 -s 192.168.100.0/24 -j ACCEPT
丟棄全部想要連接本機21端口的數據包
iptables -A INPUT -i eth0 -p tcp --dport 21 -j DROP
禁止某個IP訪問80端口
iptables -A INPUT -s "IP" -p tcp --dport 80 -j DROP
只要來自192.168.1.0/24的1024:65535端口的數據包,且想要鏈接的本機的ssh port就阻擋
iptables -A INPUT -i eth0 -p tcp -s 192.168.1.0/24 --sport 1024:65535 --dport ssh -j DROP
開啓經常使用端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 3306 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
操做命令
保存防火牆配置
/etc/init.d/iptables save
開機自啓動防火牆
chkconfig iptables on
查看運行狀態
/etc/init.d/iptables status
未完待續