![使用真实 IP 地址进行端口转发](https://linux22.com/image/1416494/%E4%BD%BF%E7%94%A8%E7%9C%9F%E5%AE%9E%20IP%20%E5%9C%B0%E5%9D%80%E8%BF%9B%E8%A1%8C%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91.png)
如何实现端口转发,这样主机上才会显示真实IP,而机器上没有IP,就像自带的SNAT DNET和IPTABLES一样
该计划是关于
机器-HETE IP 为 1.2.3.4
机器-HETE IP 4.5.6.7
如果真是这样的话,该计划的工作原理如下
客户端 IP 为 9.8.7.6敲入IP 1.2.3.4:27015>转换???>IP 4.5.6.7:27234客户端 IP 为 9.8.7.6
那是IPTABLES上的规则,但是这样的规则,我看不到真实的IP地址,请帮忙
iptables-t nat-A PREROUTING-p udp - dport 27015-j DNAT - to-destination 46.174.50.44:27231
iptables-t nat-A POSTROUTING-j MASQUERADE
顺便说一下,UDP 用于
答案1
是的,DNAT 绝对是你想要的。但你的问题到底是什么?唯一必要的规则非常简单:
iptables -t nat -A PREROUTING -p udp -i eth0 -d 1.2.3.4 --dport 27015 -j DNAT --to-destination 4.5.6.7:27015
...eth0
要使用的网络接口和1.2.3.4
要处理的目的地在哪里。当然,如果您的服务器只有一个接口或只有一个 IP 地址,则可以省略这些。
我现在懒得测试,但是我确信由于响应数据包的返回路径不同,会出现一些问题。