首页/网络/BGP 与广域网速查/LOCAL_PREF:AS 内的出口偏好
BGP 选路与策略62 条

LOCAL_PREF:AS 内的出口偏好

LOCAL_PREF 表示本 AS 内对某前缀的偏好程度,数值大者胜;默认 100,随 iBGP 传播、不发送给 eBGP 邻居,是控制出向选路的核心属性。

BGP 与广域网速查网络更新于 2026-10-13

LOCAL_PREF 是什么

LOCAL_PREF(本地优先级)是必遵自愿属性,表示本 AS 内对某前缀的偏好程度,数值大者胜,默认 100。它随 iBGP 在同一 AS 内传播,但不会发送给 eBGP 邻居——因为它描述的是「本 AS 想从哪个出口出去」,对外部没有意义。

为什么不用 weight 代替

weight 只在本机生效,多出口设备一旦把出口选择交给另一台路由器,本机的 weight 就管不到它。LOCAL_PREF 通过 iBGP 传播,可以让同一 AS 内所有路由器对一个前缀得出相同偏好,这也是它成为出向选路主力的原因:只有一处设置,全网一致生效。

基本信息

决策位置第 2 位(weight 之后)
数值方向大者胜
默认值100
取值范围0 ~ 4294967295(32 位)
传播范围AS 内 iBGP 携带;不向 eBGP 邻居发送
典型写法route-map set local-preference / 华为 route-policy apply local-preference

典型使用场景

  • 双运营商出口,希望内网统一从主用线路出去:在主用入口入向抬高 LOCAL_PREF
  • 与对端协商主备切换:把备份线路的 LOCAL_PREF 调到低于主用,主路失效才接管
  • 区分业务等级:重要业务前缀设高值,普通上网流量保持默认
  • 出口设备统一发布偏好:在 iBGP 出向设置,让全 AS 按同一基线计算
  • 临时排障:先把某条路径压低观察流量是否如预期切换
  • 遗留系统迁移:老设备只支持基于 LOCAL_PREF 的出口策略时按原设计继承

三种设置方式

方式作用范围典型场景注意点
bgp default local-preference本机接收路由的默认值全网统一调整基线会一并影响所有未另行设置的前缀
route-map set local-preference(in)命中前缀按业务精细控制出口范围由 match 限定,别只写 set
route-map set local-preference(iBGP out)发往 iBGP 邻居的路由由出口设备统一发布偏好影响面覆盖整个 AS,需评估后实施

设置与验证

设置与验证
route-map LP-150 permit 10                # 定义命中后设置本地优先级的策略
 set local-preference 150                 # 数值大者优先,默认 100
!
router bgp 65001
 neighbor 10.0.0.2 route-map LP-150 in     # 入向生效:影响本机出口选择
!
show ip bgp 10.1.1.0/24 | include locPrf   # 核对 LocPrf 列是否为 150
show ip bgp neighbors 10.0.0.2            # 核对策略是否已应用到该邻居

华为 VRP 对照

华为 VRP 对照
route-policy LP-150 permit node 10
 if-match ip-prefix PFX-BIZ               # 先限定前缀范围,避免全表生效
 apply local-preference 150
#
bgp 65001
 peer 10.0.0.2 route-policy LP-150 import  # import 相当于 IOS 的 in 方向

与相邻属性的分工

属性作用范围方向数值偏好
Weight仅本机本机决策大者胜
LOCAL_PREF本 AS(iBGP 传播)决定出 AS 方向大者胜
MED相邻对端 AS建议对端入 AS 方向小者胜
入向设置只影响本机;要让全 AS 按同一偏好计算,应该在产生路由的出口设备上设置,再经 iBGP 传播给其他路由器。
新加入或重启的设备 LOCAL_PREF 会回到默认 100,若不与既有基线对齐,可能在全网计算中产生意外回退,变更前先确认各设备基线值。
核对是否生效看 show ip bgp <前缀> 的 LocPrf 列:若显示 100 而你设了 150,多半是 route-map 没挂到该邻居,或前缀没被 match 命中。
LOCAL_PREF 与 weight 都表示偏好且都是大者胜,但优先级不同:weight 排第 1 位。若发现改 LOCAL_PREF 无效,先检查是否被更靠前的步骤压制。
与对端协商主备时注意方向差异:你只能控制自己的出口意愿,对端从哪条链路进来由它的 LOCAL_PREF 与你的 MED 共同决定,双方策略要一起核对。
生产变更建议安排在业务低谷并保留回退脚本:先把新策略挂在测试前缀上验证,再扩大到目标集合,出现异常时立即去掉邻居上的 route-map 引用即可恢复默认行为。

易错点

  • 在 eBGP 出向设置 LOCAL_PREF:属性不发给 eBGP 对端,等于没配
  • 只改单点数值不核对全 AS 基线:新设备默认 100 会与既有 150 策略产生意外回退
  • 同一前缀多处设置造成冲突:多台设备各自设置时以最后经 iBGP 收到的值为准,需明确唯一设置点
  • 范围失控:route-map 只写 set 不写 match,策略会作用到该邻居的全部路由
  • 备份路径 LOCAL_PREF 与主路径差值过小:网络抖动时来回切换,业务出现丢包与重建
  • 在 iBGP 出向设置时忘记评估影响面:一条出向策略会改变整个 AS 对该前缀的出口,需先在实验室或小范围内验证

数据来源与参考

  • RFC 4271: LOCAL_PREF 属性
  • Cisco: BGP LOCAL_PREF 配置指南
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌