Linux
重啟網路後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
我不明白為什麼我的路線是錯誤的。
檢查您的
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 地址。