一、ipsec ×××故障排查
Ipsec vpn在实际工作中应用很广,如何组建ipsec对等体实现×××通信,还应具备一定的故障排查。
1、show cryptoisakmp sa命令
通过这个命令可以了解管理连接所处的状态:
NM_NO_STATE:ISAKMP SA 建立的初始状态,管理连接建立失败也会处于该状态。
NM_SA_SETUP:对等体之间ISAKMP策略协商成功后处于该状态。
NM_KEY_EXCH:对等体通过DH算法成功建立共享秘钥,此时还没有进行设备验证。
NM_KEY_AUTH:对等体成功进行设备验证,之后会过度到QM_IDLE状态。
NM_IDLE:管理连接成功建立,即将过度到阶段2的数据连接建立过程。
2、debug cryptoisakmp命令
如果希望更加详细地连接整个过程,可以使用debug crypto isakmp命令,该命令时实际工作中最常用于诊断和排查管理连接出现问题的命令。
1)故障实例一
将路由器的加密算法有des改为3des,这时对等体阶段1的加密算法显然不匹配,通过debug crypto isamkp命令可以很清楚的看到这点。
路由器依然会逐条对比传输集,之后发现encryption algorithm offered does not match policy!(加密算法不匹配),所以attsare not acceptable(策略不被接受)。然后路由器会与本地的默认策略进行对比,如果依然没有匹配策略,就会得出结论no iffers accepted(没有匹配策略),最后路由器回到NM_NO_STATE状态。
2)故障实例二
路由器两端设置的预共享秘钥key不同,这时阶段1的传输集是匹配的,但后续的验证过程无法通过,这一点也可以通过debug crypto isakmp命令看到。
第一部分说明匹配的传输集已经找到(atts are acceptable),开始后续的秘钥交换以及身份验证的过程,但第二部分中“IKE message from 10.0.0.1 failed its sanity check or is malformed”说明进行身份验证的信息没有通过完整性检测或缺失部分信息,即验证失败。最后路由器就会停在NM_KEY_EXCH状态,这点可以通过show crypto isakmp sa命令查看。