在 Windows 10 中,确保所有流量都通过 VPN 的最简单方法是什么?有没有内置的方法?我基本上是在寻找一种互联网终止开关,以防 VPN 出现故障。
我读到有时候操作系统会感到困惑,并且由于某些随机原因在发送流量时不使用 VPN,这实际上是一个合理的担忧吗?
答案1
笔记:
确保只启用了一个网络适配器,例如:如果您使用以太网,请确保已禁用无线。如果使用无线,请确保未连接以太网电缆,或者在网络和共享中心 > 更改适配器设置中禁用适配器。
打开命令提示符并执行命令:
netstat /r
请注意“活动路由”部分中 0.0.0.0 行上的接口 IP 地址,假设它是 192.168.0.1
连接到您的 VPN
再做一次netstat /r
注意,你会看到一个用于 vpn 的新 ip 路由(第二行 0.0.0.0.),注意接口新路由 ip
现在用这个命令终止原来的非 vpn 路由
route delete 0.0.0.0 192.168.0.1
然后做另一个netstat /r
您现在只能看到您的 vpn 路由,如果您的 VPN 线路断开,您将失去该路由,因此不再有 0.0.0.0 路由,您的外部连接将立即被切断。如果您想访问互联网,您需要使用以下命令重新添加原始路由:
route add 0.0.0.0 mask 0.0.0.0 192.168.0.1 IF 8
“IF 8” 表示“接口 8”。您的计算机上的数字 8 可能有所不同,请查看 netstat -r 的输出以获取接口列表中接口的正确编号
话虽如此,我会禁用 ipv6,这样做之后,没有任何问题。
禁用 ipv6 命令:
netsh interface teredo set state disabled
启用ipv6命令:
netsh interface teredo set state default
答案2
这是两个合二为一的问题。
I'm basically looking for a internet kill switch in the case VPN fails
@Moab 的回答很好地解决了这个问题。
What is the easiest way to ensure all traffic goes through the VPN in Windows 10?
Is there any built in ways?
这是一个不同的问题。请注意,all traffic goes through the VPN
有一个隐含的“只要 VPN 连接正常“。如果 VPN 因任何原因断开连接,则通过 VPN 路由互联网流量的内置方式将透明地回退到本地互联网连接。
也就是说,以下步骤应该可以回答第二个问题:
- 右键单击“开始”按钮,选择“网络连接”
- 然后单击“更改适配器选项”(自 Windows 10 版本 1703 起)
- 单击要使用的 VPN 连接,右键单击,选择“属性”
- 单击“网络”选项卡,从列表中选择 IPv4,单击“属性”
- 单击“高级”,确保选中“在远程网络上使用默认网关”
- 如果适用,对 IPv6 重复上一步
答案3
如果您需要确保所有流量都通过您已知的单个 IP 或池,您可以调整防火墙,阻止除该单个 IP 之外的所有其他地址。假设您只需要使用 10.10.10.10,因此您应该阻止从 0.0.0.0 到 10.10.10.9 以及从 10.10.10.11 到 255.255.255.255 的所有地址。