邻居基础配置是什么
BGP 会话建立在两台设备互指邻居之上:本机声明邻居地址与对端 AS 号,对端声明本机地址与本机 AS 号,两边配置匹配后会话才能进入 Established。最常见的建不起来的原因不是协议问题,而是两端 AS 号互指错误或其中一端根本没配。
基本信息
| 核心命令 | neighbor <ip> remote-as <asn> |
|---|---|
| 匹配要求 | 对端 remote-as 必须等于我方 AS 号,反之亦然 |
| 会话前提 | 两端 IP 可达;直连场景默认 TTL 为 1 |
| 核对点 | 两端 router-id 不能相同且建议唯一 |
| 验证 | show ip bgp summary 的 State/PfxRcd 列 |
| 地址族 | 地址族环境下需显式 activate,否则邻居起来但无前缀 |
典型使用场景
- 与运营商建立直连 EBGP 会话,交换公网路由
- 同一 AS 内两台边界设备建立 IBGP,同步外部路由
- 实验室搭建两机对等环境验证策略效果
- 新设备上线时先建立邻居再逐步放开路由
- 割接前验证底层可达性与 AS 号约定
两端配置
两端配置
# R1 (AS 65001)
router bgp 65001
bgp router-id 10.0.0.1
neighbor 10.0.0.2 remote-as 65002 # 指向 R2 的地址与 AS 号
!
# R2 (AS 65002)
router bgp 65002
bgp router-id 10.0.0.2
neighbor 10.0.0.1 remote-as 65001 # 指向 R1 的地址与 AS 号
!
show ip bgp summary # 两端都应为 Established 并显示前缀数建不起来时的对照
| 现象 | 可能原因 | 核对动作 |
|---|---|---|
| 状态停在 Active | 一端未配邻居或地址不可达 | 两端互相核对 neighbor 配置 |
| 状态停在 OpenSent | AS 号不匹配或认证不一致 | 核对 remote-as 与密码 |
| Established 但前缀为 0 | 地址族未 activate 或策略过滤 | 检查地址族配置与邻居策略 |
| 会话反复 Flapping | 底层链路抖动或定时器过短 | 查看复位原因与接口状态 |
| 两端都能 ping 但会话不起 | 中间设备拦截 179 | 检查 ACL 与防火墙策略 |
地址族环境下需要显式 activate:邻居 Established 但没有前缀交换时,先检查 IPv4 单播地址族下是否打开了该邻居。
IBGP 邻居的 remote-as 填本机 AS 号,EBGP 邻居填对端 AS 号,写错时状态会停在 OpenSent 并出现通知报文。
邻居建立后建议第一时间加上入向与出向过滤:先把集合收住再逐步放开,比先全放行再收紧风险小得多。
建立后的验收动作
建立后的验收动作
show ip bgp summary # 状态为 Established 且前缀数合理
show ip bgp neighbors 10.0.0.2 # 核对收发计数与最近复位原因
show ip bgp neighbors 10.0.0.2 advertised-routes # 核对本端发出的前缀
show ip bgp # 抽查收到的前缀是否都在预期范围内