双网卡双网关冲突问题

首先要声明一点,双网卡一台电脑拥有两个默认网关是不可能的,因为默认网关(default gateway)只能是一个。

双网卡双网关冲突问题造成的原因是:两张网卡设置两个网关,由于都设置成了默认网关导致了冲突,造成网络不通。

解决方法:一张网卡设置成默认网关,另一张利用静态路由,使得该网卡对应ip所在的网络数据传输通过静态路由中的网关(非主机默认网关)。


给服务器安装两块网卡,分别设置不同的ip和网关(内网和外网),外网的通过外网网卡来访问,内网的通过内网网卡来访问,似乎实现起来很简单,但事实上很难啊,因为默认网关(default gateway)只能是一个!

解决的办法就是:

1、将其中一块网卡(如外网)设置默认网关;

2、手工加上一条静态路由,让另一个网段(内网)的数据经过第二个网卡。使用route命令,命令的范例如下,希望能帮某些同志一点小忙。

参考命令:

范例1route add -p 10.0.0.0 mask 255.255.255.0 10.40.4.200(让对10.0.0.1的访问走10.40.4.200的网卡,mask 后面是子网掩码)

范例2route add -p 10.0.0.0 mask 255.0.0.0 10.40.4.200

范例3route add -p 0.0.0.0 mask 0.0.0.0 10.40.4.200(不用说了吧,让所有的访问走10.40.4.200

说明:

1、加上-p参数,加入的路由为永久路由,不会因为电脑重新启动而被初始化。10.40.4.200是我的电脑网卡IP
输入route 可以得到更多的帮助。

2、如果你的电脑已经有两个网关(如使用了SoftEther),用route print可以看到两条0.0.0.0的路由,可以先删除0.0.0.0的路由,然后重新添加。

route delete 0.0.0.0         “删除所有0.0.0.0的路由"

附:在网络上找资料时,常常看到有人在问类似的问题,可以看出大家对路由方面的知识很陌生。于是提供以下资料,供大家参考:

1、《解读route命令》http://www.kpcn.org/news/Read.asp?NewsID=8527
2
、《学习Windows网络命令之route命令小档案》http://www.kpcn.org/news/Read.asp?NewsID=8528

========= 以下是另一篇文章的内容 ============

经常遇到一台计算机要同时访问两个网络(一个是互联网,一个是企业内部网)的要求。以本单位为例:地址是虚构的^_^ 
机器有两块网卡,接到两台交换机上
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 网络路由"
这时就可以同时访问两个网络了,但碰到一个问题,使用上述命令添加的路由在系统重新启动后会自动丢失,怎样保存现有的路由表呢?
win2000 下可以使用route add -p 添加静态路由,即重启后,路由不会丢失。注意使用前要在tcp/ip设置里去掉接在企业内部网的网卡的网关。

你可能感兴趣的:(Linux,网络基础)