配置 Windows 以仅允许通过 VPN 进行通信

配置 Windows 以仅允许通过 VPN 进行通信

我想将 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 地址,而不是使用网络配置中的“自动获取”设置。

相关内容