被动模式的取舍
默认情况下,BGP 配置邻居后本端会主动尝试建立 TCP 连接,同时也在监听 179。被动模式(passive)让本端只监听、不主动发起,适合对端固定主动连接、或希望减少对外扫描面的场景。需要注意的是,被动并不等于「只收不发」:会话一旦建立,路由交换照常双向进行。
基本信息
| 作用 | 本端不主动发起连接,仅等待对端连接 |
|---|---|
| 配置方式 | 邻居下设置连接模式为 passive(各平台命令略有差异) |
| 适用场景 | 单向可达、对端固定发起、降低扫描面 |
| 风险 | 两端都配置被动时谁都不发起,会话无法建立 |
| 验证 | 查看邻居配置中的连接模式与当前状态 |
典型使用场景
- 客户侧固定主动连接:运营商侧配置被动,减少无用连接尝试
- 单向可达:回程路径受限,只有对端能主动发起时使用
- 安全加固:减少设备主动对外发起 179 连接的行为
- 与 GTSM 配合:在直连对等上同时使用 TTL 校验与被动模式
- 排障隔离:临时改为被动,确认问题出在发起方向还是监听方向
配置与查看
配置与查看
# 邻居改为被动连接模式(以 Cisco IOS 为例)
router bgp 65001
neighbor 10.0.0.2 transport connection-mode passive
!
show ip bgp neighbors 10.0.0.2 | include passive
#
# 确认本端仍在监听 179
show tcp brief | include 179
show ip bgp summary连接模式组合结果
| 本端 | 对端 | 结果 |
|---|---|---|
| 主动 | 主动 | 双方同时发起,按冲突处理规则保留一条 |
| 主动 | 被动 | 主动方连接成功,会话正常建立 |
| 被动 | 主动 | 同上,方向相反 |
| 被动 | 被动 | 无人发起,会话持续停留在 Idle 或 Active |
会话建不起来时的核对
会话建不起来时的核对
# 1) 检查双方是否都被动
# 分别执行:
show running-config | include connection-mode
# 2) 检查本端是否在监听 179
show tcp brief | include 179
# 3) 从对端测试端口可达性
# Test-NetConnection 10.0.0.1 -Port 179
# 4) 抓包确认有无 SYN 发出被动模式只改变由谁发起连接,不改变安全边界:没有入向策略的会话依然可能收到伪造路由。安全加固需要与前缀过滤、AS 校验、GTSM 等机制组合使用。