在windows环境下,一台电脑有2个网卡,对其分别配置IP和网关,容易出现网络不稳定的现象,通信时通时断。
1、两个网卡两个网关故障场景
场景:
机器有两块网卡,接到两台交换机上
internet地址:218.22.123.123,子网掩码:255.255.255.0,网关:218.22.123.254
企业内部网地址:10.128.123.123,子网掩码:255.255.255.0,网关:10.128.123.254
如果按正常的设置方法设置每块网卡的ip地址和网关,再cmd下使用route print查看时会看到
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 218.22.123.254 218.22.123.123 20
0.0.0.0 0.0.0.0 10.128.123.254 10.128.123.123 1
即指向0.0.0.0的有两个网关,这样就会出现路由冲突,两个网络都不能访问。要实现同时访问两个网络就要用到route命令
第一步:route delete 0.0.0.0 ”删除所有 0.0.0.0 的路由"
第二步:route add 0.0.0.0 mask 0.0.0.0 218.22.123.254 “添加 0.0.0.0 网络路由”
第三步:route add 10.0.0.0 mask 255.0.0.0 10.128.123.254 “添加 10.0.0.0 网络路由”
2、方法
分析:
一台电脑2个网卡,拥有两个默认网关是不可能的,因为默认网关(default gateway)只能是一个。双网卡双网关冲突问题造成的原因是:两张网卡设置两个网关,由于都设置成了默认网关导致了冲突,造成网络不通。
解决方法:一张网卡设置成默认网关,另一张利用静态路由,使得该网卡对应ip所在的网络数据传输通过静态路由中的网关(非主机默认网关)。
1、将其中一块网卡(如外网)设置默认网关;
2、手工加上一条静态路由,让另一个网段(内网)的数据经过第二个网卡。在cmd命令行里使用route命令,命令的范例如下:
范例1、route add -p 10.0.0.0 mask 255.255.255.0 10.100.100.200(让对10.0.0.1的访问走10.100.100.200的网卡,mask 后面是子网掩码)
范例2、route add -p 10.0.0.0 mask 255.0.0.0 10.100.100.200
说明:
加上-p参数,加入的路由为永久路由,不会因为电脑重新启动而被初始化。10.100.100.200是电脑网卡IP。