现在一般工作使用笔记本,这个至少都有两块网卡,无线和有线。这次的例子就是用无线上外网,有线上内网,让外网能连接到内网的一个例子。
关于这个东西其实很早之前就有应用,只是昨天又用了一下,出现了些问题,没能解决,也算是个总结。
在winxp双网卡同时使用必须要添加静态路由,而win7一般能自动识别,但也有意外情况。其他系统没具体实践,但无论xp还是win7在发生无法判断的情况下都会优先走有线网卡。
现在简单介绍下当时环境,我所用的笔记本有线网络地址为1.2.200.170,网关为1.2.200.168,该网卡用于访问内网。我的无线网络地址为192.168.0.104网关地址为192.168.0.1。我需要通过qq的远程桌面让维护人员能远程到我的电脑,我通过我的笔记本再通过Windows自带的远程桌面连接到10.44.10.152的服务器上。
因为带的不是我的电脑,所以刚开始不太熟悉,带的这台电脑使用的是win7家庭基础版,win+r后输入cmd然后就开始配置静态路由,但配置后提示权限不够,这时重新点击开始找到命令提示符,然后右击cmd以管理员身份运行则问题解决,还有个较为复杂的办法在命令提示符下输入
runas /user:administrator "cmd /k 则同样可以以管理员身份运行
在添加路由表之前建议清空路由表,防止造成混乱,清除命令为route -f
随后我就输入两条添加静态路由的命令
route add 0.0.0.0 mask 0.0.0.0 192.168.0.1
route add 10.0.0.0 mask 255.0.0.0 1.2.200.168
这两条命令输入完毕后就提示找不到元素,之前我用xp的电脑从来没有出过这样的提示,于是我又重头开始检查,没能找到问题,折腾了有5分钟后打开手机上网搜索后发现这个命令后来其实还有两个参数,我少了其中一个,具体原因可能是win7和xp的区别,也有可能是因为这台电脑还有个蓝牙网卡。随后我通过route print 命令找到了两个网卡的编号即接口列表中每个网卡之前第一个编号,关于另一个跳远点的,我做过测试,设置多少似乎没有什么影响。那么我修改后的命令如下
route -f
route add 0.0.0.0 mask 0.0.0.0 192.168.0.1 if 14
route add 10.0.0.0 mask 255.0.0.0 1.2.200.168 if 11
添加完成后我试着上网,可以,ping服务器不通!于是我有重新检查折腾约10分钟后还是一样情况,我无意中点开远程连接10.44.10.152这台服务器结果通了,这时候还是ping这个10.44.10.152依然不通,而且我确定这台服务器是可以ping通的。虽然不知道为什么但是我的目的达到了,于是建立连接让就等的工程师连接上了。可是这个链接不太稳定,约40分钟后出现的与10.44.10.152约1分钟的断开连接,后自动重连,约10分钟后彻底断开。此时重复上面命令,依然可以上网,却ping不同10.44.10.152这台服务器的现象,但这次连远程桌面都不可以了。在短暂的思考后我决定把两个路由配置倒过来即如下:
route -f
route add 10.0.0.0 mask 255.0.0.0 1.2.200.168 if 11
route add 0.0.0.0 mask 0.0.0.0 192.168.0.1 if 14
测试上网正常,ping服务器通,远程连接通。这时候我们的工程师又可以和我们的服务器愉快的玩耍了。至此算是问题解决,但对于中间发生的ping不通却可以远程桌面的问题我到现在也没能想明白为什么会出现这种现象。对于route命令的详解在命令提示符里大家可以详细看到,这里不赘述了。