首页/网络/BGP 与广域网速查/BGP 认证:TCP MD5 与 TCP-AO
BGP 基础与邻居89 条

BGP 认证:TCP MD5 与 TCP-AO

BGP 支持 TCP MD5 摘要与更新的 TCP-AO:两端密钥必须一致,否则会话建立失败且日志多只显示建连问题。

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

BGP 认证用的是什么

BGP 本身不带认证字段,认证依赖 TCP 层的扩展:传统做法是 TCP MD5 摘要,较新的标准是 TCP-AO。两者都要求两端使用完全相同的密钥,任何一处不一致都会让会话在建连或 Open 阶段失败,而日志里往往只显示笼统的建连失败信息,因此核对密钥是排障的重要一步。

基本信息

TCP MD5广泛支持,RFC 2385;密钥直接配置
TCP-AO更现代,支持密钥轮换,RFC 5925
匹配要求两端密钥完全一致,含大小写与空格
配置(IOS)neighbor <ip> password <密钥>
配置(华为)peer <ip> password cipher <密钥>
排障特征认证失败常表现为握手失败或反复重连

典型使用场景

  • 与运营商互联:按合同开启认证,防止会话被冒名建立
  • 内部设备之间:开启认证降低伪造报文的风险
  • 合规要求场景:审计需要证明会话具备完整性校验
  • 密钥轮换:按周期更换并验证不中断业务
  • 排障:会话反复失败时确认是否为密钥不一致

配置示例

配置示例
# Cisco
router bgp 65001
 neighbor 10.0.0.2 password S3cretKey
!
# 华为
bgp 65001
 peer 10.0.0.2 password cipher S3cretKey
!
show ip bgp neighbors 10.0.0.2 | include password   # 核对是否已配置
display bgp peer 10.0.0.2 verbose                    # 华为侧核对

认证失败的典型表现

表现原因处理
会话反复建立又断开两端密钥不一致逐字符核对密钥
停在 Active 或 ConnectTCP 层校验失败确认密钥与两端配置顺序
日志提示校验错误密钥不匹配核对大小写与特殊字符转义
部分邻居正常部分异常仅部分邻居配置了密钥逐个邻居核对认证配置
更换密钥时注意两端操作窗口:错峰修改期间会话必然会中断,建议在业务低谷期进行并准备回退。
密钥中的特殊字符在不同平台上的转义规则不同:修改后先在非关键邻居上验证,再推广到全部邻居。

排障与核对

排障与核对
show ip bgp neighbors 10.0.0.2 | include password   # 本端是否已配置认证
show ip bgp summary                                  # 观察会话是否反复重建
# 若怀疑认证问题,可用实验环境临时移除单侧认证复现,确认后再统一配置

易错点

  • 密钥含特殊字符时各厂商转义规则不同:改密钥后先双端验证再推广
  • 把认证失败误判为路由问题:日志里往往有 TCP 或摘要校验相关提示
  • 只在一端配置认证:会话无法建立,需要两端同时配置
  • 密钥轮换不做演练:轮换窗口内全部邻居同时中断,影响面被放大

数据来源与参考

  • RFC 2385: TCP MD5
  • RFC 5925: TCP-AO
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌