我想让 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 地址。