我需要将进入 1.1.1.100 的云配置 Ubuntu VPS 的 1234 端口的流量转发到本地 Windows 计算机 (192.168.0.200,位于 2.2.2.200 / 192.168.0.1 的路由器后面) 的 5678 端口,但保留原始 IP 地址。路由器将端口 5678 转发到 Windows 计算机。
当我在 VPS 上运行此命令时:
iptables -t nat -A PREROUTING -p tcp --dport 1234 -j DNAT --到目标 2.2.2.200:5678 iptables -t nat -A POSTROUTING -p tcp -d 2.2.2.200 --dport 5678 -j SNAT --到源 1.1.1.100
这样可以转发数据包,但 2.2.2.200 的服务器认为所有数据包都来自 1.1.1.100。原始 IP 丢失。
问题 1:我仅使用 VPS 上的 iptables 就能完成我需要的任务吗?(我认为答案是否定的,但我希望我是错的。)
问题 2:我可以操纵 2.2.2.200 路由器上的 iptables 和/或路由来实现此目的吗?我需要在路由器的 iptables 中添加什么,以及我需要在 VPS 的 iptables 中更改什么?