我正在使用iptables这样的服务器端口43上创建一个nat:
iptables -t nat -A PREROUTING -p tcp --dport 43 -j DNAT --to-destination 192.168.1.100:43
iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.100 --dport 43 -j MASQUERADE
这样工作正常,但我还想在端口43上为另一台服务器创建一个nat,但是在传入端口44(我现在占用的端口43)上这样:
iptables -t nat -A PREROUTING -p tcp --dport 44 -j DNAT --to-destination 192.168.1.101:43
iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.101 --dport 44 -j MASQUERADE
但这不起作用,我做错了什么?
答案 0 :(得分:-1)
首先,这应该更适合SuperUser SE,因为它与编程无关。
问题出在第二行。 PREROUTING DNAT完成后,dport不再是44而是43.你必须改变你的第二行
iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.101 --dport 44 -j MASQUERADE
到
iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.101 --dport 43 -j MASQUERADE