通过 VPN 访问托管在与 VPN 相同的服务器上的网站

Tit*_*iti 5 nginx openvpn

我刚刚完成了在 Ubuntu 12.04 上运行的 OpenVPN 服务器的设置,并且我已经能够从我自己的计算机(客户端)连接到它。

我能够设置 VPN 服务器以通过带有push "redirect-gateway def1"指令的 VPN 路由所有流量。当我检查我的 IP 时,它没有显示我的真实 IP,而是显示了 VPN IP。

我还可以限制某些流量通过 VPN。即:我所有的流量都通过我的正常互联网连接,而我想要的服务器 (46.XX.XX.XX) 的流量通过 VPN。我通过push "route 46.XX.XX.XX 255.255.255.255"指令实现了这一点。这很好用:google 正在向我显示我的真实 IP 地址,当我在 46.XX.XX.XX 服务器上跟踪 nginx 访问日志时,我可以看到流量来自 VPN。

一切正常,我对此很满意,但在我的 VPN 服务器上,我还使用 Nginx 托管了其他一些网站。如果我在这些站点上跟踪访问日志,它会显示我的真实 IP 地址,因此到 VPN 服务器本身的流量不会通过 VPN(即使我通过 VPN 指令执行“直接所有流量”)。

阅读它,我明白这是正常的,因为进入 VPN 服务器本身的流量没有机会通过 VPN 重新路由。我在任何地方都找不到,是关于如何设置 VPN 服务器配置的一些信息,以便我可以通过 VPN 访问托管在我的 VPN 服务器上的网站。

我的 Iptables 只有一个规则:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

我的最终目标是能够通过 VPN 将流量传输到 VPN 服务器本身,然后我将能够限制对我的网站的访问(通过允许/拒绝规则),以便它只能被连接的人访问到 VPN)。

这是可以通过更多的 iptables 规则来实现的吗?或不同的推送路线指令?