IPTables在单个端口上1:1 NAT

时间:2014-04-03 13:48:44

标签: linux networking firewall iptables nat

我试图找出如何使用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   

1 个答案:

答案 0 :(得分:2)

使用-d标志指定原始目的地。

iptables -t nat -A PREROUTING -d <external-ip> -p tcp --dport port -j DNAT --to-destination <internal-ip>:port