如何防止VPN在断开连接时暴露您的IP?

我希望虚拟机(Windows XP)中的每个连接只要使用我的OpenVPN服务器,一旦连接丢失到OpenVPN,我想失去VM中的所有互联网连接。 当然,虚拟机(Windows 7)的主机将永远不会连接到VPN,也不会从我的真实互联网断开连接。

我非常肯定,我可以使用Windows route命令,只允许我的Windows XP机器连接到我的OpenVPN服务器,我们会说是1.2.3.4

我遵循这个指南: http : //community.spiceworks.com/how_to/show/1334,但我甚至无法得到他们的例子工作。

这是我的路由configuration通过发出命令route print

路由预先打开的VPN连接:

 =========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.108 30 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 192.168.1.0 255.255.255.0 192.168.1.108 192.168.1.108 30 192.168.1.108 255.255.255.255 127.0.0.1 127.0.0.1 30 192.168.1.255 255.255.255.255 192.168.1.108 192.168.1.108 30 224.0.0.0 240.0.0.0 192.168.1.108 192.168.1.108 30 255.255.255.255 255.255.255.255 192.168.1.108 192.168.1.108 1 255.255.255.255 255.255.255.255 192.168.1.108 3 1 Default Gateway: 192.168.1.1 =========================================================================== Persistent Routes: None 

OpenVPN连接后(通知1.2.3.4取代了我的真实VPN IP):

 =========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 128.0.0.0 10.8.0.5 10.8.0.6 1 0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.108 30 10.8.0.1 255.255.255.255 10.8.0.5 10.8.0.6 1 10.8.0.4 255.255.255.252 10.8.0.6 10.8.0.6 30 10.8.0.6 255.255.255.255 127.0.0.1 127.0.0.1 30 10.255.255.255 255.255.255.255 10.8.0.6 10.8.0.6 30 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 128.0.0.0 128.0.0.0 10.8.0.5 10.8.0.6 1 1.2.3.4 255.255.255.255 192.168.1.1 192.168.1.108 1 192.168.1.0 255.255.255.0 192.168.1.108 192.168.1.108 30 192.168.1.108 255.255.255.255 127.0.0.1 127.0.0.1 30 192.168.1.255 255.255.255.255 192.168.1.108 192.168.1.108 30 224.0.0.0 240.0.0.0 10.8.0.6 10.8.0.6 30 224.0.0.0 240.0.0.0 192.168.1.108 192.168.1.108 30 255.255.255.255 255.255.255.255 10.8.0.6 10.8.0.6 1 255.255.255.255 255.255.255.255 192.168.1.108 192.168.1.108 1 Default Gateway: 10.8.0.5 =========================================================================== Persistent Routes: None 

经过一些试验和错误,我发现了一个解决我的问题:

为了防止所有的意外或随机断开VPN暴露您的真实IP,您必须路由所有目的地通过一个假的网关,除了您的VPN IP。

给networking/电脑专家:

假设如下:

正常默认网关: 192.168.1.1
未使用的私有IP: 192.168.1.222
OpenVPN服务器IP: 1.2.3.4

使用cmd:

 route -p add 0.0.0.0 mask 0.0.0.0 192.168.1.222 metric 2 route -p add 1.2.3.4 mask 255.255.255.255 192.168.1.1 metric 1 

然后通过为适配器提供静态IP地址并使用未使用的专用IP作为假默认网关来禁用DCHP; 从而阻止每个连接,但你的OpenVPN的


对于那些需要更多一步一步的方法:

你需要做的第一件事就是打开命令提示符,按住windows键(左Ctrl的右边的button),然后按r键,将出现一个对话框。 input“cmd”并按回车。

一个黑盒子应该出现一些写作,这叫做命令提示符,所有从这里发出的命令都将在这个黑盒子里完成。

首先要弄清楚假网关必须位于networking接口内。 什么是“界面”? 那么在这种情况下,它是分配给计算机的私有IP,这似乎是给予我的“预OpenVPN”表127.0.0.1192.168.1.108两个选项。 我从经验中知道127.0.0.1是一个环回IP,所以缩小了它的范围。 但是,如果我不知道我的IP地址,我可以单击运行Windows键+ R,然后键入cmd,然后按确定。 出现一个黑框,inputCMD命令ipconfig并得到如下输出:

 Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 192.168.1.108 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.1.1 

在那里,它具体告诉我我的IP地址,因此“接口”是192.168.1.108 ,所以我的假网关必须在192.168.1.100192.168.1.254范围内,不能被使用。

例如,可以说我想使用IP 192.168.1.101 ,检查是否使用我会发出命令ping 192.168.1.101 ,如果我得到这样的回复:

 Pinging 192.168.1.101 with 32 bytes of data: Reply from 192.168.1.101: bytes=32 time=1ms TTL=64 Reply from 192.168.1.101: bytes=32 time=1ms TTL=64 Reply from 192.168.1.101: bytes=32 time=1ms TTL=64 Reply from 192.168.1.101: bytes=32 time=1ms TTL=64 Ping statistics for 192.168.1.101: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 1ms, Maximum = 1ms, Average = 1ms 

这将表明IP 192.168.1.101目前正在使用,我cannot将其用于我的假网关。 所以我决定尝试IP 192.168.1.222并发出相同的ping命令: ping 192.168.1.222 。 如果回复如下:

 Pinging 192.168.1.222 with 32 bytes of data: Reply from 192.168.1.100: Destination host unreachable. Reply from 192.168.1.100: Destination host unreachable. Reply from 192.168.1.100: Destination host unreachable. Reply from 192.168.1.100: Destination host unreachable. Ping statistics for 192.168.1.222: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), 

然后,我会成功find一个私人的IP,目前没有被使用,可以用于我的假网关。 对于其余的答复,我将使用192.168.1.222作为我的假网关。

下一步是发送每一个目标尝试通过我们的假门户,而不是真正的。 我们通过发出这个命令来做到这一点

route -p add 0.0.0.0 mask 0.0.0.0 192.168.1.222 metric 2

0.0.0.0 mask 0.0.0.0表示“每个地址”将被发送到网关192.168.1.222metric 2部分为此路由分配metric 2的优先级 – 这很重要,因为1的优先级(度量)将优先于2的优先级。

给它一个度量值2会使它的优先级高于你的DHCP分配的网关的优先级,这对我来说是30.这意味着每个目的地将试图通过网关192.168.1.222,而不是真正的网关,本质上是路由每个连接你试着去找不到的地方。

您可以通过再次发出ipconfig命令来validation您是否正确执行了此操作:

 Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 192.168.1.108 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.1.222 192.168.1.1 

注意这次我们有两个IP地址在默认网关下列出,而不仅仅是一个。 还要注意我们的假网关是如何列在第一位的(上图),而真实的网关列在第二位。

这意味着当我们尝试连接到我们的OpenVPN服务器IP时,在这个例子中的1.2.3.4它将被路由到假的网关(192.168.1.222),不允许我们连接。 我们不要那个。 因此,我们必须创build另一条具有更高优先级(较低度量)的路由,即在连接到我们的OpenVPN IP时,我们希望它连接到真实网关(192.168.1.1)。

我们要做的第一件事是确认OpenVPN服务器是什么,我们可以通过再次使用ping命令来做到这一点。 通常VPN提供商会给你一个地址,比如us.bestvpn.com来连接,我们需要弄清楚这个url是什么IP地址的别名,最好使用ping命令完成,我们问:

ping us.bestvpn.com

和回应应该是这样的

Pinging us.bestvpn.com [1.2.3.4] with 32 bytes of data括号内的IP地址是OpenVPN服务器的IP地址。 我们将使用1.2.3.4作为VPN服务器IP。

现在我们必须build立起来,以便将这个IP路由到我们真正的网关,我们通过发出:

route -p add 1.2.3.4 mask 255.255.255.255 192.168.1.1 metric 1

度量值1将允许路由优先于度量2我们给了假的网关路由。 重要的是要注意, mask 255.255.255.255意味着确切的IP 1.2.3.4 – 这是我的情况是正确的,但你可能想要使掩码255.255.255.0这基本上告诉它,任何IP在1.2.3.01.2.3.254将被路由到真正的网关。 如果您的OpenVPN提供商使用一系列的IP来连接它,这很有用。

现在我们应该可以像正常一样连接到VPN,然后一旦连接就可以浏览所有的互联网。 一旦你断开连接,你会注意到,它似乎没有连接,然后突然它与你的真正的IP,什么?! 为什么要这样做?

那么,我的理解是,默认情况下,当DCHP意识到网关在这么多秒钟之后没有去哪里时,它将试图尝试次级网关,在这种情况下,你是真正的网关。

为了防止发生这种情况,您必须通过分配一个静态IP,子网掩码和网关到您的互联网属性来closuresDCHP。 一步一步的图片教程如何做到这一点在XP,Vista和7

一旦你完成了,再次连接到VPN,validation它仍然工作,然后连接。 尝试连接到一个网站,并等待好2-3分钟,以确认将不会加载,你都设置。

这就是你可以防止随机VPN断开暴露你的真实IP地址。

如果您担心OpenVPN中的DNS和IP泄漏,并且在使用OpenVPN时需要一种简单且自动的方法来防止IP和DNS泄漏,请查看www.openvpnchecker.com提供的两个简单工具

  1. OpenVPN看门狗: http : //openvpnchecker.com/

  2. OpenVPN防火墙: http : //openvpnchecker.com/firewall.htm编辑/删除消息