我刚刚完成了在 Ubuntu 12.04 上运行的 OpenVPN 服务器的设置,并且我能够从我自己的计算机(客户端)连接到它。
我能够使用指令设置 VPN 服务器以通过 VPN 路由所有流量push "redirect-gateway def1"
。当我检查我的 IP 时,它显示的不是我的真实 IP,而是 VPN IP。
我还可以限制某些流量通过 VPN。即:我的所有流量都通过我的正常互联网连接,而到我想要的服务器 (46.XX.XX.XX) 的流量则通过 VPN。我使用指令实现了这一点push "route 46.XX.XX.XX 255.255.255.255"
。这很有效:谷歌向我显示了我的真实 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 规则来实现吗?或者是不同的推送路由指令?