Centos 多网卡路由问题

Centos 多网卡路由问题

我无法为我的网络接口设置永久路由,

以下是我的配置:

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

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

接口配置如下:

cat ifcfg-eth0
设备=eth0
哈希表 = 2C:59:E5:42:CB:EC
类型=以太网
#UUID=eefb4ac8-42ba-4fc3-9918-08aae7edef3b
ONBOOT=是
#NM_CONTROLLED=否
BOOTPROTO=静态
IP地址=192.168.126.27
网络掩码=255.255.255.128
网关=192.168.126.126
#用户控制=否

猫 ifcfg-eth1
设备=eth1
哈希表 = 2C:59:E5:42:CB:ED
UUID=68f6c45e-48ba-4b33-8da7-d4d7979eb72d
ONBOOT=是
BOOTPROTO=无
NM_CONTROLED=否

cat ifcfg-eth1.305
设备=eth1.305
VLAN=是
ONBOOT=是
BOOTPROTO=静态
类型=以太网
IP地址=172.21.107.123
网络掩码=255.255.255.240
网关=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 不起作用

答案1

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

DEFROUTE="no"

对于具有多个网络接口的服务器,这似乎没有任何问题。如果您随后重新启动网络服务或接口,您应该能够检查路由以查看这是否确实有效:

/sbin/route -n

希望这有帮助。

答案2

您可以在文件 /etc/sysconfig/network 中像这样在自己的行上指定默认网关: GATEWAY=192.168.0.1

如果需要多个网关,您可以创建如下 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 文件中添加对它的调用

答案3

您只能指定一个 GATEWAY,如果您在两个接口文件中都添加了 GATEWAY,则将使用较高接口号的 GATEWAY,就像您的情况下的 eth1 一样,这从您显示的 route -n 来看是正确的。

如果您想使用多个网关,则必须使用前面答案中建议的策略路由。

相关内容