我在 Ubuntu Server 14.04 LTS 上使用 OpenVPN 作为客户端的商业 VPN 提供商(但也在 16.04 LTS 上进行了一些测试)。我已经配置了 iptables 和路由表来根据用户标记数据包并仅通过 tun0 路由这些数据包。其他每个用户都可以直接访问互联网(通过 eth0)。效果很好。我运行希望作为用户 vpn 通过 VPN 路由的服务,并且用户 vpn 通过 tun0 路由。
我不知道如何从本地网络访问在 vpn 用户下运行的服务端口(即通过 tun0 建立隧道)。一个具体的例子:
传输以 VPN 用户身份运行,并完全通过 tun0 进行隧道传输。 Transmission Web ui 的默认端口是 9091,因此可以使用以下命令访问 Web uihttp://服务器IP:9091 但是,我就是无法访问端口 9091。我在浏览器中没有收到任何错误消息,只是不起作用。我想我需要添加一个 iptable 条目,使 tun0 上的端口 9091 从 eth0 可用(路由?)?如果我的想法正确,正确的规则和方法是什么?传输效果很好,因为我可以使用 nginx 反向代理访问 webui,这意味着服务器上的 localhost 可以访问端口 9091,但不能通过 eth0 访问本地网络。
我不需要从WAN端进行端口访问,所以它基本上与我使用的VPN提供商无关,我只需要从我的本地网络(192.168.1.0/24)进行访问。
非常感谢并期待您的帮助、建议!