重分发打 tag 与回引过滤
双向重分发最容易出的事故是路由回流:从 BGP 引入 OSPF 的路由,又被 OSPF 引回 BGP,形成环路或次优路径。tag 就是给这些路由盖一个「来源章」:引入时打上标记,回引时把带标记的路由拒掉。需要记住的关键点是 tag 只在本地重分发点有效,它不是 BGP 属性,不会随邻居传播到远端。
基本信息
| 打标 | route-map 中 set tag <值>,在引入时执行 |
|---|---|
| 读标 | 回引 route-map 中 match tag <值> 做拒绝或放行 |
| 生效范围 | 本机重分发点;BGP 无 tag 属性,不跨邻居传播 |
| 典型取值 | 用 AS 号或规划好的十进制值,便于识别来源域 |
| 核对命令 | show ip ospf database external、show ip route <前缀> |
典型使用场景
- 双向重分发防环:打标后回引时按标记拒绝,避免自我循环
- 来源识别:从路由标记快速判断这条路由从哪个协议域引入
- 分级策略:不同来源打不同 tag,回引时按标记决定放行范围
- 割接过渡:临时重分发期间用 tag 限定范围,降低双向引入风险
- 审计取证:核对实际生效的标记是否符合设计
OSPF 侧打标与回拒
OSPF 侧打标与回拒
# 从 BGP 引入 OSPF 时打 tag
route-map RM-BGP2OSPF permit 10
set tag 500
!
router ospf 1
redistribute bgp 65001 subnets route-map RM-BGP2OSPF
!
# 回引时拒绝带该 tag 的路由,避免回流
route-map RM-OSPF2BGP deny 10
match tag 500
route-map RM-OSPF2BGP permit 20
!
show ip ospf database external | include Tag核对要点
| 核对项 | 含义 | 正常与异常 |
|---|---|---|
| tag 是否写入 | 引入的路由被打上标记 | 外部路由条目中可见预期值 |
| 回引是否拒掉 | 带标记路由不再回流 | BGP 表中不应出现这些路由的再次引入 |
| 条目顺序 | route-map 序列顺序影响结果 | deny 条目应排在 permit 之前 |
| 生效时效 | 改策略后是否重新计算 | 重分发变更通常需触发路由刷新或等待收敛 |
BGP 没有 tag 属性:tag 只在引入的那一刻供本机策略判断,不会传播给邻居。指望用 tag 让远端设备识别来源的做法行不通,跨设备识别要用社区等真正的 BGP 属性。
标记值本身不含语义,建议与设计文档同步维护:文档里写清哪个数值对应哪一类来源,人员变动后才有依据可查。