2bitO大佬:
最近在维护的时候发现一个奇怪的问题,加24掩码地址的网段就可以,16掩码的就无效,有一个奇怪的地方:
当前路由状态:
ip route show | column -t
default via 192.168.230.1 dev ens224 proto static metric 101
172.16.0.0/21 via 172.36.250.1 dev ens192 proto static metric 100
172.35.0.0/16 via 172.36.250.1 dev ens192 proto static metric 100
172.36.0.0/16 dev ens192 proto kernel scope link src 172.36.250.41 metric 100
172.36.241.0/24 via 172.36.250.1 dev ens192 proto static metric 100
172.36.242.0/24 via 172.36.250.1 dev ens192 proto static metric 100
192.96.64.7 via 172.36.250.1 dev ens192 proto static metric 100
192.168.230.0/24 dev ens224 proto kernel scope link src 192.168.230.41 metric 101
此时 241 242 网段是通的, 其他 172.36.X.X 是不通的。
目的是添加一个 172.36.0.0/16 的路由:
修改静态路由的方式:
网卡Dev名: ens192
修改文件:vim /etc/sysconfig/network-scripts/route-ens192
文件内容:
172.36.250.0/24 via 172.36.250.1 dev ens192
172.35.0.0/16 via 172.36.250.1 dev ens192
172.36.242.0/24 via 172.36.250.1 dev ens192
172.36.241.0/24 via 172.36.250.1 dev ens192
172.16.0.0/21 via 172.36.250.1 dev ens192
192.96.64.7/32 via 172.36.250.1 dev ens192
新增一行
172.36.0.0/16 via 172.36.250.1 dev ens192
保存,重启网络服务 systemctl restart network
问题来了: 可以看到路由表中多了一行 172.36.0.0/16 但是此时的新添加的路由不生效。
ip route show | column -t
default via 192.168.230.1 dev ens224 proto static metric 101
172.16.0.0/21 via 172.36.250.1 dev ens192 proto static metric 100
172.35.0.0/16 via 172.36.250.1 dev ens192 proto static metric 100
172.36.0.0/16 dev ens192 proto kernel scope link src 172.36.250.41 metric 100
172.36.0.0/16 via 172.36.250.1 dev ens192
172.36.241.0/24 via 172.36.250.1 dev ens192 proto static metric 100
172.36.242.0/24 via 172.36.250.1 dev ens192 proto static metric 100
192.96.64.7 via 172.36.250.1 dev ens192 proto static metric 100
192.168.230.0/24 dev ens224 proto kernel scope link src 192.168.230.41 metric 101
然后我发现把文件中的 16 掩码路由删掉,然后用命令添加临时路由,是生效的。
ip route add 172.36.0.0/16 via 172.36.250.1 dev ens192
ip route show | column -t
default via 192.168.230.1 dev ens224 proto static metric 101
172.16.0.0/21 via 172.36.250.1 dev ens192 proto static metric 100
172.35.0.0/16 via 172.36.250.1 dev ens192 proto static metric 100
172.36.0.0/16 via 172.36.250.1 dev ens192
172.36.0.0/16 dev ens192 proto kernel scope link src 172.36.250.41 metric 100
172.36.241.0/24 via 172.36.250.1 dev ens192 proto static metric 100
172.36.242.0/24 via 172.36.250.1 dev ens192 proto static metric 100
192.96.64.7 via 172.36.250.1 dev ens192 proto static metric 100
192.168.230.0/24 dev ens224 proto kernel scope link src 192.168.230.41 metric 101
此时我发现用文件添加和命令添加不同之处在于: 新的路由记录顺序不同
在文件里添加的路由记录在 "172.36.0.0/16 dev ens192 proto kernel scope link src 172.36.250.41 metric 100" 之下
用命令添加的路由记录在 "172.36.0.0/16 dev ens192 proto kernel scope link src 172.36.250.41 metric 100" 之上
最后想问下大佬们,我这是犯了啥错误导致这种情况呢?
评论前必须登录!
注册