Linux配置NAT

1、查看本机关于NAT的设置情况:

[root@tp rc.d]# iptables -t nat -L

Chain PREROUTING (policy ACCEPT)

target     prot opt source               destination       

Chain POSTROUTING (policy ACCEPT)

target     prot opt source               destination       

SNAT       all  --  192.168.0.0/24       anywhere            to:211.101.46.235

Chain OUTPUT (policy ACCEPT)

target     prot opt source               destination

这是配置好NAT的,如果没有配置NAT的话,就不需要清除,因为NAT在默认情况下是什么都没有的,如果你想清除,命令是:

[root@tp ~]# iptables -F -t nat

[root@tp ~]# iptables -X -t nat

[root@tp ~]# iptables -Z -t nat

2、添加规则

添加基本的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

如果我们向组织QQ,BT等的话,需要找到他们所有的端口或者IP,比如禁止与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

这样写范围太大,我们可以更精确的定义。

[root@tp ~]# iptables -t nat -A PREROUTING  -p tcp --dport 21 -d 211.101.46.253 -j DROP

这样只禁用211.101.46.253地址的FTP连接,其他连接还可以使用。

最后drop非法链接

[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

这样就可以写到/etc/sysconfig/iptables文件里了,写入后记得把防火墙重启一下,才能起作用。

[root@tp ~]# service iptables restart

你可能感兴趣的:(linux,NAT)