配置VPN客户端时出现连接成功但却无效的情况

最近在配置VPN时,我遇见过这样的案例。openvpn的客户端,在无线的环境下连接成功后,vpn网络正常工作,计算机可以正常通过vpn访问网络。但时,同一台机器,在有线连接的环境下却不行了。在那种情况下,就像是vpn没有使用,而仍然是使用着原先的网络一样。并且还会出现各种各样的奇怪的情况(访问google的网页,却收到facebook的证书)。

这是网络链路竞争的结果,计算机有多个网络接口。在windows操作系统下也可以说是由多个网络适配器。当我们连接好openvpn后,原先的interface/network-adaptor也会同时处于工作状态。这样,在计算机访问网络时,就同时有多个选择。在默认情况下,操作系统有自己的判断机制,来按照最优线路访问网络。在实际的测试情况下,windows系统在默认的情况下,几个网络适配器的优先级是:有线网络 > openvpn > 无线网络。

这个优先级的顺序就导致了第一段的现象。在有线的情况下,即使连接了openvpn,系统仍然会走有线网络的适配器,而不是走openvpn的适配器。遇见这种情况,我们可以通过手动调节网络适配器的优先级来解决问题。在ipv4协议中,网络数据会根据网络链路的一个结点数来寻找最优线路,我们可以通过手动配置网络适配器ipv4协议的结点数来解决问题。配置方式如下:

  • 通过控制面板或者网络配置界面进入更改网络适配器选项的界面。如下图所示:
  • 然后“右击某网络适配器->属性->选择ipv4协议->属性->高级”打开高级tcp/ip设置,如下图所示:
  • 在这个界面,撤销掉“自动跃点”的选项,给此适配器手动配置一个接口跃点数。这个跃点数配置得跃高,该适配器在其余适配器中的优先级就越靠后。

如果我们使用以上的方法,把openvpn适配器的接口跃点数配置成5,而把有线网络适配器的接口跃点数配置成10,这样就可以让openvpn优先级大于有线连接了。问题到此就能解决了。

发表评论

邮箱地址不会被公开。 必填项已用*标注