重分发是什么
重分发(redistribute)把其他路由来源引入 BGP,来源可以是 IGP、静态路由或直连网段。它不是把路由「复制」进 BGP,而是让 BGP 进程按条件重新起源这些路由:ORIGIN 属性会变为 incomplete,MED 取种子度量,因此必须配套过滤,否则整张内部路由表都会外发。
基本信息
| 语法 | redistribute <协议> [metric <值>] [route-map <名>] |
|---|---|
| 种子度量 | 未指定时按实现默认处理,建议显式设置 |
| 属性变化 | ORIGIN 变为 incomplete(显示为 ?) |
| 必配套 | 过滤:route-map 配合 prefix-list 限定范围 |
| 典型来源 | ospf、static、connected、eigrp 等 |
| 华为对应 | import-route 命令,配合 filter-policy 或 route-policy |
典型使用场景
- 把数据中心内部的 OSPF 网段汇总后引入 BGP,让外部可访问
- 发布静态定义的业务地址段,由 BGP 承载对外宣告
- 发布互联与环回地址,便于对端建立多跳会话
- 割接期间把内网明细临时引入 BGP,逐步收敛到汇总
- 与网络迁移配合:迁移完成后撤销重分发并改用 network 宣告
引入示例
引入示例
router bgp 65001
redistribute ospf 1 metric 100 route-map RM-TO-BGP # 引入 OSPF 路由并设种子度量
!
ip prefix-list PL-BIZ permit 10.10.0.0/16 le 24
route-map RM-TO-BGP permit 10
match ip address prefix-list PL-BIZ # 只引入业务地址段
route-map RM-TO-BGP deny 999 # 其余显式拒绝,防止整表外发
!
show ip bgp | include 10.10 # 核对引入结果
show ip bgp 10.10.1.0/24 # 查看 ORIGIN 是否为 ?引入前的检查项
| 检查项 | 为什么重要 | 做法 |
|---|---|---|
| 来源范围 | 漏掉过滤会把内网全部外发 | 用 route-map 加 prefix-list 限定 |
| 种子度量 | 不设值时对端看到的 MED 可能不符合设计 | 显式设置 metric |
| ORIGIN 影响 | incomplete 会影响路径比较优先级 | 了解与 network 宣告的差别 |
| 回引风险 | 双向引入可能形成环或次优路径 | 配合 tag 或社区防环 |
| 汇总 | 明细数量过大会冲击对端表容量 | 先汇总再引入 |
重分发引入的路由 ORIGIN 显示为 ?(incomplete),这是正常现象,仅在属性比较走到 ORIGIN 一步时才产生影响。
未加过滤的重分发是典型事故来源:一次配置就可能把管理网段、互联段全部发到公网,变更前先确认 route-map 已限定范围。
重分发与 network 宣告的差别:network 宣告要求路由存在于路由表中并将 ORIGIN 置为 IGP,重分发则按来源整体引入并把 ORIGIN 置为 incomplete;把内网明细对外发布时优先考虑汇总加宣告,而不是直接重分发整张表。