我有一个NAT路由器有2个IP地址,可以说222.222.222.222和222.222.222.222与接口eth0和eth0:1相关联。
我有两台通过tap0 (OpenVPN客户端)连接到此NAT网关的服务器,IP为10.0.0.1和10.0.0.2 。 我希望他们冒充每个NAT路由器的IP地址。
到目前为止,我做了以下的iptables规则:
iptables -A PREROUTING -d 111.111.111.111/32 -i eth0 -j DNAT --to-dest 10.0.0.1 iptables -A PREROUTING -d 222.222.222.222/32 -i eth0 -j DNAT --to-dest 10.0.0.2
这是将所有传入连接路由到正确的服务器。 而且,传出连接仍然使用相同的IP地址访问网页。 如何创build一个规则来强制这些本地服务器的所有传出stream量使用其各自的外部IP地址,并实现我想要的模拟效果?
好吧,我最终自己弄明白了,但是我的问题是,这个规则必须添加在-A POSTROUTING -o eth0 -j MASQUERADE 。
iptables -t nat -A POSTROUTING -s 10.0.0.1/32 -o eth0 -j SNAT --to 111.111.111.111 iptables -t nat -A POSTROUTING -s 10.0.0.2/32 -o eth0 -j SNAT --to 222.222.222.222 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE