Centos多个网卡路由问题

我无法为我的networking接口设置permenant路由

在我的configuration下面:

ETH0:172.23.137.27networking掩码/ 25 – 255.255.255.128网关 – 192.168.126.126

ETH1:中继VLAN – VLAN ID:305 172.21.107.123networking掩码/ 28 – 255.255.255.240网关 – 172.21.107.113

接口configuration如下:


 cat ifcfg-eth0 
 DEVICE = eth0的
 HWADDR = 2C:59:E5:42:CB:EC
 TYPE =以太网
 #UUID = eefb4ac8-42ba-4fc3-9918-08aae7edef3b
 ONBOOT = YES
 #NM_CONTROLLED =无
 BOOTPROTO =静态
 IPADDR = 192.168.126.27
 NETMASK = 255.255.255.128
 GATEWAY = 192.168.126.126
 #USERCTL =无

猫ifcfg-eth1
 DEVICE = eth1的
 HWADDR = 2C:59:E5:42:CB:ED
 UUID = 68f6c45e-48ba-4b33-8da7-d4d7979eb72d
 ONBOOT = YES
 BOOTPROTO =无
 NM_CONTROLED =无

猫ifcfg-eth1.305 
 DEVICE = eth1.305
 VLAN = YES
 ONBOOT = YES
 BOOTPROTO =静态
 TYPE =以太网
 IPADDR = 172.21.107.123
 NETMASK = 255.255.255.240
 GATEWAY = 172.21.107.113
 #NM_CONTROLLED =无


路线-n
内核IP路由表
目标网关Genmask标志度量参考使用Iface
 172.21.107.112 0.0.0.0 255.255.255.240 U 0 0 0 eth1.305
 192.168.126.0 0.0.0.0 255.255.255.128 U 0 0 0 eth0
 192.168.192.0 0.0.0.0 255.255.255.0 U 0 0 0 eth3
 0.0.0.0 172.21.107.113 0.0.0.0 UG 0 0 0 eth1.30

默认路由只有在我手动插入时才起作用:route del default gw 1​​92.168.126.126 eth0

但是在/ etc / sysconfig / network-scripts下使用:route-eth0不起作用

对于任何不是我的默认网关的networking设备,我通常将默认路由标志设置为no:

DEFROUTE="no" 

这似乎没有任何问题,我的服务器与多个networking接口。 如果您然后重新启动您的networking服务或接口,您应该能检查路线看它实际上工作:

 /sbin/route -n 

希望这有助于。

您可以在文件/ etc / sysconfig / network中自行指定默认网关: GATEWAY=192.168.0.1

如果你需要多个网关,你可以像这样创build一个shell脚本:

 #!/bin/sh ip rule add from 172.21.107.112/28 pref 200 lookup 201 ip route add default via 172.21.107.113 dev eth1 table 201 ip rule add from 192.168.126.0/25 pref 200 lookup 202 ip route add default via 192.168.126.126 dev eth0 table 202 ip route add default nexthop via 192.168.126.126 dev eth0 ip route append default nexthop via 172.21.107.113 dev eth0 ip route flush cache 

chmod + x文件,并在/etc/init.d/network文件中添加对它的调用

你只能指定一个GATEWAY,如果你在两个interfaces文件中都添加了GATEWAY,那么将使用更高接口号的GATEWAY,就像你的情况一样,eth1是正确的。

如果你想使用多个GATEWAYS,你必须使用前面的答案build议的策略路由。