如何在 Windows 上设置路由以便仅允许流量通过 VPN?

如何在 Windows 上设置路由以便仅允许流量通过 VPN?

我必须在 Windows 上设置哪些路由,以便在使用 OpenVPN 时拥有完整的 Internet 连接,但如果 OpenVPN 隧道崩溃,那么我的计算机就没有可用的路由,因此就没有连接。

我的计算机通常需要默认路由 0.0.0.0 掩码 0.0.0.0 192.168.1.254。我只需要一个仅允许发往 OpenVPN 服务器 IP 的流量的路由。但是,流量必须经过 192.168.1.254,因为这是我的家庭网络的 Internet 网关路由器。

答案1

你做不到。这是不可能的。什么是 VPN?它是通过互联网建立隧道的虚拟网络。这意味着,为了真正建立 VPN,你首先需要互联网接入。如果你删除“正常互联网”路由并尝试强制所有流量通过 VPN,它将失败,因为没有互联网,VPN 甚至无法建立。

先有小鸡还是先有鸡蛋?

嗯,实际上我只是有个想法,如何“在理论上”实现它。如果这个方法可行,那我就是个天才了,我真谦虚,不是吗?如果可行,请告诉我 ;-)

将 PC 上的默认网关更改为 VPN 服务器的私有 IP 地址。现在您需要知道所连接的 VPN 服务器的公共 IP 地址并修改路由表。如果没有例子就很难解释,所以就在这里。

您的本地 IP 范围是 192.168.1.x,您的默认网关(路由器)是 192.168.1.254。

当您连接到 VPN 服务器时,您将连接到 67.35.67.89(公共 IP)。连接后,它会为您分配一个 IP 192.168.3.65,并将您的默认网关更改为 VPN 服务器的私有 IP 192.168.3.1(此更改意味着所有互联网流量现在都通过 VPN 服务器路由)。这为我们提供了配置您的 PC 所需的信息。断开 VPN。

现在编辑您的 TCP/IP 设置并将默认网关更改为 192.168.3.1(因此所有互联网流量都通过 VPN 服务器路由)。除非 VPN 已启动,否则所有互联网流量现在都将失败。现在打开命令提示符并输入以下内容:

route add 67.35.67.89 mask 255.255.255.255 192.168.1.254 metric 1 -p

这会向您的 Windows PC 添加一条静态路由,仅当您尝试连接到 67.35.67.89(您的 VPN 服务器)时,该路由才会覆盖默认网关。当它与此条目匹配时,它会正常地从您的路由器(192.168.1.254)进入互联网。这条规则将允许建立 VPN,然后所有其他流量都将通过 VPN。

注意:设置默认网关时,您会收到有关它位于不同子网的警告,只需接受它并继续。

我从未这样做过,所以我不能说它一定会起作用,但我对路由了解很多,从路由的“规则”来看,这应该对你有用。如果确实如此,请投票赞成这个答案,因为解决这个问题实际上相当困难,我怀疑你在其他地方找不到这个解决方案。

编辑:我到家后测试了这一点,我是对的,可以这样做;-)

相关内容