阶段二失败的四类原因
阶段二协商子 SA,失败常见于四类:参数不匹配(ESP 算法、封装模式)、PFS 设置不同(一端要求、一端未配或 DH 组不同)、流量选择符不对等、以及策略模式下没有触发流量的兴趣流。策略模式需要流量命中 ACL 才会发起协商,所以「没有流量」本身就是一种常见的「失败」表现。
基本信息
| 参数不匹配 | ESP 算法或封装模式两侧不一致 |
|---|---|
| PFS 差异 | 一端要求一端未配,或 DH 组不同 |
| 选择符 | 两侧 ACL 或选择符未互为镜像 |
| 触发条件 | 策略模式需要流量命中 ACL 才发起协商 |
| 查看入口 | SA 状态、转换集或提议配置、策略列表 |
| 常见误区 | 没有流量时误判为协商失败 |
典型排查场景
- 新建隧道不通:先确认是否有流量触发(策略模式)
- 排障单向通:检查两侧选择符是否镜像
- PFS 场景:核对是否启用以及 DH 组是否一致
- 参数核对:ESP 算法、封装模式与生存周期逐项比对
- 验证闭环:用 SA 计数确认流量是否真的进了隧道
查看与验证
查看与验证
show crypto ipsec sa # Cisco:看子 SA 状态与流量计数
show crypto ipsec transform-set # 看算法与封装模式
! 华为侧
display ipsec sa # 看 SA 状态与统计
display ipsec policy # 看策略与选择符四类失败与判据
| 类别 | 典型表现 | 核对动作 |
|---|---|---|
| 参数不匹配 | 子 SA 协商失败 | 比对 ESP 算法与封装模式 |
| PFS 不一致 | 阶段一成功、阶段二失败 | 核对 PFS 与 DH 组 |
| 选择符不对等 | 部分流量不通或单向通 | 两侧 ACL 逐条对照 |
| 无触发流量 | 看不到子 SA | 先产生命中 ACL 的流量再观察 |
策略模式下没有流量就不会建立子 SA:「没有 SA」不等于「协商失败」,先 ping 或构造业务流量触发,再看 SA 与会话状态。
选择符写反是阶段二失败的常见原因:核对时以「本地到对端」的视角检查两侧 ACL,确保互为镜像而不是各自正确却对不上。