首页/网络/BGP 与广域网速查/EBGP 多跳(ebgp-multihop)
BGP 基础与邻居89 条

EBGP 多跳(ebgp-multihop)

EBGP 默认 TTL=1 只允许直连:非直连建立需要 ebgp-multihop 指定跳数与可达路由(或直接配合环回口对等)。

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

多跳 EBGP 是什么

EBGP 默认只允许直连建立会话,因为会话报文 TTL 为 1,跨一台设备就会被丢弃。当两端不是直连(例如使用环回口对等、或中间隔着一台传输设备)时,需要配置 ebgp-multihop 指定允许的跳数,同时保证两端都能路由到对方的会话地址。

基本信息

默认行为EBGP 报文 TTL=1,跨设备即丢
配置neighbor <ip> ebgp-multihop <ttl>,按实际跳数加余量设置
配套通常与 update-source 环回口一起使用
前提两端有到对端会话地址的路由(静态或 IGP)
安全跳数不要开过大,可叠加 GTSM 做来源校验
华为对应peer <ip> ebgp-max-hop <跳数>

典型使用场景

  • 用环回口建立 EBGP 会话,链路切换时会话不重建
  • 跨传输设备与对端互联,无法直连建立会话
  • 双链路同一对端:用环回口对等提升会话稳定性
  • 与云上虚拟网关互联:会话地址不在同一段
  • 多跳场景配合 TTL 安全检查,防止伪造报文

典型配置

典型配置
router bgp 65001
 neighbor 10.0.0.9 remote-as 65002
 neighbor 10.0.0.9 update-source Loopback0    # 用环回口作为会话源
 neighbor 10.0.0.9 ebgp-multihop 3            # 允许 3 跳,按实际路径加余量
!
show ip bgp neighbors 10.0.0.9                # 核对状态与多跳配置
show ip route 10.0.0.9                        # 确认两端都能路由到会话地址

跳数与配置选择

场景建议跳数说明
同一台设备直连默认(1)无需配置多跳
隔一台三层设备2留 1 跳余量
隔两台或多跳冗余路径3 或略高路径变化时仍可建立
环回口对等加多路径按最长路径加余量过长会削弱伪造报文的防护
多跳 EBGP 之前先确认两端有到对端环回地址的路由:路由不通时配置多跳只是让报文能发出去,问题依旧。
TTL 设置不要照着最小跳数写:链路切换或路径变化时,跳数刚好不够会导致会话偶发中断,难以定位。

配置核对清单

检查项正确表现常见错误
对端地址指向对端环回或稳定接口地址指向会随链路变化的接口地址
源地址update-source 指定同一接口未指定导致源地址不匹配
跳数按最长路径加余量按最小跳数设置
路由两端都可路由到会话地址只有一侧有路由
安全必要时启用 TTL 校验跳数放得过宽无防护

易错点

  • 忘记 update-source:源地址用出接口地址,对端邻居指向环回时匹配不上
  • TTL 设置过小按最小跳数设置:路径变化时偶发会话中断
  • 只配多跳不配路由:报文能发出但回包无路可走,会话停在 OpenSent 或 Active
  • 跳数放得过宽:伪造报文的防护削弱,建议同时启用 TTL 安全机制

数据来源与参考

  • Cisco: ebgp-multihop 配置
  • 厂商: BGP 多跳部署指南
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌