Linux培训心得之Iptables学习心得(2)

NAT实例:
iptables -t nat -A PREROUTING -i ethl -p tcp - -dport 80 -j DNAT - - to -destination 192.168.1.3:8080
把要进入eth1(eth1连接外网)80端口的数据包,重新定向到192.168.1.3的8080端口。
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT
--to-dest 192.168.1.3 --to-dest 192.168.1.4 --to-dest 192.168.1.5

上面这句第一个请求被发到192.168.1.3,第二个发到192.168.1.4如此循环,实现载量平衡。
上面的语句可以使外网的访问内网开通8080端口的WEB 服务器,那么内网的WEB服务器如何将数据传出去呢?这个时候要通过SNAT来实现了。
iptables -t nat -A POSTROUTING -j SNAT
iptables -t nat -A POSTROUTING -j SNAT --to-source 192.168.1.3-192.168.1.9
iptables -t nat -A POSTROUTING -j SNAT --to-source 192.168.1.3:123
iptables -t nat -A POSTROUTING -j SNAT --to-source 192.168.1.3:123-234
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
第一种方法是直接使用SNAT为目标,这种方法适合用在具有固定IP地址的网关器,另一种方法是使用是使用MASQUERADE为目标,适合用于只有动态IP地址的网关器(例如,使用PPPoE协定的ADSL连线)。由于由于MASQUERADE能够应付网络界面忽然离线,然后以另一个地址恢复上线的情况,所以它转换逻辑比较复杂些,需要耗损比较多的CPU运算能力,因此,如果你有固定的IP地址,就应该尽量使用SNAT来代替MASQUERADE。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/26678.html