MED 的两条配置途径
MED 有两条常用设置途径:default-metric 为重分发引入的路由设统一默认值,route-map 中 set metric 按前缀精确设置。两者都作用在「发给对端的方向」,也就是针对 eBGP 邻居的 out 方向,写错方向时改的是自己收到的值,对引导对端入口毫无帮助。
基本信息
| default-metric | 重分发路由的默认 MED,影响面是按来源划分的 |
|---|---|
| set metric | 按前缀设置 MED,配合 prefix-list 限定范围 |
| 作用方向 | 对 eBGP 邻居的 out 方向设置 |
| 数值方向 | 小者胜,默认 0 |
| 验证 | 对端查看该前缀的 metric 值,或看本机 advertised-routes |
| 华为对应 | route-policy 中 apply cost |
典型使用场景
- 同一运营商双链路:主链路设小值,备用设大值,引导对端入向
- 按机房容量分流:不同机房发布的 MED 不同,控制入向流量比例
- 重分发场景统一设默认 MED,避免对端看到 0 造成全部走同一条
- 割接时临时调整某网段入口,不改变可达性与发布范围
- 与对端协商:明确双方按 MED 还是按其他属性决定入口
配置示例
配置示例
router bgp 65001
default-metric 100 # 重分发路由的默认 MED
!
ip prefix-list PFX-BIZ permit 192.168.100.0/24
route-map RM-MED permit 10
match ip address prefix-list PFX-BIZ
set metric 50 # 命中前缀 MED 改为 50
route-map RM-MED permit 999 # 兜底放行其余前缀
!
router bgp 65001
neighbor 10.0.0.2 route-map RM-MED out
!
show ip bgp neighbors 10.0.0.2 advertised-routes | include 192.168.100两种途径对照
| 途径 | 影响范围 | 适用场景 | 注意点 |
|---|---|---|---|
| default-metric | 全部重分发路由 | 统一基线,避免遗漏 | 不改变 network 宣告的路由 |
| set metric | 命中的前缀 | 精细控制单条或某类前缀 | 需保留兜底条目 |
| 两者同时使用 | 命中 route-map 的以前者为准 | 过渡阶段 | 两处数值并存时排查需逐项确认 |
MED 只在同一邻居 AS 的路径之间默认比较;向多个 AS 发布不同值时要确认对端策略,否则设置不会按预期起作用。
验证建议双向进行:本机看 advertised-routes 的 metric 是否为设置值,再请对端确认它学到了这条路径并采用了它。
同一前缀既被 network 宣告又被重分发时,MED 的取值来源可能不符合预期:先用 show ip bgp 确认该前缀的来源标记,再决定在 default-metric 还是 route-map 上设置。