IPsecVPN故障排除手册Version1.0迈普技术服务中心2008-05-01三、IPsecVPN常见问题处理本章重点介绍VPN的故障排除的基本思路,以及分析故障原因和解决问题的常用方的基本思路,以及分析故障原因和解决问题的常用方法。本章内容:IPsecVPN故障排除基本思路IPsecVPN常见故障处理IPsecVPNSA状态信息说明调试命令参数解释3.1IPsecVPN故障排除基本思路当IPsecVPN出现问题时,最直接的表现就是无法通过IPsecVPN访问远端内部网络。按照具体的情况又分为:IPsec隧道无法建立、IPsec隧道建立但无法访问远端内部网络和IPsec隧道时断时连。通过IPsec的debug信息检测问题是比较快的,但需要使用者对debug信息比较熟悉。所以这里介绍针对上面三种情况的一般检测方法。1.IPsecVPN隧道无法建立检测方法:使用showcryikeproposalstring和shcryipsecproposalstring命令查看ike和ipsec的策略两端是否相同。使用shcrypolicystring查看两端数据流是否匹配。2.IPsec隧道建立但无法访问远端内部网络检测方法:shipesp查看是否有in和out的数据;查看访问列表是否deny了受保护的数据流。3.IPsec隧道时断时连检测方法:查看物理线路是否时通时断;查看是否有网点冲突。3.2IPsecVPN常见故障处理故障一:IPsecVPN隧道无法建立可能的原因判断方法和解决方案1.两端VPN设备无法互通1.从一端VPN设备ping另外一端,看是否能否ping通。如果不通,首先检查网络连接情况。2.两端VPN可以ping通,但是相互收不到IKE协商报文1.检查VPN是否配置ACL或者前端是否有防火墙,禁止了IKE协商报文,需要在ACL或者防火墙上开放UDP500/4500端口;2.检查发起方VPN的内网口是否UP,特别是3005C-104以SW接口作为内网口,LAN口上没有接PC,SW口无法UP,将导致扩展ping不通对端。3.两端VPN采用证书认证方式,但是没有证书或者证书无效;采用预共享密钥方式认证没有配置密码1.通过showcryikesa查看IKE隧道状态没有任何信息;2.打开debugcryikenormal,提示%IKE-ERR:can'tinitiate,noavailableauthenticationmaterial(cert/psk);3.shcryptocacertificates,查看证书是否有效。4.两端IKE和IPsec策略不一致1.如果采用主模式,查看IKE状态停止在STATE_MAIN_I1,采用积极模式,IKE状态停止在STATE_AGGR_I1,说明可能是两端策略不一致,通过showcryikeproposal和showcryipsecproposal查看两端策略是否相同;2.打开debugcryikenormal,提示ignoringnotificationpayload,typeNO_PROPOSAL_CHOSEN。5.两端VPN设备配置了ID不是IP地址作为身份标识,而是域名或者其他,但是采用IKE协商采用主模式1.查看IKEKEY配置了identity,但是tunnel配置中配置了setmodemain;2.查看IKE状态停止在STATE_MAIN_I1状态。6.对端VPN设备配置错误ID或者没有配置ID1.查看IKEKEY配置了identity,但是tunnel配置中没有配置ID;2.查看IKE状态停止在STATE_AGGR_I1状态;3.有%IKE-ERR:AggressiveModepacketfrom20.0.0.2:500hasinvalidID报错。7.两端VPN设备不支持NAT穿越1.如果采用主模式,查看IKE状态停止在STATE_MAIN_I2状态,说明有可能VPN不支持NAT穿越,我们VPN默认支持,一般可能其他厂家VPN不支持。8.两端VPN设备预共享密钥不一致1.如果采用主模式,查看IKE状态停止在STATE_MAIN_I3状态,说明有可能两端VPN预共享密钥配置不一致;2.通过showruncrykey查看两端的KEY是否相同。9.两端保护数据流不匹配1.查看IKE状态停止在STATE_QUICK_I1状态,说明有可能两端VPN预共享密钥配置不一致;2.通过showcryipsecsa查看没有ipsec隧道;3.日志中有报错:%IKE-ERR:cannotrespondtoIPsecSArequestforinstance-65666:30.0.0.0/8:0/0===20.0.0.2(20.0.0.2)...20.0.0.1(20.0.0.1)===192.168.0.0/16:0/0注:IKE第一阶段采用积极模式,因为积极模式进行IKE协商同时传送与SA、密钥交换和认证相关的载荷,所以一般IKE的错误都将导致IKESA的状态为STATE_AGGR_I1。因此上述对IKE第一阶段问题判断基本都是基于主模式。故障二:VPN隧道通,无法处理业务可能的原因判断方法和解决方案1.业务数据走NAT,没有走VPN隧道1.设备配置了NAT转换,访问列表没有将VPN的业务数据deny,可以查看访问列表来判断;2.可以通过showcryipsecsa或者showipesp查看output的数据一直没有增加;3.修改访问列表,拒绝VPN数据走NAT转换。2.要访问服务器没有路由指向对端VPN网关或者网关设置不对1.在中心端VPN设备上ping服务器看能否ping通;2.第一步可以ping通,则可以在客户端VPN设备上通过showcryipsecsa或者showipesp查看output的数据有增加,但是input的数据一直没有增加,在中心端VPN设备相反,有input的数据,但是没有output;3.设置服务器对应的下端网段路由应该指向中心IPsecVPN设备的内网口。3.线路PMTU导致大数据包丢弃1.某些业务软件(例如一些财务软件或者登陆需要下载大量数据的应用程序)可以出现登陆界面,但是输入用户名密码后一直没有反应;2.客户端采用默认ping包可以ping通服务器,ping大包不通;3.可以修改服务器网卡的MTU=线路PMTU。故障三:VPN时通时断可能的原因判断方法和解决方案1.公网连接不稳定1.通过ping测试检测物理线路问题;2.直接用PC接在公网线路测试看看是否会断;3.如果是动态拨号,可以更改idle-timeout为0。2.某次线路故障造成两端的IPsecSA不能够同步1.查看两端VPN设备是否关闭了DPD;2.通过showcryipsecsa查看两端SPI是否不相同;3.在两端手工清除隧道重新建立或者设置DPD解决不同步问题。3.分支机构VPN配置重复1.隧道时断时连表现为当只有一个下端的时候一切正常,但当第二个或某个特定下端连接上来的时候,出现只有一个能正确建立IPsec隧道或时断时连;2.在中心VPN设备检查某个分支机构不能建立VPN隧道时却有相关的IPsec数据流;3.可以在分支机构VPN上更换网段测试或者配置使用积极模式,配置不通的标识ID。3.3IPsecVPNSA状态信息说明在进行VPN故障排除过程中,经常要查看IPsecVPNSA状态,这里有必要对SA显示信息做以说明,以便排查问题。正常情况下,每个分支结构对应两条IKESA条目,且一般分支机构都是VPN发起方。当我们在分支机构VPN的特权模式下,键入showcryptoikesa后,显示IKESA信息如下:localaddrpeeraddrpeer-identitynegotiation-statesa-id20.0.0.120.0.0.220.0.0.2STATE_QUICK_I234620.0.0.120.0.0.220.0.0.2STATE_MAIN_I43451、localaddr:发起IKESA的本端地址,这里为公网接口地址;2、peeraddr:IKESA的对端地址,为对端VPN的公网接口地址;3、peer-identity:对端标识,如果采用证书方式,显示为CN=xxxx;4、negotiation-state:隧道状态,IKE第一阶段协商分主模式和积极模式,主模式为MAIN,积极模式为AGGR,本例第一阶段采用主模式,IKE第二阶段协商都是QUICK模式。关键字“I”代表IKE发起方,相应方用“R”表示;5、sa-id:SA的ID号。注:IKE的状态根据发起方和相应方状态有所区别,根据IKE第一阶段采用模式也有所区别,发起方正常情况状态,主模式时为STATE_QUICK_I2和STATE_MAIN_I4,积极模式时为STATE_QUICK_I2和STATE_AGGR_I2。相应正常情况状态,主模式时为STATE_QUICK_R2和STATE_MAIN_R3,积极模式时为STATE_QUICK_R2和STATE_AGGR_R2。当在VPN的特权模式下,键入showcryptoipsecsa后,显示IPsecSA信息如下:VPN#showcryptoipsecsa1policyname:p2f(src,dst,protocol,srcport,dstport):192.168.0.0/2230.0.0.0/8ipanyany3localtunnelendpoint:20.0.0.1remotetunnelendpoint:20.0.0.24thepairsofESPipsecsa:id:18933,algorithm:DESHMAC-SHA1-965inboundespipsecsa:spi:0X562f2161(1445929313)6currentinput0packets,0kbytes7encapsulationmode:Tunnel8replayprotection:ON9remaininglifetime(seconds/kbytes):1244/460800010uptimeis7hour39minute16second11outboundespipsecsa:spi:0Xd2a40215(3533963797)12currentoutput0packets,0kbytes13encapsulationmode:Tunnel14replayprotection:ON15remaininglifetime(seconds/kbytes):1244/460800016uptimeis7hour39minute16second显示信息内容1IPsec策略名称2源网段、目的网段、协议、源端口和目的端口3显示隧道的本地公网地址为和对端公网地址4显示隧道为ESP模式,ID号为18933,使用算法为DESHMAC-SHA1-965显示inbound的SPI号为0X562f2161(1445929313)6显示隧道入方向的接收到的数据包个数和字节数7、13显示封装模式为隧道模式8、14重放保护状态为开启9、15显示隧道的lifetime,以时间为单位和以字节数为单位表示10、16显示隧道建立时间11显示inbound的SPI号为0Xd2a40215(3533963797)12显示隧道出方向的发送的数据包个数和字节数3.4调试命令参数解释debugcryptoike命令【命令说明】打开IKE调试开关【命令格式】vpn#debugcryptoike{all|crypt|dns|downloaded-script|emitting|event|kernel|lifecycle|natt|normal|parsing|private|raw|syslog}vpn#nodebugcryptoike{all|crypt|dns|downloaded-script|emitting|event|kernel|lifecycle|natt|normal|pa