A 端(动态 NAT 侧):内网 PC → FW-A → 上层 NAT 设备(模拟运营商光猫 / 家用路由)→ 互联网,FW-A WAN 是私网动态地址,无公网固定 IP
B 端(固定 NAT 侧):内网 PC → FW-B → 上层 NAT 设备(固定公网映射)→ 互联网,FW-B WAN 私网,对外映射固定公网 IP
现象:IKE 阶段 1 野蛮模式协商成功,快速模式(阶段 2)反复重传,无法生成 IPSec SA
一、7 个核心故障根源(按排查优先级排序,模拟器高频踩坑)
1. 野蛮模式 IKE 对等体 ID 不匹配(双侧 NAT 头号杀手)
野蛮模式不靠 IP 识别对等体,完全依赖 local-id/remote-id 校验;
动态 A 端:本地 ID 必须自定义名称(name 类型,不能用 ip),对端 ID 填 B 端名称
固定 B 端:本地 ID 名称与 A 端 remote-id 一致,remote-id 填 A 端名称
错误配置:一端 id-type ip、一端 id-type name,阶段 1 能协商,但阶段 2 身份校验失败直接丢弃快速模式报文。
2. NAT-T 未全局开启,双侧 NAT 后 UDP4500 报文不通
两侧设备都经过 NAT 转换,IKE 必须全局开启 nat-traversal;
模拟器默认关闭,仅开对等体内 nat-traversal 不生效,NAT 后 IKE 封装端口无法切换 4500,阶段 2 加密报文校验失败。
3. 感兴趣流 ACL 不匹配 / 无 NAT 豁免(最常见)
ACL 流量镜像不匹配:A 侧 ACL 源 A 内网、目的 B 内网;B 侧 ACL 源 B 内网、目的 A 内网,掩码必须完全一致(/24 不能配 / 32);
出口 SNAT 未做 VPN 网段豁免:内网互访流量被 NAT 转换,源 IP 改变,无法匹配 IPSec 保护流,快速模式 TS(流量选择器)校验拒绝,日志提示TS_UNACCEPTABLE。
4. 第二阶段安全提议参数不一致
双侧 ESP 隧道模式必须统一,以下参数全部匹配:
加密算法(aes128/aes256)、认证算法(sha1/sha256)
PFS 状态:两端同时开启 + 相同 DH 组,或全部关闭;一端开一端关直接阶段 2 失败
封装模式必须 tunnel(transport 不支持 NAT 穿越),禁止 AH 协议(AH 无法 NAT)。
5. 上层 NAT 设备未放行 UDP500/4500 端口(模拟器多层 NAT 必踩)
FW 外层模拟运营商 NAT 路由,仅做基础上网 SNAT,未放行 IKE 端口:
UDP500:阶段 1 野蛮模式协商
UDP4500:NAT-T 封装后的阶段 2 加密报文
端口拦截会导致阶段 1 完成,但阶段 2 加密报文无法送达对端。
6. 内网回程路由缺失,快速模式无回程报文触发重传
两端内网必须配置静态路由:对端内网网段,下一跳为本机 IPSec 隧道接口;
若流量默认走 WAN NAT 路由,报文不会进入 IPSec 保护流程,快速模式无响应。
7. 模拟器安全区域策略拦截 ESP 协议
防火墙 Untrust→Trust 区域默认拒绝 ESP 协议(IP 协议 50),仅放行 UDP500/450 不够,必须放行 ESP 报文,否则阶段 2 加密报文被安全策略丢弃。
二、标准化配置模板(HCL V7 防火墙,A 动态 NAT / B 固定 NAT)
统一规划
A 内网:192.168.1.0/24 ID 名称:dyn-fw
B 内网:192.168.2.0/24 ID 名称:fix-fw
预共享密钥:ipsec@123
IKE 提议:aes128 sha1 dh14
IPSec 提议:esp aes128 sha1,关闭 PFS,隧道模式
1. A 端(动态 NAT 分支,FW-A 完整配置)
bash
运行
system-view
# 1. 全局开启NAT-T(双侧NAT强制)
ike nat-traversal
# 2. 阶段1 IKE对等体 野蛮模式+名称ID
ike peer fix-fw aggressive pre-shared-key simple ipsec@123
ike-proposal 10
nat-traversal enable
# 核心ID配置
local-id type name dyn-fw
remote-id type name fix-fw
# 3. 感兴趣流ACL(镜像匹配)
acl number 3000
rule permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255
# 4. 出口SNAT 豁免VPN流量(关键)
nat address-group 1 200.1.1.10 200.1.1.20
acl number 3999
rule deny ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255
rule permit ip
interface GigabitEthernet 1/0/0 # WAN口,上层NAT
nat outbound 3999 address-group 1
# 5. IPSec策略,野蛮模式引用对等体
ipsec proposal tran1
esp encryption-algorithm aes-128
esp authentication-algorithm sha1
encapsulation-mode tunnel
ipsec policy map1 10 isakmp
security acl 3000
proposal tran1
remote-peer 0.0.0.0 ike-peer fix-fw # 动态对端填0.0.0.0
# 6. WAN口绑定IPSec策略
interface GigabitEthernet 1/0/0
ipsec apply policy map1
# 7. 内网回程路由,引流进隧道
ip route-static 192.168.2.0 255.255.2550 Tunnel0 mode ipsec
# 8. 安全策略放行ESP、UDP500/4500
security-zone name Untrust
import interface GigabitEthernet 1/0/0
zone-pair security source Untrust destination Trust
object-policy ip permit
object-policy service permit protocol esp
object-policy service permit udp destination-port eq 500
object-policy service permit udp destination-port eq 4500
2. B 端(固定 NAT 总部,FW-B 完整配置)
bash
运行
system-view
# 1. 全局NAT-T开启
ike nat-traversal
# 2. IKE对等体,ID与A端镜像
ike peer dyn-fw aggressive pre-shared-key simple ipsec@123
ike-proposal 10
nat-traversal enable
local-id type name fix-fw
remote-id type name dyn-fw
# 3. 反向ACL
acl number 3000
rule permit ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255
# 4. SNAT豁免
acl number 3999
rule deny ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255
rule permit ip
interface GigabitEthernet 1/0/0 # WAN,上层固定NAT映射公网203.1.1.1
nat outbound 3999 address-group 1
# 5. IPSec策略,指定对端公网映射IP
ipsec proposal tran1
esp encryption-algorithm aes-128
esp authentication-algorithm sha1
encapsulation-mode tunnel
ipsec policy map1 10 isakmp
security acl 3000
proposal tran1
remote-peer 203.1.1.1 ike-peer dyn-fw
# 6. WAN绑定策略、回程路由、安全策略同A端
interface GigabitEthernet 1/0/0
ipsec apply policy map1
ip route-static 192.168.1.0 255.255.255.0 Tunnel0 mode ipsec
# Untrust到Trust放行ESP、500/4500端口
三、模拟器分步排查顺序(快速定位阶段 2 失败)
步骤 1:确认 IKE 阶段 1 完整建立
bash
运行
display ike sa
# 输出有ESTABLISHED的IKE SA,说明预共享密钥、算法、ID基础协商没问题
步骤 2:开启 IKE 调试,抓取阶段 2 报错(核心定位手段)
bash
运行
diagnose
debugging ike all
terminal debugging
terminal monitor
报错TS unacceptable:ACL 感兴趣流不匹配 / 掩码不一致
报错no matching proposal:第二阶段 ESP 算法、PFS、隧道模式不匹配
报错ID validation failed:两端 local-id/remote-id 名称不对应
持续重传快速模式无回复:外层 NAT 拦截 UDP4500、安全策略拦截 ESP
步骤 3:验证 NAT 豁免是否生效
内网 PC ping 对端内网,查看 NAT 会话表:
bash
运行
display nat session table
# 看不到两端内网互访的转换会话,代表豁免生效;出现转换会话则NAT豁免配置错误
步骤 4:检查 NAT-T 与端口放行
确认全局ike nat-traversal已配置;
上层模拟 NAT 设备放行 UDP500、4500;
防火墙区域策略放行 IP 协议 50(ESP)。
步骤 5:核对第二阶段全量匹配项
全部使用 ESP,禁用 AH;
两端 PFS 同时 undo 或配置相同 dh 组;
封装模式统一 tunnel;
ACL 源目网段双向镜像、掩码完全相同。
四、模拟器专属避坑点(真机很少出现,HCL 高频)
多层 NAT 场景必须全局 nat-traversal:仅 ike peer 内开启不生效,模拟器路由 NAT 会剥离 NAT-T 标记;
野蛮模式动态端 remote-peer 必须填 0.0.0.0,填固定 IP 会拒绝动态对端快速模式请求;
Tunnel 接口路由不能指向对端公网 IP,必须mode ipsec引流;
HCL 防火墙默认区域策略拒绝 ESP,仅放行 UDP 端口会出现阶段 1 通、阶段 2 丢包;
模拟器上层 NAT 路由默认拦截 UDP4500,需手动放通端口,否则 NAT-T 无法切换封装端口。
最简总结
野蛮模式双侧 NAT 核心:名称 ID 镜像匹配 + 全局开启 NAT-T;
阶段 2 不通 90% 是 3 类问题:ACL 流量不匹配 / 未做 NAT 豁免、第二阶段 ESP 参数不一致、外层 NAT 拦截 UDP4500/ESP 报文;
模拟器必须在出口 SNAT 排除 VPN 内网流量,同时 Untrust 区域放行 ESP 协议,两端路由指向 IPSec 隧道接口。
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
发了