我试图找出如何使用IPTables添加1:1 NAT,但只在单个端口上,我知道如何转发所有流量,但似乎无法在单个端口上找到任何内容,例如
192.168.1.1:21 -> 172.16.1.1:21
192.168.1.2:21 -> 172.16.1.2:21
192.168.1.3:21 -> 172.16.1.3:21
192.168.1.4:21 -> 172.16.1.4:21
我不能这样说只允许一个端口,因为还有其他应用程序也在其他端口上进行流量重定向。
到目前为止我所有的都是这样的,但它没有指定它最初作为参数登陆的IP。
sysctl net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -p tcp --dport port -j DNAT --to-destination ip:port
iptables -t nat -A POSTROUTING -j MASQUERADE
答案 0 :(得分:2)
使用-d标志指定原始目的地。
iptables -t nat -A PREROUTING -d <external-ip> -p tcp --dport port -j DNAT --to-destination <internal-ip>:port