选路不符预期怎么查
选路与预期不符时,按「候选路径、属性差异、策略命中、装载层、跨设备一致性」五层逐步收窄,先定位差异出现在哪一层,再针对性修改。不要先改属性:改动会让现场失真,之后再想复盘就没有原始数据了。
基本信息
| 第一步 | 确认候选路径是否齐全(对端是否发来) |
|---|---|
| 第二步 | 逐项比对属性:weight、LOCAL_PREF、AS_PATH、ORIGIN、MED |
| 第三步 | 检查入向策略是否把属性改成了预期外的值 |
| 第四步 | 检查主表是否被更优管理距离占用(rib-failure) |
| 第五步 | 核对其他设备对同前缀的结论是否一致 |
| 关键原则 | 先取快照再变更,保留可回溯的现场 |
排查清单
- 候选路径:show ip bgp <前缀> 是否只有一条路径,对端是否已发来
- 属性比对:weight / localpref / AS_PATH / MED 逐项核对
- 策略命中:入向 route-map 是否把属性改成预期外的值
- 装载层:rib-failure 与更优管理距离是否占用主表
- 一致性:其他设备对同前缀的结论是否一致
- 验证发布:advertised-routes 确认本端发出的属性是否符合设计
核对命令
核对命令
show ip bgp 10.1.1.0/24 # 候选路径与最优标记
show ip bgp neighbors 10.0.0.2 # 邻居详情:策略与收发计数
show ip bgp rib-failure # 有 BGP 表项但未进主表的条目
show ip route 10.1.1.0 # 主表实际结果与来源
show ip bgp neighbors 10.0.0.2 advertised-routes | include 10.1 # 发布属性核对差异定位对照
| 差异出现层 | 典型表现 | 入手动作 |
|---|---|---|
| 候选路径层 | 只有一条路径可选 | 检查对端是否发布、入向是否过滤 |
| 属性层 | 多条路径但选中非预期那条 | 逐项比对属性并套用决策顺序 |
| 策略层 | 属性值与设计值不一致 | 检查入向 route-map 与命中范围 |
| 装载层 | BGP 表有路由、主表没有 | 查 rib-failure 与管理距离 |
| 一致性层 | 不同设备结论不同 | 逐台比对策略与属性基线 |
先做只读采集再动手:把关键命令的输出记录或截图,变更后才有依据判断是策略生效还是环境变化。
跳过前四层直接改属性是最常见的返工原因:属性改完却仍然不生效时,往往会发现路由根本没被接收或被主表更优路径压制。