我无法为我的网络接口设置永久路由,
以下是我的配置:
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 192.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 来看是正确的。
如果您想使用多个网关,则必须使用前面答案中建议的策略路由。