管理距离决定谁优先进表
管理距离(AD)决定不同来源的路由进入路由表时的优先级:Cisco 默认值里直连为 0、静态为 1、eBGP 为 20、OSPF 为 110、iBGP 为 200。这解释了两个常见现象——静态路由会压过 BGP 学来的同前缀路由,IGP 也会压过 iBGP。实操中常用 AD 保护关键路由不被动学习覆盖,也可以反过来用更具体的路由实现覆盖。
基本信息
| 直连 | AD 0 |
|---|---|
| 静态 | AD 1 |
| eBGP | AD 20 |
| OSPF | AD 110 |
| iBGP | AD 200 |
| 常见用法 | 保护关键路由,或调整优先级实现覆盖 |
典型使用场景
- 关键路由保护:用静态路由加合适 AD 防止被动态路由覆盖
- 排查「BGP 有更优路径却不生效」:先看 AD 的比较结果
- 双协议共存:明确主备协议来源与优先级设计
- 覆盖内层协议:用更具体前缀或调整 AD 实现
- 变更审计:AD 调整属于全局行为,需要记录留档
查看与调整
查看与调整
ip route 10.100.0.0 255.255.0.0 10.0.0.2 # 静态默认 AD 1,优先于 eBGP
!
router bgp 65001
distance bgp 20 200 200 # 调整 eBGP/iBGP/本地三类距离
!
show ip route 10.100.0.0 # 看路由来源与 AD
show ip route 10.100.0.0 255.255.0.0 longer-prefixes默认管理距离参考
| 来源 | AD 默认值 | 说明 |
|---|---|---|
| 直连 | 0 | 优先级最高 |
| 静态 | 1 | 常压过 BGP 学来的路由 |
| eBGP | 20 | 优先于 OSPF 与 iBGP |
| OSPF | 110 | 优先于 iBGP |
| iBGP | 200 | 优先级最低的一类 |
「BGP 学到更优路径却不生效」多数是 AD 比较的结果:先确认路由表里这条前缀来自哪个协议、AD 是多少,再判断是否需要调整优先级或改用更具体的前缀来绕开比较。
全局调整 AD 属于影响面较大的变更:必须记录变更原因与影响范围,否则后续排障时无法解释选路结果,也很难安全回退。
同一条前缀在路由表里只保留优先级最高的来源:AD 更小的先被安装,AD 相同时再比较度量值。理解这一点就能解释为什么调整 AD 之后原本优选的 BGP 路径突然不再使用,也解释了为什么用更具体的前缀可以绕开 AD 的比较直接生效。