号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部
路由明明配了,设备却选了“另一条”;
你配了双出口,结果全跑一边去了;
你删了一条默认路由,内网直接断网。
这些问题,多半和一个东西有关——路由优先级。
别看你配置的是“静态路由”,它一样可能被覆盖、被替代、被忽略。
所以今天我们就把这个事说清楚:
静态路由的优先级到底怎么算?哪些细节你必须搞懂?
一、路由优先级不是“看谁先配”
很多人以为谁先配谁生效,其实路由表压根不吃这一套。
在设备选路逻辑里,优先级是靠两组数来决定的:
- 优先级(Preference):谁小谁优先
- 度量值(Metric):同优先级下谁小谁优先
这俩决定了路由表上“谁能赢”。
二、不同协议的“优先级”默认值是多少?
先来看常见的几类路由,默认优先级是设备定的,下面以华为设备为例:
你没看错,静态路由的默认优先级是 60,居然比 OSPF 的 10 还低。
所以如果你静态路由和 OSPF 动态路由同时指向同一网段,OSPF 会赢。
举个例子:
ip route-static 192.168.1.0 255.255.255.0 10.1.1.1
这条静态路由,优先级60;如果 OSPF 也发布了 192.168.1.0 网段,它就会“压住”你。
解决办法:手动改优先级!
ip route-static 192.168.1.0 255.255.255.0 10.1.1.1 preference 5
三、还有一种情况:多条静态路由,只有一条生效?
再看这种配置:
ip route-static 0.0.0.0 0.0.0.0 10.1.1.1 preference 5
ip route-static 0.0.0.0 0.0.0.0 10.2.2.1 preference 10
两个默认路由,但只有一条在路由表上出现?
那是因为设备只会保留“优先级最低”的那条静态路由,也就是优先级高的那条(数字小)会生效。
但你也可以做负载均衡,只要两条优先级一致:
ip route-static 0.0.0.0 0.0.0.0 10.1.1.1 preference 10
ip route-static 0.0.0.0 0.0.0.0 10.2.2.1 preference 10
此时路由表会保留两条,默认开启 ECMP,走双出口。
四、还有一个坑:下一跳不可达,路由会消失!
静态路由虽然“静态”,但也不是死的。
比如这条:
ip route-static 10.10.10.0 255.255.255.0 192.168.1.1
如果 192.168.1.1 这个地址不可达(比如对端口DOWN了),这条静态路由也不会被加入路由表。
所以,你得保证下一跳在“可达网段”内,或者用“接口形式”写更稳:
ip route-static 10.10.10.0 255.255.255.0 GigabitEthernet0/0/1 192.168.1.1
总结:这些细节不注意,静态路由再多也白搭
- 静态路由默认优先级是 60,OSPF 是 10,会被压住
- 多条静态路由只保留“优先级最低”的那条
- 多条路由要负载均衡,优先级要一致
- 下一跳不可达,路由表直接不收录
- 指定接口 + 下一跳的写法更稳更保险
你以为静态路由简单,其实很多故障都出在这一步。
懂得用对优先级、调试好生效条件,你的路由才真正“静得住”又“通得远”。
原创:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部