建立規則
iptables -A INPUT -s xxx.xxx.xxx.xx -p tcp --dport 80 -j DROP
移除規則
iptables -D INPUT -s xxx.xxx.xxx.xx -p tcp --dport 80 -j DROP
常用操作命令: (可以--help查看)
-A 或 -append 在所選鏈尾加入一條或多條規則
-D 或 -delete 在所選鏈尾部刪除一條或者多條規則
-R 或 -replace 在所選鏈中替換一條匹配規則
-I 或 -insert 以給出的規則號在所選鏈中插入一條或者多條規則. 如果規則號爲1,即在鏈頭部.
-L 或 -list 列出指定鏈中的所有規則,如果沒有指定鏈,將列出鏈中的所有規則.
-F 或 -flush 清除指定鏈和表中的所由規則, 假如不指定鏈,那麼所有鏈都將被清空.
-N 或 -new-chain 以指定名創建一條新的用戶自定義鏈,不能與已有鏈名相同.
-X 或 -delete-chain 刪除指定的用戶定義簾,必需保證鏈中的規則都不在使用時才能刪除,若沒有指定鏈,則刪除所有用戶鏈.
-P 或 -policy 爲永久簾指定默認規則(內置鏈策略),用戶定義簾沒有缺省規則,缺省規則也使規則鏈中的最後一條規則,用-L顯示時它在第一行顯示.
-C 或 -check 檢查給定的包是否與指定鏈的規則相匹配.
-Z 或 -zero 將指定簾中所由的規則包字節(BYTE)計數器清零.
-h 顯示幫助信息.
設置鏈的默認策略。一般有兩種方法。
1)首先允許所有的包,然後再禁止有危險的包通過放火牆。
#iptables -P INPUT ACCEPT
#iptables -P OUTPUT ACCEPT
#iptables -P FORWARD ACCEPT
2)首先禁止所有的包,然後根據需要的服務允許特定的包通過防火牆。
#iptables -P INPUT DROP
#iptables -P OUTPUT DROP
#iptables -P FORWARD DROP
添加規則
# iptables -A INPUT -p tcp –dport 22 -j ACCEPT
# iptables -A OUTPUT -p tcp –sport 22 -j ACCEPT
開啓22端口, 允許SSH登錄
如開啓80端口:
# iptables -A INPUT -p tcp –dport 80 -j ACCEPT
# iptables -A OUTPUT -p tcp –sport 80 -j ACCEPT
禁止某個IP訪問
# iptables -I INPUT -s x.x.x.x -j DROP
也可進行更細緻的設置, 如只允許192.168.1.14的機器進行SSH連接:
# iptables -A INPUT -p tcp –dport 22 -s 192.168.1.14 -j ACCEPT
如果要允許或限制一段IP地址可用192.168.1.0/24 表示192.168.1.1-255端的所有IP.
防止同步包洪水(Sync Flood)
# iptables -A FORWARD -p tcp –syn -m limit –limit 1/s -j ACCEPT
防止各種端口掃描
# iptables -A FORWARD -p tcp –tcp-flags SYN,ACK,FIN,RST RST -m limit –limit 1/s -j ACCEPT
Ping 洪水***(Ping of Death)
# iptables -A FORWARD -p icmp –icmp-type echo-request -m limit –limit 1/s -j ACCEPT
重啓防火牆:
service iptables restart