我试图更好地了解流量是如何通过 Windows 机器上的 VPN 路由的。
我在公司有一台可以正常工作的 VPN 服务器,我在家里连接到它。我的网络子网是 192.168.8.x
vpn 服务器的子网是 192.168.1.x
如果我右键单击已建立的 vpn 连接并查看连接详细信息,则不会列出网络接口的默认网关。只有一个 IP 地址、子网掩码和 DNS。
我的理解是,如果您尝试访问您自己的子网之外的任何 IP 地址,它就会尝试通过默认网关进行路由。
我认为有了 VPN,您就会有两个默认网关,而您的计算机只需尝试这两个网关即可。
我显然对这一切如何运作感到非常困惑,并且想知道如果我输入 192.168.1.1,我会在远程网络(VPN 端)上获得路由器,而我在 192.168.8.x 子网上...
答案1
我的理解是,如果您尝试访问您自己的子网之外的任何 IP 地址,它就会尝试通过默认网关进行路由。
基本上是正确的。如果您没有更具体的到目的地的路由,则可以使用默认网关。默认网关是“全部捕获”,应该指向为您提供互联网访问的路由器。
我认为有了 VPN,您就会拥有两个默认网关,而您的计算机只需尝试这两个网关即可。
那效果会非常非常差。
如果 VPN 旨在为您提供 Internet 访问,则它将仅作为您的默认路由。如果 VPN 仅旨在为您提供对 VPN 另一端特定子网的访问,则将使用特定路由通过 VPN 仅访问这些子网。
答案2
您设置的 VPN 必须已自动配置为您访问互联网的默认路由。
如果您使用的是 Windows,则route print
在命令提示符上执行将显示您的路由表。对于 Linux,命令将是route -n
。
gateway
行上的值destination
显示了0.0.0.0
您的互联网连接所通过的设备和网络。
如果有多条线路0.0.0.0
作为目的地,则metric
值较低的线路优先。
我怀疑您的 VPN 使用的metric
值低于常规网络。在这种情况下,您需要将metric
VPN 网络的值设置为高于常规网络的值。
答案3
当您启动 VPN 连接时,服务器上的客户端软件会建立安全连接,授予远程用户对内部网络的访问权限,然后 — — 砰 — — 轰!