CentOS用iptables封IP的方法
1、安裝iptables防火牆
CentOS執行:yum install iptables
Debian/Ubuntu執行:apt-get install iptables
2、清除已有iptables規則
iptables -F
iptables -X
iptables -Z
3、開放指定的連接埠
#允許本地迴環介面(即運行本機訪問本機)
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
# 允許已建立的或相關連的通行
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
#允許所有本機向外的訪問
iptables -A OUTPUT -j ACCEPT
# 允許訪問22連接埠
iptables -A INPUT -p tcp –dport 22 -j ACCEPT
#允許訪問80連接埠
iptables -A INPUT -p tcp –dport 80 -j ACCEPT
#允許FTP服務的21和20連接埠
iptables -A INPUT -p tcp –dport 21 -j ACCEPT
iptables -A INPUT -p tcp –dport 20 -j ACCEPT
#如果有其他連接埠的話,規則也類似,稍微修改上述語句就行
#禁止其他未允許的規則訪問
iptables -A INPUT -j REJECT
iptables -A FORWARD -j REJECT
4、屏蔽IP
#如果只是想屏蔽IP的話3、“開放指定的連接埠”可以直接跳過。
#屏蔽單個IP的命令是
iptables -I INPUT -s 123.45.6.7 -j DROP
#封整個段即從123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP
#封IP段即從123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP
#封IP段即從123.45.6.1到123.45.6.254的命令是
iptables -I INPUT -s 123.45.6.0/24 -j DROP
4、查看已添加的iptables規則
iptables -L -n
v:顯示詳細資料,包括每條規則的匹配包數量和匹配位元組數
x:在 v 的基礎上,禁止自動單位換算(K、M)
n:只顯示IP地址和連接埠號碼,不將ip解析為網域名稱
5、刪除已添加的iptables規則
將所有iptables以序號標記顯示,執行:
iptables -L -n –line-numbers
比如要刪除INPUT裡序號為1的規則,執行:
iptables -D INPUT 1
6、iptables的開機啟動及規則儲存
chkconfig –level 345 iptables on
CentOS上可以執行:service iptables save儲存規則
linux下使用iptables封ip段的一些常見命令:
封單個IP的命令是:
iptables -I INPUT -s 211.1.0.0 -j DROP
封IP段的命令是:
iptables -I INPUT -s 211.1.0.0/16 -j DROP
iptables -I INPUT -s 211.2.0.0/16 -j DROP
iptables -I INPUT -s 211.3.0.0/16 -j DROP
封整個段的命令是:
iptables -I INPUT -s 211.0.0.0/8 -j DROP
封幾個段的命令是:
iptables -I INPUT -s 61.37.80.0/24 -j DROP
iptables -I INPUT -s 61.37.81.0/24 -j DROP
解鎖的話:
iptables -D INPUT -s IP地址 -j REJECT
iptables -F 全清掉了
關閉: /etc/rc.d/init.d/iptables stop
啟動: /etc/rc.d/init.d/iptables start
重啟: /etc/rc.d/init.d/iptables restart
1、重啟後生效
開啟:chkconfig iptables on
關閉:chkconfig iptables off
2、即時生效,重啟後失效
開啟:service iptables start
關閉:service iptables stop