记IPSecVPN对接故障的排查
故障1:首次对接不成功
【问题现象】
Sangfor NGAF与H3C F1030进行IPSec VPN第三方对接,第一阶段IKE SA已经协商成功,第二阶段IPSec SA协商不成功,提示原因:策略包含不正确的ACL或IKE配置文件配置。
【排查过程】
Sangfor NGAF与H3C F1030进行IPSec VPN第三方对接,因在Sangfor BBS上未查到与H3C设备对接的文章,只能从网上找了一篇与H3C MSR设备对接的文章照着进行操作,在配置H3C F1030的第一阶段IKE参数时,就遇到了一个问题,文章介绍的是V5版本的配置,而当前设备的版本是V7,配置命令已经作了调整,不再支持原有命令。没办法了,只能自己到H3C官网上查找设备的配置手册,再看相关命令,慢慢摸索进行配置,在此不作详细描述。
Sangfor NGAF设备上的配置是按网上文章操作的,配置完成,就等对接成功,便大功告成了。
左等不成,右等不成,千呼万唤就是不出来。
先从对端来看一下状态:
<ZT-F1030>disp ike sa verbose ----------------------------------------------- Connection ID: 1 Outside VPN: Inside VPN: Profile: 1 Transmitting entity: Initiator Initiator cookie: 2c9f239e250d0206 Responder cookie: baabf2fbe3467cc2 ----------------------------------------------- Local IP: 192.168.100.236 Local ID type: FQDN Local ID: ZT-F1030 Remote IP: 2.34.Y.30 Remote ID type: FQDN Remote ID: ZX-Sangfor Authentication-method: PRE-SHARED-KEY Authentication-algorithm: MD5 Encryption-algorithm: 3DES-CBC Life duration(sec): 3600 Remaining key duration(sec): 1545 Exchange-mode: Aggressive Diffie-Hellman group: Group 2 NAT traversal: Detected Extend authentication: Disabled Assigned IP address: Vendor ID index:0xffffffff Vendor ID sequence number:0x0 =================================================================================== ZT-F1030 IPSEC/6/IPSEC_SA_ESTABLISH_FAIL:Failed to establish IPsec SA. Reason: The policy contains incorrect ACLor IKE profile configuration. 原因:策略包含不正确的ACL或IKE配置文件配置。 PolicyName=720896, Seqnum=1. SA information: Role: responder. Local address: 192.168.100.236 Remote address: 2.34.Y.30 Sour addr: 192.168.100.236/255.255.255.255Port: 0 Protocol: IP Dest addr: 2.34.Y.30/255.255.255.255 Port:0 Protocol: IP Inside VPN instance: Outside VPN instance: Inbound AH SPI: 0 Outbound AH SPI: 0 Inbound ESP SPI: 0 Outbound ESP SPI: 0 ACL number: 3999
第一阶段IKE SA已经协商成功,第二阶段IPSec SA协商不成功,原因:策略包含不正确的ACL或IKE配置文件配置。
对照配置文件,两端配置的参数完全一致,一时也搞不明白原因。
那再从本端来看下调试日志:
[ipsec_vpn][message:106] [2.34.X.2<3>]收到无效的IKE头部,解析失败 [ipsec_vpn][packet:317] ipsec_do_recvfailed [ipsec_vpn][ipsec:55] failed tomessage_create 4294967295 [ipsec_vpn][message:106] [2.34.X.2<3>]收到无效的IKE头部,解析失败 [ipsec_vpn][packet:317] ipsec_do_recv failed [ipsec_vpn][ipsec:55] failed tomessage_create 4294967295
也看不出啥明堂。
没有办法,从Sangfor BBS上再找了一篇NGAF与Cisco对接的文章,仔细对比,发现配置过程中漏了一步操作,那就是“配置VPN接口”,但到现在也不明白这一步的意义。
【处理过程】
在本端Sangfor NGAF设备上完成了“配置VPN接口”操作。
完成这一操作后,终于看到久违的连接隧道建立了,两端都能互相Ping通对方了。
对接成功了。
【问题原因】
在本端Sangfor NGAF设备上未配置“VPN接口”操作。
故障2:设备禁用后再次启用对接不成功
【问题现象】
Sangfor NGAF与H3C F1030进行IPSec VPN第三方对接,对接已经成功。
因网络测试的需要,11点32分禁用了IPSec VPN对接设备,测试完成后,11点36分重新启用设备,但连接隧道就是建立不起来。
【排查过程】
重新启用设备后,连接隧道建立不起来,开始怀疑配置参数发生了改变,又重新配置了一遍。
查看NGAF上的调试日志:
告警 12:37:23 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 告警 12:37:16 [ipsec_vpn][message:106] [2.34.X.2<167>]收到无效的IKE头部,解析失败 告警 12:37:05 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 信息 12:37:01 [ipsec_vpn][starter:170] 添加第一阶段 ZT 信息 12:37:01 [ipsec_vpn][config:373] 文件Equipment.vpn发生改变,名字:ZT 改变标记:10000 告警 12:36:56 [ipsec_vpn][message:106] [2.34.X.2<167>]收到无效的IKE头部,解析失败 告警 12:36:52 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 ...... 告警 12:34:36 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 告警 12:34:36 [ipsec_vpn][message:106] [2.34.X.2<167>]收到无效的IKE头部,解析失败 信息 12:34:31 [ipsec_vpn][config:373] 文件OutPolicy.vpn发生改变,名字:ZX-ZT 改变标记:c000 信息 12:34:25 [ipsec_vpn][config:373] 文件OutPolicy.vpn发生改变,名字:SJ-ZT 改变标记:c000 告警 12:34:17 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 告警 12:34:16 [ipsec_vpn][message:106] [2.34.X.2<167>]收到无效的IKE头部,解析失败 告警 12:34:01 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 信息 12:33:58 [ipsec_vpn][config:373] 文件InPolicy.vpn发生改变,名字:ZT-In 改变标记:8000 告警 12:33:56 [ipsec_vpn][message:106] [2.34.X.2<167>]收到无效的IKE头部,解析失败 告警 12:33:47 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 告警 12:33:41 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 告警 12:33:36 [ipsec_vpn][message:106] [2.34.X.2<167>]收到无效的IKE头部,解析失败 ...... 告警 12:31:19 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 告警 12:31:16 [ipsec_vpn][message:106] [2.34.X.2<167>]收到无效的IKE头部,解析失败 信息 12:31:07 [ipsec_vpn][starter:170] 添加第一阶段ZT 信息 12:31:07 [ipsec_vpn][config:373] 文件Equipment.vpn发生改变,名字:ZT 改变标记:2010000 告警 12:31:06 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 告警 12:30:56 [ipsec_vpn][message:106] [2.34.X.2<167>]收到无效的IKE头部,解析失败 告警 12:30:51 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 告警 12:30:45 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 告警 12:30:36 [ipsec_vpn][message:106] [2.34.X.2<167>]收到无效的IKE头部,解析失败 告警 12:30:23 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 告警 12:30:22 [ipsec_vpn][ike_sa:1597][@ZT<ZT-In-ZX-ZT>:2.34.X.2<167><c6fda82b418d2ddc:05b3f1eb>]跟2.34.X.2<167>建立连接超时,状态ut-1_in-0告警 12:30:22 [ipsec_vpn][ike_sa:1597][@ZT<ZT-In-SJ-ZT>:2.34.X.2<167><c6fda82b418d2ddc:41a13ee9>]跟2.34.X.2<167>建立连接超时,状态ut-1_in-0告警 12:30:16 [ipsec_vpn][message:106] [2.34.X.2<167>]收到无效的IKE头部,解析失败 告警 12:30:08 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 告警 12:29:56 [ipsec_vpn][message:106] [2.34.X.2<167>]收到无效的IKE头部,解析失败 告警 12:29:48 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 告警 12:29:37 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 告警 12:29:36 [ipsec_vpn][message:106] [2.34.X.2<167>]收到无效的IKE头部,解析失败 告警 12:29:21 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 告警 12:29:16 [ipsec_vpn][message:106] [2.34.X.2<167>]收到无效的IKE头部,解析失败 告警 12:29:15 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 告警 12:29:02 [ipsec_vpn][payload_notify:204] [@ZT:2.34.X.2<167><c6fda82b418d2ddc:00000000>]收到对端的通知:错误的提议格式, 详情:请检查第一阶段的安全提议是否配置一致, 包括加密算法/认证算法/DH群/生存期 告警 12:29:02 [ipsec_vpn][payload_notify:204] [@ZT:2.34.X.2<167><c6fda82b418d2ddc:00000000>]收到对端的通知:错误的提议格式, 详情:请检查第一阶段的安全提议是否配置一致, 包括加密算法/认证算法/DH群/生存期 告警 12:28:58 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 告警 12:28:56 [ipsec_vpn][message:106] [2.34.X.2<167>]收到无效的IKE头部,解析失败 告警 12:28:52 [ipsec_vpn][payload_notify:204] [@ZT:2.34.X.2<167><c6fda82b418d2ddc:00000000>]收到对端的通知:错误的提议格式, 详情:请检查第一阶段的安全提议是否配置一致, 包括加密算法/认证算法/DH群/生存期 告警 12:28:52 [ipsec_vpn][payload_notify:204] [@ZT:2.34.X.2<167><c6fda82b418d2ddc:00000000>]收到对端的通知:错误的提议格式, 详情:请检查第一阶段的安全提议是否配置一致, 包括加密算法/认证算法/DH群/生存期 告警 12:28:42 [ipsec_vpn][payload_notify:204] [@ZT:2.34.X.2<167><c6fda82b418d2ddc:00000000>]收到对端的通知:错误的提议格式, 详情:请检查第一阶段的安全提议是否配置一致, 包括加密算法/认证算法/DH群/生存期 告警 12:28:42 [ipsec_vpn][payload_notify:204] [@ZT:2.34.X.2<167><c6fda82b418d2ddc:00000000>]收到对端的通知:错误的提议格式, 详情:请检查第一阶段的安全提议是否配置一致, 包括加密算法/认证算法/DH群/生存期 告警 12:28:36 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 告警 12:28:36 [ipsec_vpn][message:106] [2.34.X.2<167>]收到无效的IKE头部,解析失败 告警 12:28:32 [ipsec_vpn][payload_notify:204] [@ZT:2.34.X.2<167><c6fda82b418d2ddc:00000000>]收到对端的通知:错误的提议格式, 详情:请检查第一阶段的安全提议是否配置一致, 包括加密算法/认证算法/DH群/生存期 告警 12:28:32 [ipsec_vpn][payload_notify:204] [@ZT:2.34.X.2<167><c6fda82b418d2ddc:00000000>]收到对端的通知:错误的提议格式, 详情:请检查第一阶段的安全提议是否配置一致, 包括加密算法/认证算法/DH群/生存期 信息 12:28:32 [ipsec_vpn][exchange:1357] [@ZT:2.34.X.2<167><c6fda82b418d2ddc:00000000>]开始协商第二阶段[ZT-In-ZX-ZT] 信息 12:28:32 [ipsec_vpn][exchange:1357] [@ZT:2.34.X.2<167><c6fda82b418d2ddc:00000000>]开始协商第二阶段[ZT-In-SJ-ZT] 告警 12:28:20 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 告警 12:28:16 [ipsec_vpn][message:106] [2.34.X.2<167>]收到无效的IKE头部,解析失败 信息 12:28:05 [ipsec_vpn][exchange:708] [@ZT:2.34.X.2<167><c6fda82b418d2ddc:00000000>]第一阶段安全联盟协商成功. 信息 12:28:05 [ipsec_vpn][payload_natd:86] [@ZT:2.34.X.2<167><c6fda82b418d2ddc:00000000>]远端在NAT后 信息 12:28:05 [ipsec_vpn][payload_natd:84] [@ZT:2.34.X.2<167><c6fda82b418d2ddc:00000000>]本端在NAT后 告警 12:28:03 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 信息 12:27:55 [ipsec_vpn][vendor:337] [@ZT:2.34.X.2<167><c6fda82b418d2ddc:00000000>]对端支持NATT, 最高支持的版本为NATT_IETF_00 信息 12:27:55 [ipsec_vpn][vendor:337] [@ZT:2.34.X.2<167><c6fda82b418d2ddc:00000000>]对端支持NATT, 最高支持的版本为NATT_IETF_02_N 信息 12:27:55 [ipsec_vpn][vendor:337] [@ZT:2.34.X.2<167><c6fda82b418d2ddc:00000000>]对端支持NATT, 最高支持的版本为NATT_IETF_03 信息 12:27:55 [ipsec_vpn][vendor:337] [@ZT:2.34.X.2<167><c6fda82b418d2ddc:00000000>]对端支持NATT, 最高支持的版本为NATT_RFC 信息 12:27:55 [ipsec_vpn][vendor:316] [@ZT:2.34.X.2<167><c6fda82b418d2ddc:00000000>]对端支持DPD 信息 12:27:55 [ipsec_vpn][exchange:573] [2.34.X.2<167>]响应对端第一阶段的协商, 使用配置ZT:2.34.Y.30<0>,开始创建sa 告警 12:27:55 [ipsec_vpn][ike_setting:1023] 在线路1上没有找到地址为2.34.X.2<167>的第一阶段配置 告警 12:27:55 [ipsec_vpn][message:106] [2.34.X.2<167>]收到无效的IKE头部,解析失败 告警 12:27:52 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 告警 12:27:46 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 ...... 告警 12:24:55 [ipsec_vpn][message:106] [2.34.X.2<167>]收到无效的IKE头部,解析失败 告警 12:24:53 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 信息 11:36:09 [ipsec_vpn][starter:170] 添加第一阶段 ZT 信息 11:36:09 [ipsec_vpn][config:373] 文件Equipment.vpn发生改变,名字:ZT 改变标记:2010000 信息 11:33:57 [ipsec_vpn][starter:170] 添加第一阶段 ZT 信息 11:33:57 [ipsec_vpn][config:373] 文件Equipment.vpn发生改变,名字:ZT 改变标记:10001 告警 11:32:27 [ipsec_vpn][ike_setting:205] 设备ZT已经被禁用 信息 11:32:27 [ipsec_vpn][config:373] 文件Equipment.vpn发生改变,名字:ZT 改变标记:10001
实在没有办法了,12点42分,提单请求技术支持。
很快(2-3分钟吧,是很快吧。等着可觉得时间老长老长的),400工程师有了响应。
建立远程后,400工程师很快(同样是2-3分钟吧,很长吧。可一边看着操作,一边交流网络环境,觉得时间过的很快)给出了问题原因:本端断开隧道后,对端并不认为隧道已经断开,还在继续发送后续数据,而未再从头开始进行协商。
给出的解决办法是:在对端设备上清除原有的连接状态,重新开始进行协商。
因两端相隔距离较远,对端又无法进行远程操作,且配置的IKESA超时时间是3600秒,估计到现场操作的话,因超时时间已到,隧道也已经恢复,故采取的操作是等待对端连接超时,重新开始连接协商。
【处理过程】
1、超时时间一到,立马重新开始协商,隧道成功建立。
信息 13:21:58 [ipsec_vpn][exchange:830][@ZT<ZT-In-ZX-ZT>:2.34.X.2<44418><3da13a5d187659c7:1a025cdb>]第二阶段安全联盟协商成功,隧道已经建立. 信息 13:21:58 [ipsec_vpn][exchange:830][@ZT<ZT-In-SJ-ZT>:2.34.X.2<44418><3da13a5d187659c7:e141a13e>]第二阶段安全联盟协商成功,隧道已经建立. 信息 13:21:58 [ipsec_vpn][exchange:1357] [@ZT:2.34.X.2<44418><3da13a5d187659c7:00000000>]开始协商第二阶段[ZT-In-ZX-ZT] 信息 13:21:58 [ipsec_vpn][exchange:1357] [@ZT:2.34.X.2<44418><3da13a5d187659c7:00000000>]开始协商第二阶段[ZT-In-SJ-ZT] 信息 13:21:56 [ipsec_vpn][exchange:708] [@ZT:2.34.X.2<44418><3da13a5d187659c7:00000000>]第一阶段安全联盟协商成功. 信息 13:21:56 [ipsec_vpn][payload_natd:86] [@ZT:2.34.X.2<44418><3da13a5d187659c7:00000000>]远端在NAT后 信息 13:21:56 [ipsec_vpn][vendor:337] [@ZT:2.34.X.2<167><3da13a5d187659c7:00000000>]对端支持NATT, 最高支持的版本为NATT_IETF_00 信息 13:21:56 [ipsec_vpn][vendor:337] [@ZT:2.34.X.2<167><3da13a5d187659c7:00000000>]对端支持NATT, 最高支持的版本为NATT_IETF_02_N 信息 13:21:56 [ipsec_vpn][vendor:337] [@ZT:2.34.X.2<167><3da13a5d187659c7:00000000>]对端支持NATT, 最高支持的版本为NATT_IETF_03 信息 13:21:56 [ipsec_vpn][vendor:337] [@ZT:2.34.X.2<167><3da13a5d187659c7:00000000>]对端支持NATT, 最高支持的版本为NATT_RFC 信息 13:21:56 [ipsec_vpn][vendor:316] [@ZT:2.34.X.2<167><3da13a5d187659c7:00000000>]对端支持DPD 信息 13:21:56 [ipsec_vpn][exchange:573] [2.34.X.2<167>]响应对端第一阶段的协商, 使用配置ZT:2.34.Y.30<0>,开始创建sa 告警 13:21:56 [ipsec_vpn][ike_setting:1023] 在线路1上没有找到地址为2.34.X.2<167>的第一阶段配置 告警 13:21:56 [ipsec_vpn][message:106] [2.34.X.2<167>]收到无效的IKE头部,解析失败 告警 13:21:45 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 告警 13:21:36 [ipsec_vpn][message:106] [2.34.X.2<167>]收到无效的IKE头部,解析失败 ...... 告警 13:15:22 [ipsec_vpn][exchange:1024] 2.34.X.2<167>收到无效数据包,没有找到对应的第一阶段连接 信息 13:15:21 [ipsec_vpn][starter:170] 添加第一阶段 ZT
2、在调试日志上,看到提示:对端支持DPD。
在对端设备上,配置IPSec VPN隧道的DPD检测,本端设备上也勾选“启用DPD”。
配置完成后,再次测试,隧道断开后能很快自动恢复。
【问题原因】
1、两端野蛮模式对接,本端只能作为响应端被动应答,不能作为发起端主动发起连接;
2、对端作为发起端,未配置隧道状态检测; |