首页/网络/BGP 与广域网速查/子 SA 建立但对不上:选择符排查
IPsec VPN60 条

子 SA 建立但对不上:选择符排查

两侧子 SA 的选择符必须互为镜像(源=对端目的):一端写全、另一端只写一半或网段写错,会表现为 SA incomplete 或数据包计数不增长。

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

子 SA 对不上怎么查

子 SA 建立了但对不上,最常见的原因是两侧选择符不互为镜像:本端的源应该等于对端的目的,一端写全、另一端只写一半或掩码写错,都会表现为 SA 不完整或数据包计数不增长。核对原则很简单——两侧的选择符必须严格镜像。

基本信息

镜像原则本端选择符的源与目的,等于对端的目的与源
典型现象选择符看起来完整,但数据包计数为 0
常见错误掩码不一致、有无 /32、网段范围写错
验证方式两端同时触发流量,观察双向计数
核对命令show crypto ipsec sa 的选择符与计数

典型使用场景

  • 隧道建立但业务不通:检查选择符是否镜像
  • 单向可通:检查回程方向的选择符与策略
  • 割接后新增网段不通:确认新网段已加入两侧 ACL
  • 多网段场景:逐条核对每对子 SA 的覆盖范围
  • 跨厂商对接:两侧选择符写法差异要逐条比对

核对命令

核对命令
show crypto ipsec sa | include local ident|remote ident|pkts
# 期望结果:双向的 encaps 与 decaps 计数都在增长
!
# 华为侧
display ipsec sa
!
# 关注点:本端 local ident 与对端 remote ident 是否严格镜像

常见不匹配

现象原因处理
SA 不完整一侧网段写多或写少两侧 ACL 逐条对齐
计数为 0流量未命中选择符确认报文方向与源目地址
单向加密回程选择符缺失补齐反方向策略
只配置单向 ACL 时会出现看似协商成功、回程却不加密的情况:验证时要同时触发两个方向的流量,只看单向计数会误判。
网段汇总不一致是最隐蔽的原因:一端写 /24、另一端写 /32 时子 SA 覆盖范围不同,业务看似通但部分地址不可达。
选择符核对建议逐条列表比对而不是凭印象:网段数量多的时候,凭记忆比对的漏检概率很高。
修改选择符后应重建 SA 才会生效:既有子 SA 仍按旧规则工作,改完立刻验证容易得出错误结论。
把两侧选择符整理成对照表:一条本端源对应一条对端目的,逐行核对比在设备上翻输出更可靠。

易错点

  • 只配置单向 ACL:看似协商成功,回程流量实际不被加密
  • 网段掩码不一致:一端 /24 一端 /32,子 SA 覆盖范围不同,部分地址不通
  • 新增网段只改一侧:SA 覆盖不全,业务部分可用最具迷惑性
  • 凭印象核对选择符:网段多时容易漏检,应逐条列表比对

数据来源与参考

  • Cisco: IPsec SA 排错
  • RFC 4301: IPsec 架构
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌