联通WLAN使用VPN就掉线的解决方案

联通的WLAN活动对于后付费用户还在依然免费中,这确实让我觉得很爽,不过因为种种原因,经常需要使用VPN,而联通的WLAN使用VPN的时候大约1分钟左右就会掉线,小小研究了下下,发现原来基于Web验证的这个页面每隔一分钟左右就会跟服务器联系一次(心跳),如果联系不到或者超时,就会强迫用户下线~~

既然知道了原理,想要解决也变得相当容易,首先需要收集最近的路由表,我们手动把这些路由写入到本机路由,通过命令:

route add IP地址 mask 子网掩码 网关 metric 优先级

这样的顺序即可。

附件为自动识别网关,并作为当前默认网关的批处理,大家可以再增加任意多条route命令来调整本地路由 :)

当然,这样的好处还有一个:可以让VPN流量走VPN网关,而其他的流量还是走自己的网关,降低VPN的负载,增加安全性与本地网站的访问速度。

附件:Route-Test

因本地路由表混乱造成的网络连接异常处理办法

Kaisir在之前的文章中有写到为了解决在64Bit下使用只有32Bit驱动的无线上网卡所以引入了虚拟机,而且在虚拟机中共享了3G连接,通过将虚拟机的网络连接方式设置为LocalOnly来让主机共享上网的解决方案。可是当时虽然解决了那个难题,可是又有一件很奇怪的事情出现了——那样上网之后,如果不禁用掉vBox虚拟出来的网卡,主机这边就无法通过Wifi上网,这个问题困惑了我好几天了,直到刚刚,我在查询关于Dos命令”route”的用法时,才恍然大悟:Windows会自动记忆能连接到外网的链路,并自动写进系统的路由表中,而且在其他链路都不通时,最后一个联通的链路,将获得最高的优先级。看下面这张图:

系统在我断掉所有连接,仅通过虚拟机虚构的网卡上网后,自作主张的给我添加了一条系统路由“0.0.0.0”(即所有IP)通过网关“192.168.56.2”转发,并且优先权为20(优先权越小优先级越高) 比系统正常的那条路由“0.0.0.0”通过网关“192.168.1.1”转发优先权高,所以就造成了这次莫名奇妙的只有禁用虚拟机网卡才能上网的奇怪现象~

知道了故障原因,解决起来也很简单咯:

1)打开命令提示符

2)执行 route -f命令 清空非默认路由

3)执行ipconfig /renew 刷新网卡

这样就Ok咯~~