将端口转发到远程服务器?

将端口转发到远程服务器?

如何将本地端口转发到远程主机/端口?

我尝试过使用:

sudo iptables -t nat -A PREROUTING -p tcp --dport <PORT> -j DNAT --to-destination <DESTINATION_SERVER>:<DESTINATION_PORT>

答案1

端口转发有一个重要的警告DNAT

  • 转发流量来自外部来源对于远程端口,iptablesDNAT规则应该位于PREROUTING链中,与您指定的完全相同。

  • 但要转发本地起源的OUTPUT流量到远程端口时,您将需要在表链中使用类似的规则nat

因此,如果您希望将前往特定本地端口的所有流量(本地生成的流量和传入流量)转至远程服务器,则需要两个规则:

iptables -t nat -A PREROUTING -p tcp --dport <PORT> -j DNAT --to-destination <DESTINATION_SERVER>:<DESTINATION_PORT>
iptables -t nat -A OUTPUT -p tcp --dport <PORT> -j DNAT --to-destination <DESTINATION_SERVER>:<DESTINATION_PORT>

相关内容