本文翻译自digitalocean的帮助文章,原文链接:https://www.digitalocean.com/community/articles/how-to-setup-a-basic-ip-tables-configuration-on-centos-6
清除所有规则:
iptables -F
阻止null数据包:
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
阻止tcp syn攻击:
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
拒绝XMAS数据包:
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
打开本地回路:
iptables -A INPUT -i lo -j ACCEPT
打开80,443端口:
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
允许本地应用的持续链接:
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
允许所有数据出去,阻止其它数据进入:
iptables -P OUTPUT ACCEPT iptables -P INPUT DROP
保存所有配置:
iptables -L -n
将配置写入文件:
iptables-save | sudo tee /etc/sysconfig/iptables
重启服务:
service iptables restart
可以将这些命令复制到一个文件,一次性执行。
iptables -F iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 465 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 995 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 993 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -P OUTPUT ACCEPT iptables -P INPUT DROP iptables -L -n service iptables save service iptables restart