我想将 Windows 10 配置为仅允许通过 VPN 连接进行通信。例如,如果未连接 VPN,Firefox 将无法访问互联网。我希望能够关闭此设置。
我对 VPN 端解决方案不感兴趣,因为 VPN“终止开关”会在断开连接时切断互联网连接。这样一来,Windows 就无法再连接到我的 Wi-Fi 路由器了。因此,我必须关闭“终止开关”——当 Windows 再次连接时,所有应用程序都可以再次访问互联网,而无需 VPN 连接——因此这完全没有意义。
第三方应用程序解决方案没问题。 我希望解决方案尽可能的轻量。
谢谢你的帮助。
笔记:当 NordVPN 因服务器故障而断开连接时,互联网现在对 PC 上的应用程序开放。
答案1
有本地解决方案。
首先创建出站防火墙规则,仅允许私有网络中的连接并阻止公共和域网络/配置文件中的所有连接。
然后连接您的 VPN 并设置为工作网络位置,并从网络和共享中心将您的家庭路由器连接设置为公共网络。
高血压
答案2
几年前我在网上发现这个,已经丢失了原始来源链接。
计算机使用“路由表”来决定将数据包发送到何处。在 XP/Vista 中,您可以在 cmd shell 中使用以下命令查看路由表:netstat -R
您会看到很多行,但浏览一下它们,唯一感兴趣的是 0.0.0.0 行(忽略其他行,如网络掩码),它看起来像这样:活动路由:网络目标网络掩码网关接口度量 0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.8 20
0.0.0.0 的意思是“任何 IP 地址”。网关是发送数据的地方。接口是您的 IP 地址。因此,每当您要向任何 IP 地址发送数据时,它都会被发送到 192.168.0.1(您的路由器)IP 地址,然后该地址会汇聚到您的本地 ISP。当您登录 VPN 时,您最终会看到新的第二行 0.0.0.0:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.8 20
0.0.0.0 0.0.0.0 91.122.72.211 91.122.72.23 10
因此,您的计算机可以选择两条路由。现在,度量值就派上用场了。度量值表示成本。由于第二条路由的度量值较低(10<20),因此“成本”较低,因此您的计算机始终通过 VPN 路由发送数据,您的数据是安全的 :)
现在的问题是,当您的 VPN 线路断开时,您的原始路由仍然存在,因此您将继续使用本地 IP 地址进行播种/窃取。因此,解决方案是在您登录 VPN 之后(而不是之前,否则您将没有任何路由可以登录 VPN),使用以下命令删除您的原始路由:route delete 0.0.0.0 192.168.0.1
现在你的路由表将如下所示:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 91.122.72.211 91.122.72.23 10
如果您的 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 的输出以获取正确的接口编号。
还有几点。
如果您的无线网络不稳定,您可能需要设置静态本地 IP 地址。否则,如果您在使用 VPN 时短暂丢失无线连接(因此丢失本地 IP 地址),而 VPN 没有断开,当您的 PC 重新连接到无线网络时,您的原始路由将自动添加,因此即使您删除了它,它也会重新出现。因此,在“控制面板”的网络下,关闭 DHCP 并手动分配 192.168.0.8 地址。这样,除非您自己添加,否则该路由将永远不会被添加回来。
手动添加路由后,DNS 可能需要一些时间才能恢复工作。我一直不明白为什么会有延迟,所以有时在断开连接后重新启动计算机会更快(这就是 VMWARE 更容易的原因)。
提示 1:创建包含路线添加/删除命令的 .bat 文件,这样您只需单击快捷方式即可。
提示 2:还可以使用以下目标创建 cmd 的快捷方式: %SystemRoot%\system32\cmd.exe /k "netstat -R" 。这样,每次想要检查路由时,您就不必转到开始->运行->cmd->netstat -R。
提示 3:使用虚拟机(如 vmware)连接到 VPN,这样您日常的正常流量就不会受到影响。
答案3
您也可以通过简单地从网络配置中删除默认网关来做到这一点。然后在您的系统上为 VPN 服务器 IP 地址设置静态路由。
本质上,您删除了计算机与本地网络外部通信的能力,但您已告诉 Windows 如何仍然查找并连接到 VPN 服务器。
如果您想再次正常访问,只需将默认网关 IP 地址重新添加到您的网络配置中。
添加 VPN 服务器路由的示例命令如下:
route -p <vpn server IP> mask 255.255.255.255 <default gateway IP>
您创建的持久路由可以保留。您所要做的就是从网络接口添加或删除默认网关。您也可以使用命令编写脚本netsh
,并在桌面上放置一个快捷方式,单击即可打开或关闭正常的不受保护的互联网。
要添加/删除默认网关 IP,您必须选择静态 IP 地址,而不是使用网络配置中的“自动获取”设置。