update-source 的作用
update-source 用于指定 BGP 会话使用的源地址,最常见做法是指向环回接口。这样即使物理接口切换或链路故障,会话源地址仍保持不变,邻居不需要重建;代价是要求两端都能路由到该环回地址,并常与多跳、下一跳改写等配置配合使用。
基本信息
| 目的 | 会话源地址稳定,推荐使用环回口 |
|---|---|
| 配置命令 | neighbor <ip> update-source Loopback0 |
| 前提 | 对端到该地址有路由;两端都用环回时注意下一跳 |
| 与多跳配合 | EBGP 跨设备时需同时配置 ebgp-multihop |
| 联动 | IBGP 场景常配合 next-hop-self |
| 验证 | show ip bgp neighbors <ip> 查看本地与对端地址 |
典型使用场景
- 双链路互联:链路切换时会话不重建,减少路由波动
- IBGP 邻居使用环回口对等,提升会话稳定性
- EBGP 多跳场景:与 ebgp-multihop 一起使用
- 排障时统一源地址,便于中间设备的策略匹配
- 割接与演练:减少链路操作对会话的影响
配置示例
配置示例
interface Loopback0
ip address 10.0.0.1 255.255.255.255
!
router bgp 65001
neighbor 10.0.0.2 remote-as 65001
neighbor 10.0.0.2 update-source Loopback0 # 会话源固定为环回口
neighbor 10.0.0.2 next-hop-self # 配合内网邻居改写下一跳
!
show ip bgp neighbors 10.0.0.2 | include Local host
show ip route 10.0.0.2 # 确认到对端环回的路由常见配置组合
| 场景 | 需要的配置 | 说明 |
|---|---|---|
| IBGP 用环回口对等 | update-source 加 IGP 可达 | 最常见的稳定设计方案 |
| EBGP 跨设备对等 | update-source 加 ebgp-multihop | 两者缺一会话建不起来 |
| 内网设备出向改写 | next-hop-self | 避免内网无法到达外部下一跳 |
| 双链路冗余 | 环回口加 IGP 多路径 | 链路切换不影响会话存在 |
环回口对等加上底层 IGP 冗余,可以做到接口故障时会话源地址不变、邻居不重建,这是提升 BGP 稳定性的常用做法。
单向配置 update-source 会导致会话建立失败:两端源地址必须互相匹配,配置变更需要两端同时确认。
使用环回口对等后,核对对端是否能看到该地址:只要有一条到该地址的路由即可,不必让该地址出现在任何物理链路上。