vpn排错宝藏.docx
《vpn排错宝藏.docx》由会员分享,可在线阅读,更多相关《vpn排错宝藏.docx(16页珍藏版)》请在冰豆网上搜索。
![vpn排错宝藏.docx](https://file1.bdocx.com/fileroot1/2023-2/9/093d6353-9fc0-4c5e-bfdf-8904ae6eda72/093d6353-9fc0-4c5e-bfdf-8904ae6eda721.gif)
vpn排错宝藏
IPsecVPN故障排除手册
Version1.0
迈普技术服务中心
2014-05-01
一、迈普公司VPN产品简介
迈普公司VPN产品型号还是比较多,包括IPsecVPN产品型号:
VPN3030、老VPN3020、VPN3020B、VPN3010、VPN3010E、VPN3005B、VPN3005C、VPN3005C-104、VRC以及防火墙产品型号:
FW520、FW505
1.1根据系统平台区分:
VPN3020、FW520:
基于linux操作系统采用X86工控机硬件平台。
VPN3020支持SSP02硬件加密。
FW520不支持SSP02算法,VPN3020和FW520不支持迈普CMS颁发证书并通过预共享方式建立VPN。
FW505:
基于linux操作系统采用800路由器硬件平台,FW505不支持SSP02算法。
VPN3020B:
基于vxworks操作系统采用3740路由器硬件平台。
支持硬件通用加密卡。
VPN3005B:
基于vxworks操作系统采用800路由器硬件平台。
不支持硬件通用加密卡。
VPN3010/3010E:
基于vxworks操作系统采用定制的269×硬件平台。
VPN3010E支持硬件通用加密卡。
VPN3005C:
基于vxworks操作系统采用2600CD路由器硬件平台。
不支持硬件通用加密卡。
VPN3005C-104:
基于vxworks操作。
VRC:
纯软件IPsec。
支持WINDOWS平台。
1.2产品形态(只介绍目前在售产品)
MPSecVPN3020B具有4个多功能插槽(MIM),标配2个千兆光/电自选以太口,最多支持6个以太接口,密文吞吐量达到200Mbps,支持双电源冗余、业务板卡热插拔。
MPSecVPN3010E标配4个百兆以太口,最多支持4个以太接口,密文吞吐量达到50Mbps。
MPSecVPN3005C标配2个百兆以太口,最多支持3个以太接口,密文吞吐量达到10Mbps,并提供VoIP插槽可插入VoIP语音模块实现VoIP与VPN的融合。
MPSecVPN3005C-104标配5个百兆以太口,密文吞吐量达到2Mbps。
二、IPsec配置简要说明
VPN的配置可以通过两种方式来配置,一是手工配置,另外一种是通过网管方式获取配置。
网管方式相对比较简单,在网管服务器上添加节点参数和相关资源后,只需要在VPN设备上添加简单的初始化参数后即可获取配置。
2.1网管方式VPN的配置
■配置上网参数
该处只需要保证该设备能够连接上公网,同时需要指定一个默认路由,该路由指向外出IP或接口。
■配置上点参数
请进入shell配置界面,进入config模式,然后输入
(config)#cryptoinit-config
分别配置user-name,password,以及中心VPN的地址serveraddress,完成后的结果如下
cryptoinit-config
serveraddress202.21.1.1
user-nametest
password3ee86377cf3de377€
exit
■获取上点配置
在enable模式下,输入
startcryptoinit-config
如果返回成功的话,该VPN就已经获取了必需的初始配置,以对应安全用户的身份加入了PM3的管理范围了,最后保存一下配置就可以了。
网管方式的配置只需要上述三步即可。
2.2手工配置
关键配置:
预共享密钥或证书、保护数据流、对端地址、IKE和IPsec使用的加密算法。
具体命令和软件版本有关。
预共享密钥配置:
cryptoikekey{any|address|identity}
当指定identiey关键字时,常常是用于积极模式协商(主模式的情况下ID是被加密的,没有办法找到对应的密钥,就无法协商。
),可以支持通配符。
例如:
cryptoikekeymaipuidentity*
该命令是说,对所有ID后缀是的协商是用密钥为maipu。
证书的配置是用:
配置证书服务器(地址、证书类型)、下载证书服务器证书、下载设备证书。
crycaidentity//配置证书服务器信息
catype{ctca|mpcms|windows}//配置证书服务器类型。
ctca:
上海电信CA。
enrollment{address|url}//配置证书服务器地址
cryptocaauthenticate//下载CA服务器证书
cryptocaenroll{1024|2048|512}//下载设备证书。
1024/2048/512指RSA密钥长度。
driver_name:
指设备在证书服务器上注册的用户名。
CMS必须先注册,windows证书服务器不需要。
是用证书或是用预共享密钥方式都主要是在IKE协商阶段用来作身份验证。
和后期的IPsec数据加密无关。
保护数据流:
cryptopolicy
flowtunnelbypass
Bypass属性使该策略在没有对应的SA存在时允许报文以明文方式转发。
主要解决当保护数据流包括内网口地址,访问内网口的问题。
在IPsec作为备份线路中也需要使用。
隧道属性:
cryptotunnel
peer{any|addressA.B.C.D|hostname}
local{addressA.B.C.D|interface}
setsec-level{basic|high|medium}
我们将常用的密码算法、密钥安全属性做了总结,形成三个安全等级的配置。
在隧道属性配置中可以直接使用这三个等级。
cryptosecuritylevel:
basic
ikeproposal:
g1-des-sha1g1-des-md5
ipsecproposal:
esp-nopfs-des-sha1esp-nopfs-des-md5
cryptosecuritylevel:
medium
ikeproposal:
g2-3des-sha1g2-3des-md5g2-aes128-sha1g2-aes128-md5
ipsecproposal:
esp-g2-3des-sha1esp-g2-3des-md5esp-g2-aes128-sha1esp-g2-aes128-md5
cryptosecuritylevel:
high
ikeproposal:
g5-3des-sha256g5-aes256-sha256
ipsecproposal:
esp-g5-3des-sha256esp-g5-aes256-sha256
在使用中要主意这三个安全等级并没有使用AH协议。
VRC配置:
主要配置预共享密钥或证书、对端Ipsec网关地址、对端保护网络。
三、IPsecVPN常见问题处理
本章重点介绍VPN的故障排除的基本思路,以及分析故障原因和解决问题的常用方的基本思路,以及分析故障原因和解决问题的常用方法。
本章内容:
⏹IPsecVPN故障排除基本思路
⏹IPsecVPN常见故障处理
⏹IPsecVPNSA状态信息说明
⏹调试命令参数解释
3.1IPsecVPN故障排除基本思路
当IPsecVPN出现问题时,最直接的表现就是无法通过IPsecVPN访问远端内部网络。
按照具体的情况又分为:
IPsec隧道无法建立、IPsec隧道建立但无法访问远端内部网络和IPsec隧道时断时连。
通过IPsec的debug信息检测问题是比较快的,但需要使用者对debug信息比较熟悉。
所以这里介绍针对上面三种情况的一般检测方法。
1.IPsecVPN隧道无法建立
检测方法:
使用showcryikeproposal和shcryipsecproposal命令查看ike和ipsec的策略两端是否相同。
使用shcrypolicy查看两端数据流是否匹配。
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或者没有配置ID
1.查看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-id
20.0.0.120.0.0.220.0.0.2STATE_QUICK_I2346
20.0.0.120.0.0.220.0.0.2STATE_MAIN_I4345
1、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#showcryptoipsecsa
1policyname:
p
2f(src,dst,protocol,srcport,dstport):
192.168.0.0/2230.0.0.0/8ipanyany
3localtunnelendpoint:
20.0.0.1remotetunnelendpoint:
20.0.0.2
4thepairsofESPipsecsa:
id:
18933,algorithm:
DESHMAC-SHA1-96
5inboundespipsecsa:
spi:
0X562f2161(1445929313)
6currentinput0packets,0kbytes
7encapsulationmode:
Tunnel
8replayprotection:
ON
9remaininglifetime(seconds/kbytes):
1244/4608000
10uptimeis7hour39minute16second
11outboundespipsecsa:
spi:
0Xd2a40215(3533963797)
12currentoutput0packets,0kbytes
13encapsulationmode:
Tunnel
14replayprotection:
ON
15remaininglifetime(seconds/kbytes):
1244/4608000
16uptimeis7hour39minute16second
显示信息内容
1IPsec策略名称
2源网段、目的网段、协议、源端口和目的端口
3显示隧道的本地公网地址为和对端公网地址
4显示隧道为ESP模式,ID号为18933,使用算法为DESHMAC-SHA1-96
5显示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|parsing|private|raw|syslog}
【参数说明】
参数
描述
all
所有IKE调试信息
crypt
IKE算法相关的调试信息
dns
IKE协商过程中与DNS相关的调试信息
downloaded-script
配置下载过程的调试信息
emitting
IKE协商过程中发出报文的详细内容
event
IKE的时钟事件相关调试信息
kernel
IKE与内核之间的调试信息
lifecycle
IKE协商过程中与生存期相关的调试信息
natt
IKE协商过程中与NAT穿越相关的调试信息
normal
IKE协商过程中通常使用的调试信息
parsing
IKE协商过程中接收到的报文内容调试信息
raw
IKE协商报文的原始内容调试信息
syslog
IKE发送给SYSLOG服务器的调试信息
⏹debugcryptoipsec…命令
【命令说明】
显示IPsec调试信息
【命令格式】
vpn#debugcryptoipsec{all|normal|pfa|ipcomp|address[tx|rx]|packet[tx|rx]|fragment}
vpn#nodebugcryptoipsec
【参数说明】
参数
描述
all
打开所有IPsec调试信息
normal
打开通常使用IPsec调试信息
pfa
打开IPsecPFA的调试信息
ipcomp
打开IPComp的调试信息
address[tx|rx]
打开IP报文地址调试信息,tx:
显示外出报文地址信息,rx:
显示内入报文地址信息,不指定则显示双向地址信息。
packet[tx|rx]
打开IP报文内容调试信息,tx:
显示外出报文内容信息,rx:
显示内入报文内容信息,不指定则显示双向内容信息。
fragment
打开IP报文为分片时调试处理信息
【配置模式】特权用户模式
3.5IKE错误信息(以下只是信息的关键语句)及原因
信息
原因
信息1:
00:
24:
20:
%IKE-DBG-receivedVendorIDpayload[draft-ietf-ipsec-nat-t-ike-03]
00:
24:
20:
%IKE-DBG-ignoringVendorIDpayload[draft-ietf-ipsec-nat-t-ike-02]
00:
24:
20:
%IKE-DBG-ignoringVendorIDpayload[draft-ietf-ipsec-nat-t-ike-00]
00:
24:
20:
%IKE-DBG-receivedVendorIDpayload[DeadPeerDe