具有 iptables 和路由的 VPN:从本地网络访问端口

具有 iptables 和路由的 VPN:从本地网络访问端口

我在 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)进行访问。

非常感谢并期待您的帮助、建议!

相关内容