如果沒有安裝iptables可以直接用yum安裝
yum install -t iptables
檢查iptables服務的狀態(tài),
service iptables status
如果出現(xiàn)“iptables: Firewall is not running”,說明沒有啟動或沒有規(guī)則
啟動iptables服務
service iptables start
第一次配置前消除默認的規(guī)則
#這個一定要先做,不然清空后可能會悲劇iptables -P INPUT ACCEPT#清空默認所有規(guī)則 iptables -F#清空自定義的所有規(guī)則 iptables -X#計數(shù)器置0 iptables -Z
配置規(guī)則
#如果沒有此規(guī)則,你將不能通過127.0.0.1訪問本地服務,例如ping 127.0.0.1 iptables -A INPUT -i lo -j ACCEPT #開啟ssh端口22 iptables -A INPUT -p tcp --dport 22 -j ACCEPT#開啟FTP端口21 iptables -A INPUT -p tcp --dport 21 -j ACCEPT#開啟web服務端口80iptables -A INPUT -p tcp --dport 80 -j ACCEPT#tomcat iptables -A INPUT -p tcp --dport 8080 -j ACCEPT#mysql iptables -A INPUT -p tcp --dport xxxx -j ACCEPT#允許icmp包通過,也就是允許ping iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT#允許所有對外請求的返回包 #本機對外請求相當于OUTPUT,對于返回數(shù)據包必須接收啊,這相當于INPUT了 iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT#如果要添加內網ip信任(接受其所有TCP請求) iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT#每秒中最多允許5個新連接iptables -A FORWARD -p tcp --syn -m limit --limit 1/s --limit-burst 5 -j ACCEPT#每秒中最多允許5個新連接iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT#Ping洪水攻擊iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT#封單個IP的命令是:iptables -I INPUT -s 222.34.135.106 -j DROP#封IP段的命令是:iptables -I INPUT -s 211.1.0.0/16 -j DROPiptables -I INPUT -s 211.2.0.0/16 -j DROPiptables -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 DROPiptables -I INPUT -s 61.37.81.0/24 -j DROP#過濾所有非以上規(guī)則的請求 iptables -P INPUT DROP
保存重啟
service iptables saveservice iptables restart
刪除規(guī)則用-D參數(shù)
刪除之前添加的規(guī)則(iptables -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT)
iptables -D INPUT -p tcp -m tcp --dport 8080 -j ACCEPT