世界都没见过
谈什么世界观

一个CentOS 7的静态路由的问题

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" 之上

最后想问下大佬们,我这是犯了啥错误导致这种情况呢?

赞(0) 打赏
未经允许不得转载:VPS排行榜 » 一个CentOS 7的静态路由的问题

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏