如果 VPN 中断,则禁止连接

如果 VPN 中断,则禁止连接

我有一个 VPN 帐户,并用它来进行敏感通信。然而,当我的主要互联网连接仍然处于活动状态时,VPN 连接有时会断开。

我通过 VPN 访问的页面使用 HTTP(不安全),并且包含 JavaScript 代码,该代码会每隔一分钟左右按定时器 ping 主机一次。因此,有时会发生 VPN 连接断开,但 js 会向服务器发送请求(带有 cookie)。

我怎样才能限制连接,使它们仅在 VPN 处于活动状态时发生?

编辑 - 缺少一些必需的详细信息
操作系统:Windows XP SP2
浏览器(最常用):Google Chrome
防火墙:Windows 默认
要过滤的网站:不是所有流量,而是 abc.com、xyz.com 等网站列表中的所有流量

答案1

您可以设置永久静态路由以强制流量通过隧道。如果您仅为不安全的 Web 服务器的 IP 添加路由,其他网站应该可以正常运行。

route -p add U.U.U.U mask 255.255.255.255 A.A.A.A Metric 1

其中 UUUU 是 Web 服务器的 IP 地址,AAAA 是 VPN 连接在您的计算机上创建的虚拟网络适配器的 IP 地址。

免责声明:当隧道关闭时,这应该可以阻止与站点的连接,但您应该进行一些测试以验证它是否在您的环境中正常运行。

答案2

您可以将浏览器配置为使用仅可通过 VPN 访问的 HTTP 代理服务器。如果 VPN 发生故障,HTTP 代理将不可用,访问尝试将失败。

如果你担心只要求流量一些站点通过 VPN 访问,同时允许所有其他流量直接访问互联网。您可以运行本地代理服务器,设置为使用可通过 VPN 访问的代理服务器作为上游对等体,仅用于您关心的那些站点。对于所有其他站点,您的本地代理服务器可以直接访问互联网,而无需 VPN。

正如我针对所有此类问题所言:使用 VPN 只会将问题推后一个“跳跃”。如果您通过 VPN 使用敏感凭据通过 HTTP 访问站点,则您只是在客户端计算机和 VPN 网关之间“传输过程中”加密凭据。一旦流量在 VPN 网关处解密,流量就会再次被窥探、欺骗等发现。拦截流量最容易的地方可能是客户端计算机和 Internet 之间的 Wifi 网络,但这并不意味着 VPN 网关和远程 Web 服务器之间的网络中没有其他地方更容易被攻击者利用。

答案3

这有效,我测试过了。它还将影响每个连接,并且只影响一个 IP 地址的目的地

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

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

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

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

路由添加 203.0.113.10 掩码 255.255.255.255 192.168.1.254 度量 1 -p

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

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

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

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

答案4

为什么不获取证书并将其安装在 Web 服务器上,以便您可以支持 SSL 加密,而不必依赖 VPN 启动?

相关内容