我使用 VPN 服务从国外访问一些工作。有时我的 VPN 连接断开,我的计算机会自动连接到我的本地连接,我不希望出现这种情况,因为它会立即泄露我的真实 IP。VPN 服务提供商的支持无法帮助我。有什么办法可以阻止我的计算机重新连接到我的本地连接吗?
答案1
详细说明 Zoredache 的答案,可以通过更改路由配置来解决您的问题。我将提供 Windows 的示例。
收集信息
步骤 1:描述和默认网关
首先,你需要确定你的本地连接的描述和默认网关。打开命令提示符(Start
-> Run...
-> cmd
)然后运行ipconfig /all
。您将看到类似以下内容的输出:
Windows IP Configuration
...
Ethernet adapter Local Network Connection:
...
Description . . . . . . . . . . . : Intel(R) 123BBQ Network Connection
Physical Address. . . . . . . . . : 12-FE-34-DC-56-BA
...
IPv4 Address. . . . . . . . . . . : 11.22.33.44(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
...
Default Gateway . . . . . . . . . : 11.22.33.1
...
...
请注意,如果您首先连接到 ISP(例如,通过 PPPoE 连接输入用户名和密码),则需要查找类似的东西PPP adapter <Connection Name>:
。在此示例中,描述是Intel(R) 123BBQ 网络连接和默认网关是11.22.33.1。
步骤 2:VPN 端点 IP 地址
接下来你需要你的VPN 端点的 IP 地址ping vpn1.serviceprovider.com
。您提到您使用 VPN 服务提供商。如果您的 VPN 连接到主机名(例如 vpn1.serviceprovider.com),您可以通过在命令提示符中运行来确定 IP 地址(nslookup
也可以使用):
Pinging vpn1.serviceprovider.com [66.77.88.99] with 32 bytes of data:
Reply from 66.77.88.99: bytes=32 time=50ms TTL=55
...
在此示例中,VPN 端点 IP是66.77.88.99。
步骤 3:接口编号
最后,你需要本地连接的接口号. 在命令提示符中运行route print x
(x 是虚假过滤器,因此您看不到比接口列表更多的内容):
===========================================================================
Interface List
...
11...12 fe 34 dc 56 ba ......Intel(R) 123BBQ Network Connection
1...........................Software Loopback Interface 1
...
===========================================================================
...
接口号是该行上的第一个数字,您需要找到与第一步中描述相同的行。在此示例中,Intel(R) 123BBQ 网络连接有一个接口号的11。
全部设置
禁用路由
获得所有这些信息并连接到 VPN 后,在命令提示符中运行以下命令:
route add <VPN end point IP> mask 255.255.255.255 <Local connection's Default Gateway> metric 1 if <Local connection's interface number>
route delete 0.0.0.0 if <Local connection's interface number>
Eg: route add 66.77.88.99 mask 255.255.255.255 11.22.33.1 metric 1 if 11
Eg: route delete 0.0.0.0 if 11
这将从您的本地连接中删除默认路由,并将其替换为直接到您的 VPN 端点的单一路由。现在,当您的 VPN 连接断开时,流量就没有路由到达互联网,因此您的 IP 地址不会暴露。
重新启用路由
要恢复本地连接的默认路由,您可以在命令提示符中运行以下命令:
route add 0.0.0.0 mask 0.0.0.0 <Local connection's Default Gateway> metric 1 if <Local connection's interface number>
Eg: route add 0.0.0.0 mask 0.0.0.0 11.22.33.1 metric 1 if 11
如果您的 VPN 连接到主机名,或者您只是想停止使用 VPN,则可能需要执行此操作才能重新连接到 VPN。
节约时间
如果您的 VPN 端点 IP 地址从未改变(您的 VPN 服务提供商可能会告诉您情况是否如此),您甚至可以将完成的命令保存到以 结尾的文件中.bat
(例如disablerouting.bat
和enablerouting.bat
)。这样,双击文件即可运行命令,而无需您每次都输入它们。
答案2
删除默认路由并创建一条专门用于到达 VPN 提供商的路由。每个操作系统的具体语法都不同。但它看起来像这样。
route del 0/0
route add vpnserverip/32 via localgw