BGP的配置问题?

1. BGP 邻居建立流程回顾

BGP 使用 TCP 179 建立会话,主要步骤:

  1. 三次握手建立 TCP 连接
  • 邻居双方 TCP 三次握手完成,才能进入 BGP FSM(Finite State Machine)状态。
  • BGP Open 消息交换
  • 交换 ASN、Hold Time、能力(Capability)信息。
  • Keepalive 消息维持会话
  • 定期发送 Keepalive 消息保持邻居状态。
  • Update 消息传递路由信息

如果某一步失败,邻居状态就不会变成 Established。常见状态有:

  • Idle:初始状态,等待启动
  • Connect:尝试建立 TCP
  • Active:TCP 建立失败,继续尝试
  • OpenSent / OpenConfirm:TCP 成功,Open 消息交换中
  • Established:邻居成功建立,可以收发路由

2. 防火墙对 BGP 邻居的影响

2.1 TCP 端口阻断

  • BGP 使用 TCP 179
  • 如果防火墙策略未允许 TCP 179,BGP 无法建立连接
  • 表现:
    • Active 状态徘徊不前
    • Ping 通对端 IP,但 BGP 握手失败

2.2 ACL 或策略路由

  • 防火墙可能对源 IP、目的 IP 或接口做策略限制
  • 可能只允许特定 IP 建邻居
  • 造成部分邻居无法建立,另一部分邻居正常

2.3 NAT 影响

  • 在 NAT 环境下,如果没有静态 NAT 映射 BGP 源端口或地址,BGP 握手也可能失败

2.4 日志观察

  • 防火墙日志可以查看 TCP 179 被阻止的情况
  • 网工常用命令:
    display firewall session
    display firewall policy

3. 排障思路

当 BGP 邻居建不起来时,可以按以下顺序排查:

  1. 确认接口可达
  • Ping 对端 IP 是否通
  • traceroute 检查路由路径是否中断
  • 确认 TCP 179 是否通
  • 使用 telnet <BGP_neighbor_IP> 179 或 nc -zv <IP> 179
  • 如果 TCP 握手失败,说明防火墙或 ACL 阻止
  • 检查 BGP 配置
  • ASN 是否正确
  • 邻居 IP 是否正确
  • 对端 BGP 是否启用
  • 分析防火墙策略
  • 确认防火墙允许 TCP 179 双向通过
  • 检查策略是否限制源/目的 IP 或接口
  • 在多层防火墙环境下,确保每一跳的策略都放行 BGP 会话
  • 查看 TCP 状态
  • 在路由器上:
    display tcp brief
    检查是否有 TCP SYN 发送但未收到 ACK
  • SYN 发出但无 ACK,一般说明中间设备(防火墙、ACL)阻断
  • 确认 NAT 或策略路由
  • BGP 建邻居时,源 IP 和端口必须保持一致
  • NAT 或策略路由可能修改源 IP,导致 TCP 握手失败
  • 日志分析
  • 路由器日志查看 BGP FSM 状态变化
  • 防火墙日志查看是否有 TCP 179 被拒绝的记录

4. 防火墙配置注意点

  • 允许 TCP 179 双向
    • 内外网或者不同区域都必须放行
  • 保持源 IP 一致
    • 如果使用 NAT,需要静态 NAT 映射 BGP 对端 IP
  • 考虑高可用与备份链路
    • 多条链路时,每条链路都要放行 BGP 会话
  • 避免策略过细导致误杀
    • 仅放行特定端口和源 IP,避免放行过多,同时保证邻居可达

5. 建立稳定 BGP 邻居的建议

  1. 端口固定
  • TCP 179 默认即可,不建议修改
  • 双向检查
  • 对端路由器和防火墙都要确认策略
  • 定期监控
  • 使用 SNMP 或监控工具监控 BGP 会话状态
  • 模拟断链实验
  • 提前测试防火墙策略,确保链路切换不会影响邻居
  • 文档化配置
  • 所有 BGP 邻居、ASN、防火墙策略要有详细文档,方便排障

6. 总结

  • BGP 邻居建立失败最常见的隐形原因就是 防火墙阻断 TCP 179
  • Ping 可通 ≠ BGP 成功,必须确认 TCP 三次握手是否完成
  • 排障顺序:接口可达 → TCP 179 测试 → 配置检查 → 防火墙/ACL → 日志分析
  • 稳定邻居建立依赖正确配置、防火墙放行、NAT 注意以及定期监控

一句话总结:BGP 是 TCP 会话,TCP 不通就别谈邻居建立

阅读剩余
THE END