我需要从互联网访问我的家庭 http 服务,但我只有 LTE ISP,它为我提供了动态内部 IP,该 IP 与动态公共 IP 不同。因此,直接端口转发不起作用。
我在 DigitalOcean 上确实有运行 Ubuntu 的 VPS。在家里,我有 Mikrotik SXT LTE 调制解调器和 RB2011 路由器。我在 Ubuntu 上设置了 PPTP,并且可以在路由器上使用 PPTP - 运行正常。服务在 192.168.1.46 的本地设备上运行。
我如何将 Ubuntu 端口转发到它的 PPTP 客户端(即我的路由器),然后再转发到网络设备?
答案1
您可以进行端口转发,但您需要对另一个方向的流量进行 NAT,否则它将无法工作。
在Ubuntu:
- eth0 为上行链路
- ppp0 是 pptp 连接
- xx 是服务的 TCP 端口
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport xx -j DNAT --to 192.168.1.46
iptables -t nat -A POSTROUTING -o ppp0 -d 192.168.1.46 -p tcp --dport xx -j MASQUERADE
你还必须在 ubuntu 上启用 ipv4 转发