linux下iptables命令

建立規則
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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章