重启网络后IP路由错误

重启网络后IP路由错误

我想让 IP 路由持久化,但它在重新启动或服务重新启动后消失。

这是我的网络配置:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 52:54:00:ce:1c:48 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.56/16 brd 10.0.255.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 10.255.255.24/9 brd 10.255.255.255 scope global eth0:23
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fece:1c48/64 scope link
       valid_lft forever preferred_lft forever

猫 ifcfg-eth0

ONBOOT=yes
DEVICE=eth0
BOOTPROTO=static
IPADDR=10.0.0.56
NETMASK=255.255.0.0
GATEWAY=10.0.0.1

猫 ifcfg-eth0:23

ONBOOT=yes
DEVICE=eth0:23
BOOTPROTO=static
IPADDR=10.255.255.24
CONNECTED_MODE=yes
NETMASK=255.128.0.0
GATEWAY=10.0.0.1

路线-n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.1        0.0.0.0         UG    0      0        0 eth0
10.0.0.0        0.0.0.0         255.255.0.0     U     0      0        0 eth0
10.128.0.0      0.0.0.0         255.128.0.0     U     0      0        0 eth0

当我想要 ping 10.128.0.1 时,我做不到!另一方面,当我运行此命令时:

ip r d 10.128.0.0/9 ; ip r a 10.128.0.0/9 via 10.0.0.1

我可以 ping 我的其他服务器 (10.128.0.1) 并且我的路由已更正。

路线-n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.1        0.0.0.0         UG    0      0        0 eth0
10.0.0.0        0.0.0.0         255.255.0.0     U     0      0        0 eth0
10.128.0.0      10.0.0.1        255.128.0.0     UG    0      0        0 eth0

ping 10.128.0.1

PING 10.128.0.1 (10.128.0.1) 56(84) bytes of data.
64 bytes from 10.128.0.1: icmp_seq=1 ttl=64 time=0.124 ms
64 bytes from 10.128.0.1: icmp_seq=2 ttl=64 time=0.109 ms

但我小心地将路由文件添加到 /etc/sysconfig/network-scripts/route-eth0 中

像这样 :

default via 10.0.0.1 dev eth0
10.128.0.0/9 via 10.0.0.1 dev eth0

我不明白为什么我的路线是错误的。

答案1

检查您的eth0:23配置。

它的地址与 重叠,10.128.0.0/9因此系统将其视为直接连接。这就是为什么系统不允许您通过默认网关添加路由!

可以看到route -n网关是0.0.0.0,这意味着直接连接,所以这条线

10.128.0.0/9 via 10.0.0.1 dev eth0

无法执行(它也可能在某些日志文件中给出错误)。

显然,当您显式删除路由时,系统允许您通过默认网关添加路由,因为它的表中不再有其他路由(直接连接的路由)。

要解决此问题,您必须删除该eth0:23接口,因为 10.128.0.0/9 它不是已连接的网络,并且您不应该在该计算机上拥有 IP 地址。

相关内容