连接到 VPN 时无法 ping 其他本地子网

连接到 VPN 时无法 ping 其他本地子网

我有一个由多个子网组成的本地网络,我们将它们称为子网 A 和 B。正如预期的那样,子网 A 中的一个客户端可以 ping 通子网 A 和子网 B 内的其他客户端。但是,一旦我连接到远程 VPN,客户端就无法再 ping 通子网 B 上的其他客户端(但可以 ping 通子网 A 上的客户端)。

当我使用 traceroute 来查明它的去向时,第一个条目显示它将前往为 VPN 网络配置的 IP(这并不奇怪)。

所以我猜测这要么是我的 VPN 设置有问题(使用 Tunnelblick/OpenVPN),要么是我的路由器有问题(使用 EdgeLite 路由器)。

但是,怎样才能解决这个问题呢?


更新(2017 年 11 月 15 日下午 2:03 MST)

@Zoredache 谢谢你的回答。

我发现我可以使用“netstat -r”来显示路由表。我在连接和未连接 VPN 的情况下都对路由表进行了采样,得到了我所期望的结果。连接到 VPN 时,唯一的区别是 utun1 网络接口上添加了新的目标地址。但我确实注意到了一些奇怪的事情……

$ netstat -r
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
...    
10                 192.168.237.17     UGSc            2        0   utun1
...

这里的“10”地址是什么?真的所有目的地 10.xxx... 都被路由到 VPN 服务器了吗?它是如何进入路由表的?如何将其删除?这是 VPN 服务器端的问题吗?我怀疑这是我的问题。

答案1

如何解决这个问题

你首先要看看你的路由表路由表定义了数据包将被发送到哪里。当您的 VPN 连接时,您的路由会有所不同,因此数据包会遵循不同的路径。您需要创建将流量发送到正确网关的路由。

相关内容