如果VPNclosures,则禁止连接

我有一个VPN帐户,并将其用于敏感的通信。 然而,VPN连接有时会被丢弃,而我的主要连接到互联网仍然活着。

我通过VPN访问的网页是HTTP(不安全),并有一个JavaScript代码,每隔一分钟左右ping一个计时器。 所以有时会发生VPN连接丢失,然后js向服务器发送请求(使用cookie)。

我怎么能限制连接,所以他们只发生在VPN是活的?

编辑 – 一些需要的细节丢失
操作系统:Windows XP SP2
浏览器(主要使用):谷歌浏览器
防火墙:Windows默认
要过滤的网站:并不是所有的stream量,但都在像abc.com,xyz.com这样的网站列表中

你可以设置一个持久的静态路由来强制stream量进入隧道。 如果您为不安全的Web服务器的IP添加路由,则其他站点应该正常运行。

route -p add UUUU mask 255.255.255.255 AAAA Metric 1 

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

免责声明:这应该防止在隧道closures时连接到站点,但是您应该进行一些testing以validation它是否适用于您的环境。

您可以将浏览器configuration为使用只能通过VPN访问的HTTP代理服务器。 如果VPNclosures,HTTP代理变得不可用,并且访问尝试失败。

如果您只关心需要某些站点的stream量来穿越VPN,同时允许所有其他stream量直接访问Internet,则您可以运行本地代理服务器设置为使用可通过VPN访问的代理服务器作为上游对等设备您关心通过VPN访问的网站。 对于所有其他网站,您的本地代理服务器可以直接访问互联网w / o的VPN。

正如我在所有关于这种性质的问题上所陈述的:使用VPN只会将问题推出一个“跳跃”。 如果您通过VPN使用敏感凭据通过HTTP访问站点,则只能在客户端计算机和VPN网关之间“在运行”的情况下对凭证进行encryption。 一旦stream量在VPN网关被解密,stream量就会变得可见,从而重新窥探,欺骗等等。 您的客户端计算机和Internet之间的Wifinetworking可能是最简单的拦截您的stream量的地方,但这并不意味着在您的VPN网关和远程Web服务器之间的networking中没有其他地方这不仅对攻击者来说更容易使用。

这工作,我testing了它。 它也会影响每一个连接,只是目的地到一个IP地址

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

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

当您连接到VPN服务器时,您在203.0.113.10(公共IP)上连接。 一旦连接,它将为您分配192.168.3.65的IP,并将您的默认网关更改为VPN服务器私有IP 192.168.3.1(此更改意味着所有Internet通信现在都通过VPN服务器路由)。 这给了我们现在configuration你的电脑所需的信息。 断开VPN。

现在编辑您的TCP / IP设置并将默认网关更改为192.168.3.1(因此所有互联网stream量都通过VPN服务器路由)。 所有的互联网stream量现在将失败,除非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)到互联网上。 这个规则将允许build立VPN,然后所有其他通信将通过VPN。

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

我从来没有这样做,所以我不能说它将明确的工作,但我知道很多关于路由,从路由的“规则”应该为你工作。 如果它确实请投票这个答案,因为它实际上是相当困难的,我怀疑你会发现这个解决scheme在任何地方。

编辑:我testing了这个,当我回家,我是对的,它可以这样做;-)

无论页面在本地还是远程,都是不重要的,如果VPN连接断开,那么没有任何stream量会退出本地networking,因为没有到远程networking的path。

为什么不获得证书并将其安装在Web服务器上,以便您可以支持SSLencryption,因此您不必依赖VPN?