从Pvt IP到PublicIP的NAT

我有一个带有2个NIC的网关机器:具有公共IP的eth0和具有私有IP的eth1

eth0我有4个公有IP别名,我想NAT公共IP到私有IP,我用DNAT来做这个uisng iptables

 1.1.1.2 -> 10.10.10.2 1.1.1.3 -> 10.10.10.3 1.1.1.4 -> 10.10.10.4 

规则

 -A PREROUTING -d 1.1.1.2 -p tcp -j DNAT --to-destination 10.10.10.2 -A PREROUTING -d 1.1.1.3 -p tcp -j DNAT --to-destination 10.10.10.3 -A PREROUTING -d 1.1.1.4 -p tcp -j DNAT --to-destination 10.10.10.4 

现在我可以使用DNAT访问内部IP,但无法通过此私有IP与外部networking连接。

我怎样才能做到这一点? SNAT能做多个IPS吗?

似乎是你忘了添加化妆舞会规则。

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

这是一种SNAT。 它将源LAN IPreplace为源自LAN机器的路由器的外部IP包。 因此,外部机器知道发送数据包的人。

我想这是可以做到的。 只需指定-s <int ip>--to-source <ext ip>

iptables -t nat -A POSTROUTING -s 10.10.10.2 -i eth1 -j SNAT --to-source 1.1.1.2