前言:iptables設置請當心操做、防止端口與遠程服務器鏈接服務器
一、查看filter表
iptables -L -n --line-number
注:查看filter表
iptables -t nat -L
注:查看nat表設置狀況
二、刪除已有規則(慎用)
iptables -F
iptables --flush
三、開放本機lo環回口、建議開放、不開放出現莫名其妙問題
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
四、屏蔽指定IP
BLACK_THIS_IP="x.x.x.x"
iptables -A INPUT -i eth0 -p tcp -s "BLACK_THIS_IP="x.x.x.x" -j DROP
注:以上命令設置由BLACK_THIS_IP發往eth0網口tcp包丟棄
五、添加規則
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
//開放22號端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
//開放80端口
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
//容許icmp包經過
注:其餘端口格式同上,依次添加
六、指定包匹配狀態
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
//指定包爲創建鏈接新鏈接、指定包輸入已經創建的鏈接
注:鏈接狀態4種
NEW:從新鏈接或鏈接重定向
RELATED:指定包爲創建鏈接新鏈接
ESTABLISHED:指定包輸入已經創建的鏈接
INVALID:改包不匹配任何鏈接、一般DROP
七、設置chain策略
filter table ,默認chain爲ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
注:以上配置將接受、轉發和發出包均丟棄,開啓以後需配置INPUT,OUTPUT策略
八、iptables規則刪除
iptables -D chain rulenum
注:chain即鏈,如INPUT、OUTPUT、FORWARD
rulenum即規則編號
九、iptables插入規則
iptables -I chain rulenum rule
注:-I插入
chain即鏈,如INPUT、OUTPUT、FORWARD
rulenum即規則編號
rule即追加規則
十、保存iptalbes規則
/etc/init.d/iptables save
十一、重啓iptables
/etc/init.d/iptables restart
注:建議遠程調試iptables時,事先設置crontab定時關閉iptables,防止ssh端口斷開。