EIGRP 引入 BGP 的做法
在 Cisco 设备上用 redistribute eigrp <AS> route-map <名字> 把 EIGRP 学到的路由注入 BGP。与引入 OSPF 不同,BGP 侧不需要指定种子度量,因为 BGP 使用自己的路径属性;EIGRP 的度量不会保留下来,需要在 route-map 中按设计设置 MED 或社区标签,否则引入的路由在多出口竞争中没有任何可控偏好。
基本信息
| 命令位置 | router bgp 的地址族视图下 redistribute eigrp <AS> route-map <名> |
|---|---|
| 是否需要种子度量 | 不需要,BGP 不继承 EIGRP 度量 |
| 常用过滤 | route-map + prefix-list 限定业务前缀 |
| 属性设置 | 可 set community 打标、set metric 设置 MED |
| 华为对应 | 采用 IS-IS 或 OSPF 承载内部路由,用 import-route 引入到 BGP |
典型使用场景
- 企业园区使用 EIGRP、出口使用 BGP 时的内外路由衔接
- 只把业务网段引入外部,内部互联与管理地址不出网
- 引入时同步打社区标签,便于出口设备按标签做策略
- 迁移期把 EIGRP 既有路由带进 BGP,稳定后逐条改为精确宣告
- 与对端做多出口时用 MED 表达入口偏好,弥补 EIGRP 度量丢失的信息
过滤与打标示例
过滤与打标示例
# 只引入业务前缀,打社区标签并设置 MED
ip prefix-list PFX-SERVICE permit 10.10.0.0/16 le 24
!
route-map RM-EIGRP2BGP permit 10
match ip address prefix-list PFX-SERVICE
set community 65001:100 additive
set metric 50
!
router bgp 65001
redistribute eigrp 100 route-map RM-EIGRP2BGP
!
show ip bgp 10.10.1.0/24
# 关注 Community 与 Metric 两列是否符合设计可保留与丢失的信息
| EIGRP 信息 | 引入 BGP 后 | 处理建议 |
|---|---|---|
| 复合度量(带宽/延迟等) | 不保留,MED 需手工设置 | 在 route-map 中按设计写 set metric |
| 外部路由标记 | 不自动转换 | 用社区或 tag 在引入时重新打标 |
| 下一跳信息 | 由 BGP 重新计算并通告 | 核对下一跳可达性,必要时用 next-hop-self |
| 路由来源区分 | ORIGIN 记为 incomplete | 与其他来源并存时注意选路顺序 |
双点引入时的环路风险检查
双点引入时的环路风险检查
# 两台边界设备都做 EIGRP 与 BGP 双向引入时,注意管理距离
show ip route 10.10.1.0
# EIGRP 默认管理距离 90,iBGP 为 200
# 若未过滤,EIGRP 侧学到的内部路由会压过 iBGP,形成回灌
!
# 使用 tag 阻断回灌
route-map RM-BGP2EIGRP deny 10
match tag 65001
route-map RM-BGP2EIGRP permit 20
!
show ip eigrp topology | include 65001EIGRP 与 iBGP 的管理距离差异是双向重分发事故的常见原因:EIGRP 学到的路由更容易被选中,若另一台边界设备又把这条路由发回 BGP,就会形成回灌。引入前先用 route-map 圈定范围,再考虑用 tag 做闭环阻断。