IPsec 的组成
IPsec 由三部分构成:IKE 负责协商密钥与安全参数,ESP 或 AH 负责封装与保护数据,SA(安全关联)描述单向的安全参数集合。两端必须协商出完全一致的参数才能建立,因此排障时先看 IKE 阶段是否成功,再看 IPsec 阶段与 SA 是否双向成对。
基本信息
| IKE | UDP 500 协商,NAT-T 场景使用 UDP 4500 |
|---|---|
| ESP | IP 协议号 50,加密并可选完整性校验(最常用) |
| AH | IP 协议号 51,仅提供完整性,不支持 NAT 场景 |
| SA | 单向安全关联,收发成对存在 |
| 阶段划分 | 第一阶建 IKE SA,第二阶建 IPsec SA |
| 查看命令 | show crypto isakmp sa / show crypto ipsec sa(Cisco) |
典型使用场景
- 分支机构与总部之间建立站点到站点 VPN
- 云上虚拟网络与本地机房通过隧道互通
- 与第三方互联:双方约定加密算法与预共享密钥
- 远程接入场景中用 IKEv2 支持移动与多路径切换
- 合规要求下对特定链路做加密传输
状态查看
状态查看
# Cisco
show crypto isakmp sa # 第一阶:IKE SA 状态与对端
show crypto ipsec sa # 第二阶:IPsec SA 与加解密计数
show crypto session # 会话汇总视图
# 华为
display ike sa
display ipsec sa三层状态对照
| 层次 | 作用 | 正常表现 |
|---|---|---|
| IKE SA | 协商并保护后续会话 | 状态为已建立,双向各一条 |
| IPsec SA | 保护实际数据流 | 出向与入向各一条,加解密计数增长 |
| 路由与感兴趣流 | 决定哪些流量进隧道 | 两端感兴趣流互相对应,路由指向隧道接口 |
两端参数必须完全一致:加密算法、完整性算法、DH 组、认证方式与预共享密钥任一不符,第一阶段就会失败。
AH 与 NAT 不能共存:地址转换会修改头部导致完整性校验失败,穿越 NAT 的场景应使用 ESP 并开启 NAT-T。
建立顺序与排查线索
建立顺序与排查线索
# 1. 检查 UDP 500(NAT 场景 4500)是否双向可达
show crypto isakmp sa # 2. 第一阶是否建立,对端状态与错误提示
show crypto ipsec sa # 3. 第二阶是否建立,加解密计数是否增长
show crypto session # 4. 会话汇总视图,确认感兴趣流是否匹配
# 计数不变说明流量没有进隧道:优先检查感兴趣流与路由两类常见失败位置:第一阶失败多半是参数或密钥不一致,第二阶失败多半是感兴趣流不匹配或提议参数不同;先确定卡在哪一阶段,再比对两端对应配置。