将全部 TCP 流量从端口路由至另一台主机:端口

将全部 TCP 流量从端口路由至另一台主机:端口

我有一个 wireguard 配置,在远程服务器(10.0.1.1)和我的本地机器(10.0.1.2)之间创建一个 VPN,以便服务器可以访问本地机器,反之亦然。

我希望服务器将端口上的所有传入 TCP 连接路由8000到我的本地机器。

我尝试过的:

这个答案

iptables -t nat -I PREROUTING -p tcp --dport 8000 -j DNAT --to-destination 10.0.1.2:8000
iptables -t nat -I POSTROUTING -p tcp --dport 8000 -d 10.0.1.2 -j MASQUERADE

还有这个答案(quora)

iptables -t nat -A PREROUTING -p tcp --dport 8000 -j DNAT --to-destination 10.0.1.2:8000
iptables -t nat -D POSTROUTING -j MASQUERADE

还尝试过这个:

iptables -t nat -A POSTROUTING -p tcp -d 10.0.1.2 --dport 8000 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp --dport 8000 -j DNAT --to-destination 10.0.1.2:8000

它们都不起作用(无法通过互联网访问)。

当然,我可以设置一个nginx服务器来执行此操作,但是,它并不像我希望的那样可靠和强大(例如 websocket 连接)。

VPN 连接和防火墙运行正常:我既可以curl从远程服务器的 shell 访问本地计算机上的服务器,也可以访问在远程服务器8000端口上启动的 HTTP 服务器。此外,sysctl net.ipv4.ip_forward1

相关内容