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

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咯~~