我的目的是通过这种方式对所有端口和协议上到达 eth0 的所有 IP 地址进行 NAT(转换):192.168.55.x -> 192.168.42.x(我启用了 ip 转发,192.168.42.0/24 子网位于 eth1 上)。我可以为每对这样的一行一台主机执行此操作,例如 x=20:
iptables -t nat -A PREROUTING -i eth0 -d 192.168.55.20 -j DNAT --to 192.168.42.20
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.42.20 -j SNAT --to 192.168.55.20
Run Code Online (Sandbox Code Playgroud)
但是我找不到一种方法来翻译所有 253 个可能的主机。我试过这个:
iptables -t nat -A PREROUTING -i eth0 -d 192.168.55.0/24 -j DNAT --to 192.168.42.0-192.168.42.255
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.42.20/24 -j SNAT --to 192.168.55.0-192-168.55.255
Run Code Online (Sandbox Code Playgroud)
这会导致随机主机转换。用于负载平衡。但是如何获得简单的一对一翻译呢?
谢谢你。