IPSec故障处理
引言
本文档介绍了IPSec VPN故障的最常见解决方案和咨询问题,包括故障处理指导、典型故障案例、IPSec的常见问题和解决方法,这些解决方案直接来自华为技术支持所解决的业务请求,这些解决方案可以在IPSec的VPN连接深入故障处理之前实现。本文档提供了在开始故障处理前的检查项,需要对常见的操作步骤进行的检查并联系华为技术支持工程师。
故障处理思路
IPSec故障有两种现象:IPSec隧道建立失败或IPSec隧道建立成功后业务异常。
如图1-1所示,列出了IPSec故障的处理思路。
故障现象
具体处理指南
Router1上没有显示信息,IPSec隧道建立失败。同时执行命令display ipsec statistics,发现outbound ok为0,说明本端IKE协商报文没有发出,没有触发协商IPSec隧道。
Router1上IKE SA没有建立,IPSec隧道建立失败。同时执行命令display ipsec statistics,发现outbound ok不为0,说明IKE报文已经发出。
Router1上IPSec SA没有建立,IPSec隧道建立失败。
Router1上SA建立成功,Router2上SA建立失败。
分支和总部两端的用户完全不能互相访问。
分支和总部两端的用户单向访问正常,反向不通。例如,总部用户可以访问分支服务器,分支用户不能访问总部服务器。
分支和总部两端的用户访问部分网段正常,部分不通。
在点到多点网络中还可能存在分支用户访问总部正常,但不同分支用户之间访问不通。
在IPSec网关兼做NAT网关的场景中还可能出现所有流量都经NAT转换发送出去,没有流量进入VPN的问题。
业务访问速度慢。
业务访问时断时续,也可能彻底中断。
未触发IKE协商
现象描述
如图1-5所示,Router间部署IPSec后,PC之间互访不通。
下一载荷(Next Payload)
缩写
取值
作用
None
-
0
当前载荷是消息中最后一个载荷。
Security Association
SA
1
用于协商IKE或IPSec安全提议。
Proposal
P
2
用于协商安全协议以及SA采用的相关安全机制。
Transform
T
3
用于传输相关的安全联盟属性来协商出双方支持的提议。
Key Exchange
KE
4
用于在DH密钥交换中交换DH公开值。
Identification
IDi,IDr
5
用于发送身份ID,可以用于接入控制。证书认证中该载荷不必进行匹配。
Certificate
CERT
6
用于传送证书或其它与认证相关的信息。
Certificate-Request
CERTREQ
7
用于请求首选证书。
Hash
HASH_I,HASH_R
8
用于验证IKE消息的完整性,或对协商对等体进行认证。
Signature
SIG_I,SIG_R
9
用于认证IKE消息的完整性,还可用作无否认服务。
Norigication
N
10
用于通告错误和状态迁移。
Nonce
Ni,Nr
11
用于传送临时随机数。
Delete
D
12
表示该SPI标识的SA已经被删除。
Vendor ID
V
13
表示发送方能够接受某些协议的扩展。
Properties
-
14
表示属性载荷。
NAT Discovery
NAT-D
20
用于判断设备是否在NAT设备后面。
NAT Original Address
NAT-OA
21
表示IPSec对话方的原始地址。
Reserved
-
15-127
保留。
Private Use
-
128-255
私用。
下一载荷(Next Payload) | 缩写 | 取值 | 作用 |
---|---|---|---|
No Next Payload | - | 0 | 当前载荷是消息中最后一个载荷。 |
Reserved | - | 1-32 | 保留。 |
Security Association | SA | 33 | 用于协商IKE或IPSec安全提议。 |
Key Exchange | KE | 34 | 用于在DH密钥交换中交换DH公开值。 |
Identification-Initiator | IDi | 35 | 用于发送身份ID,可以用于接入控制。证书认证中该载荷不必进行匹配。 |
Identification-Responder | IDr | 36 | |
Certificate | CERT | 37 | 用于传送证书或其它与认证相关的信息。 |
Certificate-Request | CERTREQ | 38 | 用于请求首选证书。 |
Authentication | Auth | 39 | 用于发送认证方法和认证数据(Hash值)。 |
Nonce | Ni,Nr | 40 | 用于传送临时随机数。 |
Notify | N | 41 | 用于通告错误和状态迁移。 |
Delete | D | 42 | 表示该SPI标识的SA已经被删除。 |
Vendor ID | V | 43 | 表示发送方能够接受某些协议的扩展,目前用于协商NAT-T能力。 |
Traffic Selector-Initiator | TSi | 44 | 表示需要IPSec保护的数据流。 |
Traffic Selector-Responder | TSr | 45 | |
Encrypted | E | 46 | 用于传送其它载荷加密后的数值。 |
Configuration | CP | 47 | 包含CFG_REQUEST、CFG_REPLAY、CFG_SET、CFG_ACK用于地址分配的请求、应答。 |
Extensible-Authentication | EAP | 48 | 用于承载EAP消息。 |
Reserved to | IANA | 49-127 | 保留。 |
Private Use | - | 128-255 | 私用。 |
Maj Ver/Min Ver:主版本/副版本,ISAKMP版本的标识是用主版本和副版本的字段中的主/副编号来进行的。在IKE中,两个字段合为一个字段。
Version:IKEv1版本该字段值为1.0,IKEv2版本该字段值为2.0。
Exchange Type:交换类型,该字段限制消息的载荷内容和交换消息的顺序。
交换类型(Exchange Type) | 取值 |
---|---|
None | 0 |
Base | 1 |
Identity protection | 2 |
Authentication only | 3 |
Aggressive | 4 |
Informational | 5 |
Future use | 6-31 |
DOI specific use | 32-239 |
Private use | 240-255 |
交换类型(Exchange Type) | 取值 |
---|---|
Reserved | 0-33 |
IKE_SA_INIT | 34 |
IKE_SA_AUTH | 35 |
Create_CHILD_SA | 36 |
Informational | 37 |
Reserved to IANA | 38-239 |
Reserved for Private Use | 240-255 |
Flags:标志表示特定的选项,用于设定ISAKMP交换。以下在标志字段中指定的标志,从最低有效位开始:
IKEv1:第0位为加密位,为1表示有效载荷已被加密;第1位为提交位,为1表示确保建立SA之后才能收到加密的内容;第2位为认证位,为1表示只对有效载荷进行验证,而不进行加密。其他剩余位没有被定义,必须在传输前设为0。
IKEv2:第3位为1表示发起方,第4为IKEv2应设为0,第5位为1表示响应方。其他剩余位没有被定义,必须在传输前设为0。
Message ID:第一阶段中该字段为0,在第二阶段为发起方生成的随机数。它作为惟一的消息标志,用于在第二阶段的协商中标识协议状态。
Message Length:标识ISAKMP消息的全长(包含消息头和载荷)。
IKEv1阶段1协商过程
IKEv1阶段1的目的是建立IKE SA。IKE SA建立后对等体间的所有ISAKMP消息都将进行加密和验证,这条安全通道可以保证IKEv1阶段2的协商能够安全进行。
IKEv1阶段1支持两种协商模式:
主模式协商过程
主模式包含三次双向交换,用到了六条信息,交换过程如图1-13所示。
策略交换:对应消息①和②。
密钥信息交换:对应消息③和④。
身份和认证信息交换:对应消息⑤和⑥。
总结
IKEv1阶段1协商完成后,可以执行命令display ike sa,查看第一阶段的SA建立情况。当Flag参数为RD或RD|ST表示IKE SA已建立成功。其中,ST表示本端是SA协商发起方。
<Huawei> display ike sa IKE SA information : Conn-ID Peer VPN Flag(s) Phase ------------------------------------------------------------------ 16 2.1.1.1:500 RD|ST v1:2 14 2.1.1.1:500 RD|ST v1:1 Number of IKE SA : 2 ------------------------------------------------------------------- RD--READY ST--STAYALIVE RL--REPLACED FD--FADING TO--TIMEOUT HRT--HEARTBEAT LKG--LAST KNOWN GOOD SEQ NO. BCK--BACKED UP M--ACTIVE S--STANDBY A--ALONE NEG--NEGOTIATING
协商失败时,执行该命令显示可能为空、Flag参数为空或者Peer参数为0.0.0.0。
隧道两端IKE安全提议、预共享密钥等参数不匹配都将导致IKE SA无法建立。当隧道两端配置的IKE参数不一致时,常出现的debug信息如下。
两端的IKE安全提议不一致
<Huawei> debugging ikev1 error Aug 17 2017 14:29:15.800.1 Huawei IKE/7/IKE_Debug: IKE_ERROR 17:5773 Message from peer 2.1.1.1: Got NOTIFY of type NO_PROPOSAL_CHOS EN Aug 17 2017 14:29:15.800.3 Huawei IKE/7/IKE_Debug: IKE_ERROR 0:9946 Ikev1 error-info record(peer address: 2.1.1.1, error reason: ph ase1 proposal mismatch,list number: 11).
两端的预共享密钥不一致
<Huawei> debugging ikev1 error Aug 17 2017 15:18:09.800.1 Huawei IKE/7/IKE_Debug: IKE_ERROR 17:5773 Message from peer 2.1.1.1: Got NOTIFY of type PAYLOAD_MALFORME D
<Huawei> debugging ikev1 error Aug 17 2017 15:24:53.940.2 Huawei IKE/7/IKE_Debug: IKE_ERROR 17:1053 Message from peer 1.1.1.1: Invalid Next Payload of Type 60 in Payload Type 5 Aug 17 2017 15:24:53.940.3 Huawei IKE/7/IKE_Debug: IKE_ERROR 17:6847 Message from peer 1.1.1.1: dropping Message due to notificatio n type INVALID_PAYLOAD_TYPE Aug 17 2017 15:24:53.940.4 Huawei IKE/7/IKE_Debug: IKE_ERROR 17:4538 Message from peer 1.1.1.1: Message Sort Error Occurred Aug 17 2017 15:24:53.940.5 Huawei IKE/7/IKE_Debug: IKE_ERROR 0:9946 Ikev1 error-info record(peer address: 1.1.1.1, error reason: ma lformed payload,list number: 200).
一端未配置remote-address
<Huawei> debugging ikev1 error Aug 17 2017 16:13:33.940.3 Huawei IKE/7/IKE_Debug: IKE_ERROR 0:9946 Ikev1 error-info record(peer address: 1.1.1.1, error reason: pe er address mismatch,list number: 200). Aug 17 2017 16:13:33.940.4 Huawei IKE/7/IKE_Debug: IKE_ERROR 0:3595 Phase 1 Exchange: ike peer configuration not found for peer "1. 1.1.1"
本端remote-id与对端名称不一致
<Huawei> debugging ikev1 error Aug 17 2017 16:25:01.850.2 Huawei IKE/7/IKE_Debug: IKE_ERROR 25:6956 ERROR - Received remote-name(fw2) does not match with peer rem ote-name(fw3) Aug 17 2017 16:25:01.850.3 Huawei IKE/7/IKE_Debug: IKE_ERROR 0:9946 Ikev1 error-info record(peer address: 2.1.1.1, error reason: co nfig ID mismatch,list number: 148).
IKEv1阶段2协商过程
IKEv1阶段2的目的就是建立用来传输数据的IPSec SA。阶段2的交换模式是快速模式,交换的载荷都是加密的。
协商过程
快速模式交换过程图如图1-21所示。
Debugging信息
描述
处理建议
Message from peer peer-ip: Got NOTIFY of type NO_PROPOSAL_CHOSEN
来自对等体的消息:获得类型为NO_PROPOSAL_CHOSEN的通知。
peer-ip指IKE对等体IP地址。
两端的IKE安全提议不一致,请排查。
Message from peer peer-ip: Got NOTIFY of type PAYLOAD_MALFORMED
来自对等体的消息:获得类型为PAYLOAD_MALFORME的通知。
peer-ip指IKE对等体IP地址。
两端的预共享密钥不一致,请排查。
Message from peer peer-ip: Invalid Next Payload of Type 60 in Payload Type 5
来自对等体的消息:有效载
荷类型5中的类型60的下一个有效载荷无效。
peer-ip指IKE对等体IP地址。
两端的预共享密钥不一致,请排查。
Message from peer peer-ip: dropping Message due to notification type INVALID_PAYLOAD_TYPE
来自对等体的消息:由于通知类型为INVALID_PAYLOAD_TYPE而丢弃消息。
peer-ip指IKE对等体IP地址。
两端的预共享密钥不一致,请排查。
Phase 1 Exchange: ike peer configuration not found for peer "peer-ip"
阶段1交换:对等体配置未找到对等体peer-ip。
peer-ip指IKE对等体IP地址。
本端的remote-address配置错误,请排查。
ERROR - Received remote-name(remote-name) does not match with peer remote-name(remote-name)
接收到的remote-name与peer remote-name不匹配。
remote-name:对端名称。
本端remote-id与对端名称不一致,请排查。
Message from peer peer-ip: Got NOTIFY of type INVALID_ID_INFORMATION
来自对等体的消息:获得类型为INVALID_ID_INFORMATION的通知。
peer-ip指IKE对等体IP地址。
两端的ACL规则不匹配,请排查。
Message from peer peer-ip: dropping Message due to notification type NO_PROPOSAL_CHOSEN
来自对等体的消息:由于通知类型为NO_PROPOSAL_CHOSEN而丢弃消息。
peer-ip指IKE对等体IP地址。
两端的IPSec安全提议或PFS算法不一致,请排查。
Authentication failed for the peer peer-ip
对等体认证失败。
peer-ip指IKE对等体IP地址。
两端的预共享密钥不一致,请排查。
Unable to find IPSEC Policy for peer peer-ip
无法为对等体找到IPSec策略。
peer-ip指IKE对等体IP地址。
一端未配置remote-address,请排查。
ERROR - Peer remote-name(remote-name) does not match with
对等体remote-name不匹配。
remote-name:对端名称。
本端remote-id与对端名称不一致,请排查。
Ikev1 error-info record(peer address: peer-address, error reason: error-reason,list number: list-number)
Ikev2 error-info record(peer address: peer-address, error reason: error-reason,list number: list-number)
peer-address:对等体IP地址。
error-reason:IKE协商失败原因。
list-number:序号。
请根据IKE协商失败的常见原因进行排查:
phase1 proposal mismatch:两端IKE安全提议参数不匹配。
phase2 proposal mismatch:两端IPSec安全提议参数不匹配。
responder dh mismatch:响应方的DH算法不匹配。
initiator dh mismatch:发起方的DH算法不匹配。
encapsulation mode mismatch:封装模式不匹配。
flow mismatch:两端Security ACL不匹配。
version mismatch:两端IKE版本号不匹配。
peer address mismatch:两端的IKE Peer地址不匹配。
config ID mismatch:本端remote-id与对端名称不一致。
mismatch:两端的协商模式不匹配。
authentication fail:两端预共享密钥不一致。
unsupported version:不支持的IKE版本号。
malformed payload:畸形载荷,两端预共享密钥不一致。
route limit:路由注入的数目达到规格。
相关信息
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/4629.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~