Linux 使用 iptables屏蔽IP段


netfilter/iptables IP 信息包過濾系統是一種功能強大的工具,可用於添加、編輯和除去規則,這些規則是在做信息包過濾決定時,防火牆所遵循和組成的規則。這些規則存儲在專用的信息包過濾表中,而這些表集成在 Linux 內核中。在信息包過濾表中,規則被分組放在我們所謂的鏈(chain)中。

netfilter/iptables 的最大優點是它可以配置有狀態的防火牆,這是 ipfwadm 和 ipchains 等以前的工具都無法提供的一種重要功能。有狀態的防火牆能夠指定並記住為發送或接收信息包所建立的連接的狀態。防火牆可以從信息包的連接跟蹤狀態獲得該信息。在決定新的信息包過濾時,防火牆所使用的這些狀態信息可以增加其效率和速度。這里有四種有效狀態,名稱分別為 ESTABLISHED 、 INVALID 、 NEW 和 RELATED 。 

#添加屏蔽IP
#禁止此IP訪問服務器
iptables -I INPUT -s 1.2.3.4 -j DROP

iptables -A INPUT -s 1.2.3.4 -j DROP
重新打開該IP訪問
iptables -D INPUT -s 1.2.3.4 -j DROP

#禁止服務器訪問此IP
iptables -A OUTPUT -d 1.2.3.4 -j DROP
如果要封某個網段:
iptables -I INPUT -s 1.2.3.0/24 -j DROP

#清空屏蔽IP
iptables -t filter -D INPUT -s 1.2.3.4 -j DROP
iptables -t filter -D OUTPUT -d 1.2.3.4 -j DROP

#一鍵清空所有規則
iptables -F

#查看
iptables -L INPUT

iptables -L

iptables-save(此命令將保存規則,下次開機自動執行)

#處理IP碎片數量,防止攻擊,允許每秒100個
iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
#設置ICMP包過濾,允許每秒1個包,限制觸發條件是10個包
iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT





Linux下iptables屏蔽IP和端口號

封單個IP的命令:iptables -I INPUT -s 124.115.0.199 -j DROP

封IP段的命令:iptables -I INPUT -s 124.115.0.0/16 -j DROP

封整個段的命令:iptables -I INPUT -s 194.42.0.0/8 -j DROP

封幾個段的命令:iptables -I INPUT -s 61.37.80.0/24 -j DROP

只封80端口:iptables -I INPUT -p tcp –dport 80 -s 124.115.0.0/24 -j DROP

解封:iptables -F

清空:iptables -D INPUT 數字

 

列出 INPUT鏈 所有的規則:iptables -L INPUT --line-numbers

刪除某條規則,其中5代表序號(序號可用上面的命令查看):iptables -D INPUT 5

開放指定的端口:iptables -A INPUT -p tcp --dport 80 -j ACCEPT

禁止指定的端口:iptables -A INPUT -p tcp --dport 80 -j DROP

拒絕所有的端口:iptables -A INPUT -j DROP

 

以上都是針對INPUT鏈的操作,即是外面來訪問本機的方向,配置完之后 需要保存,否則iptables 重啟之后以上設置就失效

service iptables save

iptables 對應的配置文件  /etc/sysconfig/iptables

注意:iptables的規則匹配順序上從上到下的,也就是說如果上下兩條規則有沖突時,將會以上面的規則為准。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM