症状

本地设备: H3C SR6604

远程设备: H3C M9000

环境:跨地市同运营商IPSEC网对网配置

已知信息:两地通讯于周末某一时间中断,周末为双方通讯量最少的时间。

排查

在本端设备及对端设备上均检查dis ike sa“dis ipsec sa返回值,查询IKE交换及IPSEC隧道信息,返回值均为空,IPSEC与IKE协商完全中断,使用策略路由内地址重新ping对端专网内地址尝试触发IKE协商,但始终无法成功,ike sa返回unknown状态,ipsec sa无返回信息。

在本端设备使用调试命令打开IKE\IPSEC调试输出,控制台得到Phase 1交换信息,发现有发包无回包,如下

<sr6604>terminal logging level debugging
<sr6604>debugging ike all
<sr6604>debugging ipsec all
<sr6604>terminal monitor

<sr6604>*Jun 15 15:01:28:591 2020 sr6604 IKE/7/PACKET: -MDC=1; vrf = 0, local = 218.104.X.X, remote = 113.56.X.X/500
Retransmit phase 1 packet.
*Jun 15 15:01:28:591 2020 sr6604 IKE/7/PACKET: -MDC=1; vrf = 0, local = 218.104.X.X, remote = 113.56.X.X/500
Sending packet to 113.56.X.X remote port 500, local port 500.
*Jun 15 15:01:28:591 2020 sr6604 IKE/7/PACKET: -MDC=1; vrf = 0, local = 218.104.X.X, remote = 113.56.X.X/500

I-Cookie: e835d691fb089353
R-Cookie: 0000000000000000
next payload: SA
version: ISAKMP Version 1.0
exchange mode: Aggressive
flags:
message ID: 0
length: 380
*Jun 15 15:01:28:591 2020 sr6604 IKE/7/PACKET: -MDC=1; vrf = 0, local = 218.104..X.X, remote = 113.56.X.X/500
Sending an IPv4 packet.
*Jun 15 15:01:28:591 2020 sr6604 IKE/7/EVENT: -MDC=1; vrf = 0, local = 218.104..X.X, remote = 113.56.X.X/500
Sent data to socket successfully.

在对端设备上采用同样命令检查,发现phase 1交换同样故障,有发送包无接收包。由于本地防火墙在IPSEC隧道设备之外,怀疑防火墙拦截协商数据包,登录防火墙查询拦截日志,未发现UDP 500端口数据包拦截日志。此时依然怀疑防火墙或其他设备拦截数据包,在防火墙上开启应用放行日志记录,筛选包含对端IP和本端IP的放行日志,发现路由在接收到远端数据包后进行了NAT转换发往了DMZ区域某服务器123端口(时间吻合)。

故障处理

立即查询出口路由设备NAT转发表,发现UDP500端口确实存在被DNAT到DMZ区某服务器123端口,但此DNAT规则在查询操作日志与当前配置文件后发现并非人工定义,为何会在DNAT表中出现此转发原因未知,为解决故障清理NAT Session后IKE协商成功,问题解决。

疑惑

为何设备会自动生成一条UDP 500 -> DMZ 区域某服务器 UDP 123端口的DNAT映射。

最后修改日期:2020年8月3日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。