LOCAL_PREF 分层规划
LOCAL_PREF 只在同一个 AS 内部传递,值越大越优先,用来表达「本 AS 更愿意从哪个出口出去」。既然它天然适合排序,就不要让各边界路由器随手取数:按链路类型划分固定数值区间(中转、对等、客户各占一段),每段内预留扩展位,策略变得可读、可扩展、可审计。
基本信息
| 取值范围 | 0 ~ 4294967295,默认 100,数值越大越优先 |
|---|---|
| 传播范围 | 仅在本 AS 内通过 IBGP 传递,不跨 EBGP 传出 |
| 设置位置 | AS 边界路由器的入向策略(route-map / route-policy) |
| 一致性要求 | 同一前缀的所有出口需按同一套区间设定,避免设备间判断不同 |
| 生效方式 | 策略变更后对已学路由做入向软刷新重新评估 |
典型使用场景
- 客户流量优先走客户链路:客户前缀指派高区间,符合「客户优先」的通用策略
- 对等与中转分层:明确对等高于中转,避免流量从付费链路外发
- 双出口主备:主链路 130、备链路 120,靠数值差完成无抖动切换
- 新增链路等级:区间预留空位时可直接插入新等级,无需打破既有规律
- 交接与审计:用一张数值区间表说明全 AS 的出口优先级设计
按分层设置与核对
按分层设置与核对
# Cisco:中转备份 / 客户主链路
route-map LP-T2 permit 10
set local-preference 90
route-map LP-C1 permit 10
set local-preference 130
# 华为 VRP:在 route-policy 中应用
route-policy RP-IN permit node 10
apply local-preference 130
# 核对生效值与来源
show ip bgp 10.1.1.0/24 | include localpref
clear ip bgp 10.0.0.2 soft in # 策略改动后按邻居软刷新数值区间设计示例
| 链路类型 | LOCAL_PREF 区间 | 说明 |
|---|---|---|
| 中转 transit | 80 ~ 99 | 兜底出口,低于其他类型 |
| 对等 peer | 100 ~ 119 | 与中转拉开差距,避免走付费链路 |
| 客户 customer | 120 ~ 139 | 最高常用区间,符合客户优先原则 |
| 特殊策略 | 140 以上 | 黑洞、引流等专用,单独记账 |
LOCAL_PREF 不跨 EBGP 传播,所以它只解决「本 AS 从哪出去」;对端从哪进来要靠 MED 或社区与对端协商,两件事不要混用同一套数值表。
AS 内部路由器不要二次覆盖 LOCAL_PREF:它在本 AS 内传播,中转设备再改一次会把边界处的分层设计冲掉,事后也很难判断是哪台设备改的值。