通过不同的接口路由 VPN 和互联网流量

通过不同的接口路由 VPN 和互联网流量

当我从家里连接到公司 VPN 时,所有网络流量(包括互联网流量)都会通过 VPN(图 1)。VPN 比我家里的互联网慢得多,所以我只想通过 VPN 路由对内联网数据的请求(图 2)。

我的路线表开始如下:

IPv4 Route Table
================
Active Routes:
Network Destination     Netmask       Gateway      Interface    Metric
0.0.0.0                 0.0.0.0       192.168.1.1  192.168.1.2  4000     
0.0.0.0                 0.0.0.0       On-link      10.0.0.142   26       <-appears when VPN connects
10.0.0.0                255.255.255.0 On-Link      10.0.0.142   26       <-appears when VPN connects

我对路由表的理解是,0.0.0.0 条目描述了流量如何到达互联网。第一个条目表示我的家用路由器在 VPN 断开连接时充当网关。第二个条目表示通过 VPN 路由的流量。

我努力了:

  • NirSoft NetRouteView,从路由表中删除 0.0.0.0 On-Link 条目。执行此操作后,尽管 0.0.0.0 192.168.1.1 条目仍然存在,但我还是失去了互联网连接。
  • NirSoft NetRouteView,将 0.0.0.0 On-Link 条目的度量值更改为 5000,以通过我的家用路由器优先上网。这没有任何效果。对 www.google.com 的 Tracert 显示连接仍然​​通过我的公司 VPN 进行。

VPN 通过 Windows 10 内置 SSTP 连接。

我正在尝试的事情能完成吗?下一步我应该尝试什么?

图 1:目前所有流量都通过 VPN 传输 所有流量都通过 VPN 传输

图 2:我的目标 互联网流量不通过 VPN

答案1

我发现足够的信息 https://security.stackexchange.com/questions/13900/if-i-use-a-vpn-who-will-resolve-my-dns-requests制定解决方案。

我进入控制面板 > 所有控制面板项 > 网络连接,然后编辑 VPN 连接的属性。

在“网络”选项卡中,我编辑了 TCP IPv4 设置。我将设置更改为使用远程网络上的默认网关,并将度量值更改为较大的数字。

VPN 属性对话框

在此处输入图片描述

由于这些设置保存在 VPN 连接定义中,因此它们应该是持久的但易于更改。

进行这些更改后,我仍然可以访问公司网络,但tracert访问 www.google.com 则需要通过我的 ISP。

最初,访问使用不同 IP 范围的公司网络区域分支时遇到了一些问题。我尝试使用指向 VPN 网关 IP 的路由命令访问这些分支。尽管route print将 VPN 网关列为“On-Link”,但 Nirsoft NetRouteView 给出了实际 IP,导致出现如下命令

route -p ADD 192.168.50.0 MASK 255.255.255.0 10.0.0.50

然而,VPN 网关偶尔会发生变化,因此找到了一种更强大的解决方案,使用Add-VpnConnectionRoute在 PowerShell 中,例如

Add-VpnConnectionRoute -ConnectionName "VPN" -DestinationPrefix 192.168.50.0/24

要检查路线是否已添加,可以使用以下 Powershell 命令:

$conn = Get-VpnConnection -Name "VPN"
$conn.routes

相关内容