当 Wi-Fi 网关与 VPN 服务器网关具有相同的 IP 时,strongSwan VPN 无 LAN 访问

当 Wi-Fi 网关与 VPN 服务器网关具有相同的 IP 时,strongSwan VPN 无 LAN 访问

我最近设置了我的 StrongSwan VPN,主要遵循以下方法DigitalOcean 指南。一切都运行良好,直到我遇到这个奇怪的路由问题。

网络图如下:

+-----------+   +-----------+ Internet +------------+   +-------------+
|VPN server |___|Router     |. . . . . |WiFi gateway|___|Laptop       |
|192.168.0.2|   |192.168.0.1|          |192.168.0.1 |   |192.168.0.111|
+-----------+   +-----------+          +------------+   +-------------+

基本上,当我连接到与路由器具有相同 IP 地址(或相同网络)的 Wi-Fi 时,我将无法访问 LAN。当我尝试连接到192.168.0.XXX笔记本电脑时,它会尝试访问 Wi-Fi 路由器网络后面的主机,而不是 VPN 服务器的网络。

我怀疑这是客户端的路由问题,但当我从 iOS 连接时我无能为力。

是否有服务器设置可以阻止这种行为?

答案1

在路由方面,如果您已经在子网 192.168.0.0/24 上,那么您将通过本地连接访问它,而不会路由到任何地方。您通常会执行的是公共 IP 地址上的 VPN 服务器,支持访问其后面的专用网络。

通过 VPN 服务器建立隧道,您可以有效地为自己在该网络上提供一个适配器 - 通过隧道。

如果两个网络使用相同的网络范围,那么您的系统就无法分辨哪些机器在哪里,并且通常会将本地连接识别为比远程连接成本较低,因此将所有网络流量发送到本地。

如何解决此问题?

可能可以设置一个可以为您重新映射地址的客户端。

但是,您可能会发现在服务器上执行此操作更容易。在 VPN 服务器上设置第二个隧道,以访问不同的专用网络范围。然后在服务器上使用该范围定义一个适配器(根据您的设置,这可能很容易)。例如,您可以使用 IPTABLES 重新映射 IP 地址,但您可能需要重新映射 ARP,这有点棘手。您可以使用 arptables(通常在负载平衡器环境中使用)。

所有这些都将会是大量的工作......

相关内容