what?BGP 邻居死活建不起来,最后发现是防火墙搞的鬼

B站影视 韩国电影 2025-08-25 23:39 2

摘要:它不像 OSPF、EIGRP 那样局限在内部网络,邻居建立失败会直接导致跨网段甚至跨运营商网络不可达。

号主:老杨丨11年资深网络工程师,更多网工提升干货,

BGP 是互联网骨干和大规模企业网络必用的外部路由协议。

它不像 OSPF、EIGRP 那样局限在内部网络,邻居建立失败会直接导致跨网段甚至跨运营商网络不可达。

很多新手排障第一反应是看 IP、ASN 或者接口状态,其实真正的隐形敌人往往是防火墙

只要 TCP 179 端口被阻止,BGP 邻居就无法建立,表面上看起来配置都对,但就是握手失败。

今天深入讲解 BGP 邻居建立失败的原因、排障思路,以及防火墙相关的注意点。

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

三次握手建立 TCP 连接

邻居双方 TCP 三次握手完成,才能进入 BGP FSM(Finite State Machine)状态。

BGP Open 消息交换

交换 ASN、Hold Time、能力(Capability)信息。

Keepalive 消息维持会话

定期发送 Keepalive 消息保持邻居状态。

Update 消息传递路由信息

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

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

防火墙日志可以查看 TCP 179 被阻止的情况

网工常用命令:

display firewall session
display firewall policy

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

确认接口可达

Ping 对端 IP 是否通traceroute 检查路由路径是否中断

确认 TCP 179 是否通

使用 telnet 179 或 nc -zv 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 被拒绝的记录

端口固定

TCP 179 默认即可,不建议修改

双向检查

对端路由器和防火墙都要确认策略

定期监控

使用 SNMP 或监控工具监控 BGP 会话状态

模拟断链实验

提前测试防火墙策略,确保链路切换不会影响邻居

文档化配置

所有 BGP 邻居、ASN、防火墙策略要有详细文档,方便排障

来源:网络工程师俱乐部一点号

相关推荐