#允许本地回环接口(即运行本机访问本机)
iptables -A INPUT -i lo -j ACCEPT
# 允许已建立的或相关连的通行
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允许所有本机向外的访问
iptables -A OUTPUT -j ACCEPT
#ping使用的端口
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
#允许FTP服务的21和20端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#允许服务器自己的SSH(对外部请求来说服务器是目标所以使用--dport)
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
#80端口不用说了吧,服务器网站访问端口
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
#######iptables -A INPUT -p tcp -m tcp --dport 11211 -j ACCEPT
#######iptables -A INPUT -p tcp -m tcp --dport 11212 -j ACCEPT
iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited
#53端口是DNS相关,TCP和UDP都要配置
iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT
减少不安全的端口连接
[[email protected] ~]# iptables -A OUTPUT -p tcp --sport 31337 -j DROP
[[email protected] ~]# iptables -A OUTPUT -p tcp --dport 31337 -j DROP
丢弃坏的TCP包
[[email protected] ~]#iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP
处理IP碎片数量,防止攻击,允许每秒100个
[[email protected] ~]#iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包.
[[email protected] ~]#iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
#VPN-PPTP
iptables -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
#ss5
iptables -A INPUT -p tcp -m tcp --dport 1080 -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
[[email protected] ~]# /etc/rc.d/init.d/iptables save
[[email protected] ~]# service iptables restart
______________________________________________________________
#ping使用的端口
-A OUTPUT -p icmp -j ACCEPT
-A OUTPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT
-A OUTPUT -s 192.168.2.200/32 -d 192.168.2.200/32 -j ACCEPT
#允许服务器SSH到其他机器(使用外部端口就使用--dport)
-A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT
#允许服务器自己的SSH(自已为源输出就使用--sport)
-A OUTPUT -p tcp -m tcp --sport 22 -j ACCEPT
#访问外部网站80端口(使用外部端口就使用--dport)
-A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
#如果服务器需要访问外部网站,那么OUTPUT也需要配置53端口(使用外部端口就使用--dport)
-A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
#如果有访问外部邮箱,那么打开邮箱相关端口(使用外部端口就使用--dport)
-A OUTPUT -p tcp -m tcp --dport 465 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 110 -j ACCEPT
#服务器网站访问端口(自已为源输出就使用--sport)
-A OUTPUT -p tcp -m tcp --sport 80 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 3306 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 11211 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 11212 -j ACCEPT
________________________________________________________________
#屏蔽单个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
指令I是insert指令 但是该指令会insert在正确位置并不像A指令看你自己的排序位置,因此用屏蔽因为必须在一开始就要加载屏蔽IP,所以必须使用I命令加载,然后注意执行/etc/rc.d/init.d/iptables save进行保存后重启服务即可
——————————————————————————————————————————
配置导入导出
[[email protected] ~]# iptables-save > /opt/iptables.txt###备份所有表的规则
[[email protected] ~]# iptables-restore < /opt/iptables.txt###备份所有表的规则