出口设计先定目标再选属性
出口选路的目标通常有三类:主备(正常只用一条)、按链路分摊(多条同时使用)、按业务分流(不同业务走不同出口)。目标确定后,才轮到选择用哪个属性表达:LOCAL_PREF 控制本 AS 从哪个出口出网,MED 与社区用于与对端协商入口方向,AS_PATH 预置作为兜底手段。属性选错时的典型后果是「设计写的是主备,实际却是随机选路」。
基本信息
| 本端控制 | LOCAL_PREF 决定本 AS 内部的出口偏好,值大者优先 |
|---|---|
| 对端协同 | MED 建议对端入口选择,需对端认可并按同源 AS 比较 |
| 兜底手段 | AS_PATH 预置降低某条链路吸引力,无需对端配合 |
| 设计文档 | 每个出口写明适用条件、预期流向与回退步骤 |
| 方向提醒 | 出向优化不影响回程,两个方向需分别设计 |
典型使用场景
- 双运营商主备:主用设置高 LOCAL_PREF,备用保持默认或降低
- 按业务分流:不同前缀打不同社区,配合出口策略分别指向不同链路
- 带宽分摊:两条链路设置接近的优先级,再用流量分析验证实际分布
- 临时引流:割接或演练期间调整优先级,结束后按预案恢复
- 回程优化:与对端协商 MED 或社区,改善本网入向流量分布
主备出口配置
主备出口配置
# 主出口:从该邻居学到的默认路由设置高本地优先级
route-map LP-PRIMARY permit 10
set local-preference 200
!
router bgp 65001
neighbor 10.0.0.2 route-map LP-PRIMARY in
!
# 备用出口保持默认,主用失效后自然接管
!
# 验证:查看默认路由的本地优先级与最优标记
show ip bgp 0.0.0.0
show ip bgp 0.0.0.0 | include LocPrf目标与手段匹配
| 目标 | 主用手段 | 适用条件 |
|---|---|---|
| 本 AS 出口主备 | LOCAL_PREF | 两端都是本 AS 内部设备,属性可传递 |
| 影响对端入口 | MED 或社区约定 | 对端认可并按同源 AS 比较 MED |
| 不依赖对端 | AS_PATH 预置 | 对端按最短路径选择并接受预置结果 |
| 按前缀分流 | prefix-list 匹配后设属性 | 前缀集合清晰且稳定 |
验证与观察
验证与观察
# 1) 出口侧核对本地优先级
show ip bgp 0.0.0.0
# 2) 从不同业务源发起探测,确认路径与设计一致
traceroute 203.0.113.1 source 10.10.2.1
# 3) 核对发出内容,确认对端能看到预期属性
show ip bgp neighbors 10.0.0.2 advertised-routes
# 4) 观察实际流量分布,确认结果符合设计配置上线后要有人能读懂意图:route-map 名称、社区编号与设计文档三者要能互相对照。缺少这层对应关系时,后续变更很难判断哪条配置还能删。