当我从家里连接到公司 VPN 时,包括互联网流量在内的所有网络流量都会通过 VPN(图 1)。VPN 比我的家庭互联网慢得多,所以我想只通过 VPN 路由对 Intranet 数据的请求(图 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 连接。
我正在尝试的事情可以完成吗,接下来我应该尝试什么?
我在https://security.stackexchange.com/questions/13900/if-i-use-a-vpn-who-will-resolve-my-dns-requests中找到了足够的信息 来开发解决方案。
我去了控制面板>所有控制面板项目>网络连接并编辑了VPN连接的属性。
在网络选项卡中,我编辑了 TCP IPv4 设置。我将设置更改为使用远程网络上的默认网关,并且为了更好地衡量,将指标更改为一个很大的数字。
由于这些设置保存在 VPN 连接定义中,它们应该是持久的,但很容易更改。
进行这些更改后,我仍然可以访问公司网络,但
tracert
通过我的 ISP 访问 www.google.com。访问使用不同 IP 范围的公司网络的区域辐条时存在一些初始问题。我尝试使用指向 VPN 网关 IP 的路由命令来访问这些。虽然
route print
将 VPN 网关列为“On-Link”,但 Nirsoft NetRouteView 给出了实际 IP,导致诸如Add-VpnConnectionRoute
但是,VPN 网关偶尔会发生变化,因此在 PowerShell 中使用了更强大的解决方案,例如要检查路由是否已添加,可以使用以下 Powershell 命令: