实战双网卡同时上内外网设置

首先需要有两块网卡,分别接到两个路由上。下面是双网卡的网络IP地址配置示例:

外网地址设置 (查看IP命令:ipconfig /all)
本地IP地址:192.168.1.1
子网掩码:255.255.255.0,
网关:192.168.1.1
内网地址设置:
本地IP地址:192.168.42.129
子网掩码:255.255.255.0
网关:192.168.42.132

按正常的设置每块网卡的ip(或通过DHCP自动获取),再cmd下使用route print查看时会看到。即指向0.0.0.0的有两个网关,这样就会出现路由冲突,两个网络的访问都会出现问题。我们需要手动配置路由,才能实现同时访问两个网络。运行cmd(win7/8需要管理员权限)。

第一步:route delete 0.0.0.0   ::删除所有的0.0.0.0的路由
第二步:route -p add 0.0.0.0 mask 0.0.0.0 mask 192.168.1.1  ::添加0.0.0.0网络路由,这个是缺省时路由用192.168.1.1,加上-p的目的是设为静态(永久)路由,防止下次重起时配置消失。
第三步:route -p add 192.168.42.0 mask 255.255.255.0 192.168.42.132  ::添加192.168.42.0网段路由为192.168.42.132内网路由,可以根据需要调整ip段和子网掩码太到多网段内网路由的效果。

(如果不小心打错了,可以通过形如 route -p delete 192.168.0.0 mask 255.255.255.0 192.168.0.xxx命令,删除配置。另外注意下在添加路由的时候,要先将内外网同时连接上才可以设置成功.)

执行后,永久路由就多了二项了,如下图所示:

避免双网关冲突内网不能手动设置网关,只保留外网的网关IP
因为上面我们添加的是静态路由,所以重启后tcp/ip设置里的默认网络会成为活动网关,这样也会造成路由冲突,所以,需要把内网的tcp/ip设置里的网关去掉。

如果还是不行,就运行route print 看下是不是有两个0.0.0.0 分别对应了两个网关,那么删除其中错误的一个就行了,例如:route delete 0.0.0.0 mask 0.0.0.0 192.168.1.1  。

另外,可以设置下内外网络的优先级,根据自己的网络环境设置不同的活跃点数。一般建议有线网络的活跃度设置高一些,如有线设置为10,无线设置为20。(数字越小活跃度越高) 相同的活跃点数会导致其中的某个网络无法正常工作。

修改静态路由表的跃点数有两个方法:
使用命令:
route add 0.0.0.0 mask 0.0.0.0 192.168.1.1 METRIC 2 //添加跃点数为2的网关
route change 0.0.0.0 mask 0.0.0.0 192.168.1.1 METRIC 1 //将指定网关的跃点数修改为2
这里我发现将跃点数修改为2,路由表里面的跃点数不会变成2,我的电脑是会变成22,应该是有个最小跃点数或者基础跃点数设置,网上也没有找到相关资料,原因暂时不明。
2. 通过连接属性:
打开“网络和共享中心”,找到“更改适配器设置”,打开“本地连接”的属性,选择“Internet协议版本4”的属性
然后在弹出的页面的右下角找到“高级”,这里会出现一个“自动跃点数”,将“自动跃点数”前的勾去掉,修改成一个数字,如28。
同上,这里也是,修改后路由表的跃点数不会变成28,而是会变成另外一个值,原因暂时不明。
跃点数的值越小,就越优先使用这个网关,一般来说默认的好像是276,自己根据需要进行修改一下。
但是有一点需要注意:修改了某条路由表条目的跃点数,指向相同IP地址的其他路由表条目都会被删除,原因暂时不明,网上也没有找到相关资料,所以大家修改路由表的时候注意一下这点。

谁的metric值比較小, 谁的优选权就高,就会被视为default route

最后根据实战自己总结下编写出.bat 文件 ,方便在设置错乱时一键恢复.举例如下:

------------------------------------------------------------------------------------------------------------------------------------------
.bat文件内容
route delete 0.0.0.0
route delete 10.0.0.0
route add 0.0.0.0 mask 0.0.0.0 10.22.64.1
route add 10.0.0.0 mask 255.0.0.0 10.30.214.1

10.22.64.1 --外网的默认网关
10.30.214.1 --内网的默认网关

命令总结:

route print: 打印当前的路由表
route delete:删除一条路由
route add: 增加一条路由, 如果最后加上 –p 选项,表示永久增加静态路由,重启后不会失效
route change: 更改一条路由
 

点赞