全局路由优先级由匹配精度、协议权重和显式配置共同决定:先精确匹配,再比协议优先级(direct=0、ospf=10、static=60、rip=100、bgp=255),最后看preference值;被覆盖路由未删除,仅不入选主表,具备自动回退能力。

全局路由模式的优先级不靠“谁写在前面”,而靠匹配精度、协议权重和显式配置三者共同决定。它不是简单的顺序覆盖,而是分层决策:先看是否精确匹配,再比协议可信度,最后才轮到人工设定的优先级参数。
最具体匹配永远优先
无论你用的是静态路由、OSPF还是策略路由,只要存在掩码更长的路由条目,它就自动胜出。比如:
- 192.168.1.100/32(主机路由)会压过 192.168.1.0/24(网段路由)
- /api/v2/users/{id:int} 比 /api/{version}/users/{id} 更具体,优先被选中
- 直连路由(Preference=0)天生赢所有,无法被任何静态或动态路由覆盖
协议优先级是默认底线
不同来源的路由自带“出厂值”,设备按数字小者胜出。华为默认值典型为:
- Direct(直连):0
- STATIC(静态):60(可改,但默认不高)
- OSPF:10
- RIP:100
- BGP:255
这意味着:哪怕你后配一条静态路由指向同一网段,只要OSPF也宣告了该网段,OSPF就赢——除非你手动把静态路由 preference 改成小于10(如 preference 5)。
显式优先级可覆盖默认行为
当多条同源路由(比如两条静态路由)指向同一目标时,preference 值小的生效;若 preference 相同,则进入下一阶段判断:
- 静态路由之间:metric 小者胜出(部分厂商支持,华为静态路由 metric 默认为0,不可调)
- 策略路由(PBR):通常具有更高执行优先级,能绕过普通路由表直接转发
- 端点路由(如 ASP.NET Core):支持
Order属性或约束条件(如{id:int})提升匹配权重
覆盖不是删除,而是“不入选”
被覆盖的路由不会报错,也不会消失,只是不进入主路由表(display ip routing-table 看不见)。它可能仍存在于协议数据库里,一旦高优路由失效(如 OSPF 邻居断开),它就会自动“上位”。这种机制保障了冗余与收敛能力。
注意:下一跳不可达的静态路由,即使 preference 再低,也不会装入路由表——它连参与竞争的资格都没有。










