来自于
Linux iptables Pocket Reference
Source NAT(SNAT) 是用来在多台电脑之间分享上网的,充当gateway的电脑用SNAT(同时开启connection tracking)来重写内外网之间的包。向外去的包被打上gateway的IP地址。当外部响应后,会建立到网关IP的连接,网关接收到这些包后,网关截获到这些包后,把目标地址转到成正确的内部电脑上。
因为SNAT 是在包离开内核之前接受修改了它的地址和/或端口,在NAT表中表现为POSTROUTING.
在iptables中有两种实现SNAT的方式:
目标操作为SNAT,在网关ip是固定的时候
iptables -t nat -A POSTROUTING -o eth1 -j SNAT
而使用MASQUERADE是防止掉线后再连接ip地址发生变化的出现。
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
如果用ip的方式全部转发给192.168.1.16可用
/sbin/iptables -t nat -A POSTROUTING -j SNAT --to-source 192.168.1.16
forwarder 机器
-A PREROUTING -p tcp -m tcp --dport 30101 -j DNAT --to-destination 74.12.20.82:443 -A POSTROUTING -d 74.12.20.82/32 -p tcp -m tcp --dport 443 -j MASQUERADE
Leave a Reply