我的 VPN 连接强制所有互联网流量通过隧道,这非常慢。我希望只能通过隧道传输某些 IP 地址,并在我这边(客户端)执行此操作。
我正在使用FortiSSL Client连接到 VPN ,在建立连接之前,路由表如下所示:
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.101 40
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
192.168.0.0 255.255.255.0 On-link 192.168.0.101 276
192.168.0.101 255.255.255.255 On-link 192.168.0.101 276
192.168.0.255 255.255.255.255 On-link 192.168.0.101 276
192.168.119.0 255.255.255.0 On-link 192.168.119.1 276
192.168.119.1 255.255.255.255 On-link 192.168.119.1 276
192.168.119.255 255.255.255.255 On-link 192.168.119.1 276
192.168.221.0 255.255.255.0 On-link 192.168.221.1 276
192.168.221.1 255.255.255.255 On-link 192.168.221.1 276
192.168.221.255 255.255.255.255 On-link 192.168.221.1 276
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 192.168.119.1 276
224.0.0.0 240.0.0.0 On-link 192.168.221.1 276
224.0.0.0 240.0.0.0 On-link 192.168.0.101 276
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 192.168.119.1 276
255.255.255.255 255.255.255.255 On-link 192.168.221.1 276
255.255.255.255 255.255.255.255 On-link 192.168.0.101 276
Run Code Online (Sandbox Code Playgroud)
连接后如下所示:
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.101 4265
0.0.0.0 0.0.0.0 On-link 172.16.0.1 21
127.0.0.0 255.0.0.0 On-link 127.0.0.1 4531
127.0.0.1 255.255.255.255 On-link 127.0.0.1 4531
127.255.255.255 255.255.255.255 On-link 127.0.0.1 4531
172.16.0.1 255.255.255.255 On-link 172.16.0.1 276
192.168.0.0 255.255.255.0 On-link 192.168.0.101 4501
192.168.0.101 255.255.255.255 On-link 192.168.0.101 4501
192.168.0.255 255.255.255.255 On-link 192.168.0.101 4501
192.168.119.0 255.255.255.0 On-link 192.168.119.1 4501
192.168.119.1 255.255.255.255 On-link 192.168.119.1 4501
192.168.119.255 255.255.255.255 On-link 192.168.119.1 4501
192.168.221.0 255.255.255.0 On-link 192.168.221.1 4501
192.168.221.1 255.255.255.255 On-link 192.168.221.1 4501
192.168.221.255 255.255.255.255 On-link 192.168.221.1 4501
200.250.246.74 255.255.255.255 192.168.0.1 192.168.0.101 4245
224.0.0.0 240.0.0.0 On-link 127.0.0.1 4531
224.0.0.0 240.0.0.0 On-link 192.168.119.1 4502
224.0.0.0 240.0.0.0 On-link 192.168.221.1 4502
224.0.0.0 240.0.0.0 On-link 192.168.0.101 4502
224.0.0.0 240.0.0.0 On-link 172.16.0.1 21
255.255.255.255 255.255.255.255 On-link 127.0.0.1 4531
255.255.255.255 255.255.255.255 On-link 192.168.119.1 4501
255.255.255.255 255.255.255.255 On-link 192.168.221.1 4501
255.255.255.255 255.255.255.255 On-link 192.168.0.101 4501
255.255.255.255 255.255.255.255 On-link 172.16.0.1 276
Run Code Online (Sandbox Code Playgroud)
VPN 客户端放置了一条度量标准低于我所有其他路由的全能路由,这将通过隧道路由所有互联网流量。我尝试将默认互联网路由的指标更改为较低的值:
C:\Windows\system32>route change 0.0.0.0 mask 0.0.0.0 192.168.0.1 metric 10 if 13
OK!
Run Code Online (Sandbox Code Playgroud)
但什么都没有改变。
然后我尝试删除 VPN 的“catch-all”路由,即上面的指标为 21 的路由:
C:\Windows\system32>route delete 0.0.0.0 mask 0.0.0.0 if 50
OK!
Run Code Online (Sandbox Code Playgroud)
它打破了一切:
C:\Windows\system32>ping 8.8.8.8
Pinging 8.8.8.8 with 32 bytes of data:
PING: transmit failed. General failure.
Run Code Online (Sandbox Code Playgroud)
我也尝试更改适配器上的指标,但 FortiSSL 客户端在连接时会覆盖所有设置,因此没有帮助。
修复必须来自我这边,因为另一边的人需要几天时间才能做出回应。
如果有帮助,我正在运行 Windows 7 x64。
-- 更新 (2013-12-24) --
感谢mbrownnyc的提示,我检查了Rohitab的问题,并发现 FortiSSL 客户端通过NotifyRouteChange
IP Helper API 调用监视路由表。
我在NotifyRouteChange
调用之前设置了一个断点,并使用“跳过调用”选项成功地阻止了 FortiSSL 重置路由指标,现在我有:
然而,当我运行 tracert 时,我的路由仍然通过 VPN:
C:\Windows\system32>tracert www.google.com
Tracing route to www.google.com [173.194.118.83]
over a maximum of 30 hops:
1 45 ms 47 ms 45 ms Jurema [172.16.0.1]
Run Code Online (Sandbox Code Playgroud)
即使路由打印的指标另有说明,Windows 网络是否有任何我不知道的方面可以支持某个路由?
请注意,我在这里没有使用常规的网络符号来寻址(例如 CIDR 甚至host/mask
符号,以免使询问者感到困惑)。
不要删除“默认网关”路由 ( 0.0.0.0 mask 0.0.0.0
),以免网络堆栈不知道将大多数数据包发送到哪里,而是尝试将 VPN 路由的度量提高到低于默认路由的度量(在本例中为4265
)。
与Fortigate客户端连接后:
route change 0.0.0.0 mask 0.0.0.0 172.16.0.1 metric 4266 if N
Run Code Online (Sandbox Code Playgroud)
fortissl
其中 N 是以开头返回的接口的接口号route print
。
网络堆栈应该正确处理这个问题:
this IP
进行this gateway
进一步路由)。172.16.*.*
都会被发送到VPN;因为 Windows 网络堆栈知道,如果某个接口附加了一个地址,那么该接口就是您访问该地址范围内其他 IP 的方式。如果您发布 的“子网掩码”,我可以更明确地了解范围172.16.0.1
。您必须确定需要通过 VPN 访问的资源的 IP 地址。您可以通过nslookup [hostname of resource]
连接时使用轻松完成此操作,而无需调整路线。
[咆哮]
我对允许通过 VPN 进行分割隧道没有任何问题,特别是因为您引用的使用问题。如果您的 IT 部门考虑将分割隧道作为一种安全机制,他们需要重新考虑他们正在做的事情:
[/咆哮]
归档时间: |
|
查看次数: |
10052 次 |
最近记录: |