在做NAT网络配置时,FORWARD默认规则是DROP时,必须开启数据包转发功能
[root@tp ~]# iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT [root@tp ~]# iptables -A FORWARD -i eth1 -o eh0 -j ACCEPT丢弃坏的TCP包
[root@tp ~]#iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP处理IP碎片数量,防止DDOS攻击,允许每秒100个
[root@tp ~]#iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT设置ICMP包过滤, 允许每秒1个包, 限制触发条件是10个包
[root@tp ~]#iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPTDROP非法连接
[root@tp ~]# iptables -A INPUT -m state --state INVALID -j DROP [root@tp ~]# iptables -A OUTPUT -m state --state INVALID -j DROP [root@tp ~]# iptables -A FORWARD -m state --state INVALID -j DROP允许所有已经建立的和相关的连接
[root@tp ~]# iptables-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT [root@tp ~]# iptables-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT [root@tp ~]# /etc/rc.d/init.d/iptables save 3. 配置NAT表防火墙
查看本机关于NAT的设置情况
[root@tp rc.d]# iptables -t nat -L
清除NAT规则
[root@tp ~]# iptables -F -t nat [root@tp ~]# iptables -X -t nat [root@tp ~]# iptables -Z -t nat
添加规则
添加基本的NAT地址转换,添加规则时,我们只添加DROP链,因为默认链全是ACCEPT。
防止外网用内网IP欺骗
[root@tp sysconfig]# iptables -t nat -A PREROUTING -i eth0 -s 10.0.0.0/8 -j DROP [root@tp sysconfig]# iptables -t nat -A PREROUTING -i eth0 -s 172.16.0.0/12 -j DROP [root@tp sysconfig]# iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/16 -j DROP禁止与211.101.46.253的所有连接
[root@tp ~]# iptables -t nat -A PREROUTING -d 211.101.46.253 -j DROP禁用FTP(21)端口
[root@tp ~]# iptables -t nat -A PREROUTING -p tcp --dport 21 -j DROP只禁用211.101.46.253地址的FTP连接,其他连接可以进行。
[root@tp ~]# iptables -t nat -A PREROUTING -p tcp --dport 21 -d 211.101.46.253 -j DROP更多iptables相关教程见以下内容:
CentOS 7.0关闭默认防火墙启用iptables防火墙
Ubuntu 14.04 配置iptables防火墙