签到成功

知道了

CNDBA社区CNDBA社区

Linux 双网卡 路由配置 说明

2017-12-27 22:16 9758 0 转载 Linux
作者: dave

1. 路由信息的影响

Linux 系统中如果有多张网卡的情况下,如果路由信息配置不正确,可能会导致其中一张网卡不能正常使用。 比如原网卡eth0的IP是192.168.1.x/24。 新增加一张网卡eth1, 配置的网段是是:10.16.1.x/24,各自到网关都通,但原eth0的网段的主机不能访问这台主机。可以通过查看路由表,确认默认的路由是否走到正确的网卡上了。 如果路由错误,删除这个默认的路由,重新添加一条默认路由即可。

比如命令:http://www.cndba.cn/dave/article/2525

route del default gw 10.16.1.1 dev eth1
route add default gw 192.168.1.1 dev eth0

查看路由表信息:

[root@www.cndba.cn ~]# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     *               255.255.255.0   U         0 0          0 eth1
192.168.56.0    *               255.255.255.0   U         0 0          0 eth0
link-local      *               255.255.0.0     U         0 0          0 eth0
default         Hiwifi.lan      0.0.0.0         UG        0 0          0 eth1
[root@www.cndba.cn ~]#

2.双网卡路由信息配置

现在看一个双网卡的配置路由的过程:
如果eth1为192.168.1.173/255.255.255.0,eth0为192.168.56.101/255.255.255.0,

则路由配置命令如下:http://www.cndba.cn/dave/article/2525

#route add -net 192.168.1.0 netmask 255.255.255.0 dev eth1
#route add -net 192.168.56.0 netmask 255.255.255.0 dev eth0

上面的命令把发送给192.168.1.0网段的IP包交给eth1转发,把192.168.56.0网段的IP包交给eth0转发。http://www.cndba.cn/dave/article/2525

如果还有可能有发送给其他目的IP的包,那么你肯能希望设置一个“默认网关”:

#route add default gw 192.168.1.1 dev eth1

上面的命令把所有发送给其他目的IP的包都转发给192.168.1.1。http://www.cndba.cn/dave/article/2525

一般情况下,默认网关已经自动设置好了,不用重复设置。可以用route命令加-n参数进行检查。
如果要删除某一条,命令格式为:

http://www.cndba.cn/dave/article/2525

#route del -net 192.168.1.0 netmask 255.255.255.0

配置时的一种思路是把192.168.10.0网段路由至eth0,192.168.20.0网段路由至eth1,再设置默认路由。另一种思路是,只指定其中一个,然后把默认的0.0.0.0路由至另一个。其实效果一样,就是两种思路。

http://www.cndba.cn/dave/article/2525

3.route命令解析

添加到主机的路由:

# route add –host 192.168.1.10 dev eth0
# route add –host 192.168.1.10 gw 192.168.1.1

添加到网络的路由:

# route add –net 192.168.1.0  netmask 255.255.255.0 eth0
# route add –net 192.168.1.0  netmask 255.255.255.0 gw 192.168.1.1
# route add –net 192.168.1.0/24 eth1

添加默认网关:http://www.cndba.cn/dave/article/2525

# route add default gw 192.168.1.1

删除路由:

http://www.cndba.cn/dave/article/2525

# route del –host 192.168.1.10 dev eth0

4.配置路由永久生效的方法:

方法一:

# vi /etc/rc.local(添加到末尾)
语句: 
route add -net 192.168.3.0/24 dev eth0
route add -net 192.168.2.0/24 gw 192.168.2.254

方法二:添加默认网关,即默认路由

http://www.cndba.cn/dave/article/2525

两块网卡在配置文件ifcfg-ethX中不配置网关,在/etc/sysconfig/network中设置默认网关
vim /etc/sysconfig/network
GATEWAY=192.168.14.254

方法三:添加路由 创建/etc/sysconfig/static-routes配置文件

# vi /etc/sysconfig/static-routes (没有static-routes的话就手动建立一个这样的文件)
any net  192.168.15.0/24   gw 192.168.14.254
any host 123.57.223.144    gw 192.168.14.254
any host 123.57.190.33/32  gw 192.168.8.1

方法四:在/etc/sysconfig/network-scripts/下创建配置文件route-ethX

vim /etc/sysconfig/network-scripts/route-eth0
0.0.0.0/0       via 192.168.14.254 dev eth0     
#这条为默认路由,另一种格式 default 192.168.14.254 dev eth0
192.168.15.0/24 via 192.168.14.254 dev eth0
123.57.223.144  via 192.168.14.254 dev eth0

vim /etc/sysconfig/network-scripts/route-eth1
123.57.190.33   via 192.168.8.1 dev eth1

配置完重启network服务生效 service network restarthttp://www.cndba.cn/dave/article/2525

注:
linux双网卡默认路由问题linux在加载网卡配置文件的时候是先加载eth0,再加载eht1的,这样,如果eth1设置了gateway项,则会覆盖掉eth0中的gateway设置,因此解决方法就是删除eth1的gateway设置,在配置/etc/sysconfig/network添加网关。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2261
    原创
  • 3
    翻译
  • 578
    转载
  • 191
    评论
  • 访问:7968082次
  • 积分:4346
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ