11
2024
04
15:23:48

HiSecEngine USG6000F, USG12000 V600 维护宝典



推荐点击下面图片,通过本站淘宝优惠价购买:

image.png

https://support.huawei.com/enterprise/zh/doc/EDOC1100250970/d76acd45


IPsec隧道建立失败导致业务不通

故障案例:IKE安全提议参数不一致

现象描述

图1所示,设备间部署IPsec后,PC间互访不通。

图18-12 IPsec组网图

  1. 在设备1上执行命令display ike sa发现IKE SA没有建立成功。

    <sysname1> display ike sa  Total number of IKE SA in all CPU : 1 Total number of phase 1 SAs in all CPU : 1 Total number of phase 2 SAs in all CPU : 0 Flag Description:  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                          Spu board slot 0, cpu 0 IKE SA information :  Number of IKE SA : 1,  number of IKE SA1: 1,  number of IKE SA2: 0 --------------------------------------------------------------------------------------------------    Conn-ID    Peer           VPN             Flag(s)              Phase  RemoteType  RemoteID   ------------------------------------------------------------------------------------------------     1342      2.1.1.1                         NEG|A                 v2:1  IP          2.1.1.1   ------------------------------------------------------------------------------------------------
  2. 在设备1上执行命令display ike error-info查看IKE协商失败原因为phase1 proposal mismatch,说明两端IKE安全提议参数不一致。

    <sysname1> display ike error-info    current info Num :2    Spu board slot 0, cpu 0 ike error information:   current ike Error-info number :2  -----------------------------------------------------------------------------------------    peer              port    error-reason                     version error-time  -----------------------------------------------------------------------------------------    2.1.1.1           500     phase1 proposal mismatch          v2      2017-09-05 15:22:32    2.1.1.1           500     phase1 proposal mismatch          v2      2017-09-05 15:22:32  -----------------------------------------------------------------------------------------

相关告警与日志

  • 相关告警

  • 相关日志

原因分析

IKE安全提议中参数不一致,例如:认证算法、加密算法、DH密钥交换参数。

操作步骤

  1. 执行命令display ike proposal [ number proposal-number ],查看两端的IKE安全提议参数是否一致。

    <sysname1> display ike proposal number 10  -------------------------------------------                                        IKE Proposal: 10                                                                    Authentication Method      : PRE_SHARED                                           Authentication Algorithm   : SHA2-256                                             Encryption Algorithm       : AES-128                                              Diffie-Hellman Group       : MODP-2048                                            SA Duration(Seconds)       : 86400                                                Integrity Algorithm        : HMAC-SHA2-256                                        Prf Algorithm              : HMAC-SHA2-256                                     ------------------------------------------- <sysname2> display ike proposal number 10  -------------------------------------------                                        IKE Proposal: 10                                                                    Authentication Method      : PRE_SHARED                                           Authentication Algorithm   : SHA2-256                                             Encryption Algorithm       : AES-256                                              Diffie-Hellman Group       : MODP-2048                                            SA Duration(Seconds)       : 86400                                                Integrity Algorithm        : HMAC-SHA2-256                                        Prf Algorithm              : HMAC-SHA2-256                                     -------------------------------------------

    从上可以看出Encryption algorithm不一致。

  2. 更改IKE安全提议中不一致的参数。

    由于两端Encryption algorithm不一致,所以在设备1修改加密算法。

    <sysname1> system-view [sysname1] ike proposal 10 [sysname1-ike-proposal-10] encryption-algorithm aes-256

    修改后,IPsec隧道建立成功,PC间可以互相访问。

建议与总结

配置IPsec时,需先保证路由可达,否则IKE协商肯定失败。

配置IPsec时,务必保证IKE安全提议一致,特别是与其他厂商设备对接时,有些缺省参数不一样,使用默认的参数时,就会导致IKE SA协商失败。当无法获取其他厂商设备的配置信息时,可以在本端设备执行命令debugging ikev2 all查看其他厂商设备发送过来的IKE安全提议信息。

用户在Debugging信息中可以查看本端解析的IKE安全提议。例如:

IKE_INFO 47:2699 Number of proposal : 1 IKE_INFO 47:2868   Proposal No 1:  Protocol ID: ISAKMP IKE_INFO 47:2521 ENCRYPTION ALGORITHM: AES_256   //加密算法 IKE_INFO 47:2274 INTEGRITY ALGORITHM: SHA_256   //加密算法 IKE_INFO 47:2243 PRF ALGORITHM: SHA2_256   //伪随机数产生函数的算法 IKE_INFO 47:2308 GROUP_TYPE: MODP_1024   //DH密钥交换参数

如果用户使用IKEv1协议,则执行命令debugging ikev1 all查看本端解析的IKE安全提议。例如:

IKE_INFO 17:3513 Message from peer 1.1.1.1: validate payload SA IKE_INFO 17:813 Message from peer 1.1.1.1: Parsing payload PROPOSAL  IKE_INFO 17:813 Message from peer 1.1.1.1: Parsing payload TRANSFORM IKE_INFO 2:2924   Attribute ENCRYPTION_ALGORITHM value AES_CBC   //加密算法 IKE_INFO 2:2924   Attribute KEY_LENGTH value 256   //加密算法长度 IKE_INFO 2:2924   Attribute HASH_ALGORITHM value SHA2-256   //认证算法 IKE_INFO 2:2924   Attribute AUTHENTICATION_METHOD value PRE_SHARED   //认证方法 IKE_INFO 2:2924   Attribute GROUP_DESCRIPTION value MODP_1024   //DH密钥交换参数 IKE_INFO 2:2924   Attribute LIFE_TYPE value SECONDS IKE_INFO 2:2924   Attribute LIFE_DURATION value 86400   //IKE SA的生存周期

故障案例:预共享密钥不一致

现象描述

图1所示,设备间部署IPsec后,PC间互访不通。

图18-13 IPsec组网图

  1. 在设备1上执行命令display ike sa发现IKE SA没有建立成功。

    <sysname1> display ike sa  Total number of IKE SA in all CPU : 1 Total number of phase 1 SAs in all CPU : 1 Total number of phase 2 SAs in all CPU : 0 Flag Description:  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                          Spu board slot 0, cpu 0 IKE SA information :  Number of IKE SA : 1,  number of IKE SA1: 1,  number of IKE SA2: 0 --------------------------------------------------------------------------------------------------    Conn-ID    Peer           VPN             Flag(s)              Phase  RemoteType  RemoteID   ------------------------------------------------------------------------------------------------     1342      2.1.1.1                         NEG|A                 v2:1  IP          2.1.1.1   ------------------------------------------------------------------------------------------------
  2. 在设备1上执行命令display ike error-info查看IKE协商失败原因为authentication fail,说明身份认证失败。

    <sysname1> display ike error-info    current info Num :2 Spu board slot 0, cpu 0 ike error information:    current ike Error-info number :2  -----------------------------------------------------------------------------------------    peer              port    error-reason                     version error-time  -----------------------------------------------------------------------------------------    2.1.1.1           500     authentication fail              v2      2017-09-05 15:22:32    2.1.1.1           500     authentication fail              v2      2017-09-05 15:22:32  -----------------------------------------------------------------------------------------

两端采用IKEv1协商时,如果预共享密钥不一致,则执行命令display ike error-info显示失败原因为malformed-message or psk mismatch

相关告警与日志

  • 相关告警

  • 相关日志

原因分析

两端预共享密钥不一致。

操作步骤

  1. 执行命令display ike proposal [ number proposal-number ],查看两端的认证方法是否为预共享密钥认证。

    例如在设备1上查看。

    <sysname1> display ike proposal number 10  -------------------------------------------                                        IKE Proposal: 10                                                                    Authentication Method      : PRE_SHARED                                           Authentication Algorithm   : SHA2-256                                             Encryption Algorithm       : AES-128                                              Diffie-Hellman Group       : MODP-2048                                            SA Duration(Seconds)       : 86400                                                Integrity Algorithm        : HMAC-SHA2-256                                        Prf Algorithm              : HMAC-SHA2-256                                     -------------------------------------------

    如果两端Authentication Method不一致,请修改一致。还没解决时,请修改预共享密钥。

  2. 更改预共享密钥。

    假设两端的预共享密钥认证密钥为YsHsjx_202206。

    <sysname1> system-view [sysname1] ike peer spub  [sysname1-ike-peer-peer1] pre-shared-key YsHsjx_202206

    修改后,IPsec隧道建立成功,PC间可以互相访问。

故障案例:IKE对等体remote地址不匹配

现象描述

图1所示,设备间已成功建立IPsec隧道。当在设备1的公网接口增加了sub地址并修改某些配置后,发现IPsec隧道建立不成功。经检查,两端IPsec和IKE参数配置均正确。

图18-14 IPsec组网图IKE SA没有建立成功

  1. 在设备2上执行命令display ike sa发现IKE SA没有建立成功。

    <sysname2> display ike sa  Total number of IKE SA in all CPU : 1 Total number of phase 1 SAs in all CPU : 1 Total number of phase 2 SAs in all CPU : 0 Flag Description:  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                          Spu board slot 0, cpu 0 IKE SA information :  Number of IKE SA : 1,  number of IKE SA1: 1,  number of IKE SA2: 0 --------------------------------------------------------------------------------------------------    Conn-ID    Peer           VPN             Flag(s)              Phase  RemoteType  RemoteID   ------------------------------------------------------------------------------------------------     1342      2.1.1.5:500                      NEG|A                v2:1     IP        2.1.1.1   ------------------------------------------------------------------------------------------------
  2. 在设备2上执行命令display ike error-info查看IKE协商失败原因为peer address mismatch,说明两端的IKE对等体remote地址不匹配。

    <sysname2> display ike error-info    current info Num :1    Spu board slot 0, cpu 0 ike error information:    current ike Error-info number :1  -----------------------------------------------------------------------------------------    peer              port    error-reason                     version error-time  -----------------------------------------------------------------------------------------    2.1.1.5           500     peer address mismatch            v2      2017-09-05 15:22:32  -----------------------------------------------------------------------------------------
  3. 查看设备1接口配置的sub地址。

    <sysname1> system-view [sysname1] interface GE 0/0/2  [sysname1-GE0/0/2] ip address 1.1.1.1 255.255.255.0  [sysname1-GE0/0/2] ip address 2.1.1.5 255.255.255.0 sub  [sysname1-GE0/0/2] quit [sysname1] ipsec policy map1

相关告警与日志

  • 相关告警

  • 相关日志

原因分析

发起方的本端地址与响应方配置的对端地址不一致。

操作步骤

  1. 执行命令display ike peer [ name peer-name ],查看两端的IKE对等体地址是否匹配。

    <sysname1> display ike peer name b  ------------------------------------------------                                     Peer name                    : b       IKE version                  : v2                                               VPN instance                 : -                                                  Remote IP                    : 2.1.1.1                                            Authentic IP address         : -                                                  Proposal                     : 10                                                 Pre-shared-key               : ******    Local ID type                : IP                                                 Local ID                     : -                                                  Remote ID type               : -                                                  Remote ID                    : -    .........  ------------------------------------------------    <sysname2> display ike peer name b  ------------------------------------------------     Peer name                    : a     IKE version                  : v2     VPN instance                 : -     Remote IP                    : 1.1.1.5     Authentic IP address         : -     Proposal                     : 10     Pre-shared-key               : ******     Local ID type                : IP     Local ID                     : -     Remote ID type               : -     Remote ID                    : -  ..........  ------------------------------------------------

    从显示信息可以看出,设备2配置的对端地址为设备1接口的sub地址,而IKE协商时,缺省情况下,设备1使用接口的主地址作为本端地址,所以发起方的本端地址与响应方配置的对端地址不一致,导致IKE SA协商失败。

  2. 修改设备1的本端地址。

    <sysname1> system-view [sysname1] ipsec policy map1 10 isakmp  [sysname1-ipsec-policy-isakmp-map1-10] tunnel local 1.1.1.5

    修改后,IPsec隧道建立成功,PC间可以互相访问。

建议与总结

对于ISAKMP方式安全策略,一般不需要配置IPsec隧道的本端地址,SA协商时会根据路由选择IPsec隧道的本端地址。而如下情况则需要配置本端地址:

  • 当安全策略实际绑定的接口IP地址不固定或无法预知时,可以执行命令tunnel local ip-address指定设备上的其他接口(如LoopBack接口)的IP地址作为IPsec隧道的本端IP地址,也可以执行命令tunnel local applied-interface指定安全策略应用接口的地址作为IPsec隧道的本端IP地址。

  • 当安全策略实际绑定的接口配置了多个IP地址(一个主IP地址和多个从IP地址)时,可以执行命令tunnel local ip-address指定其中一个IP地址作为IPsec隧道的本端IP地址,也可以执行命令tunnel local applied-interface指定该接口的主地址作为IPsec隧道的本端地址。

  • 当本端与对端存在等价路由时,可以执行tunnel local ip-address | applied-interface },来指定IPsec隧道的本端IP地址。

故障案例:IPsec安全提议参数不一致

现象描述

图1所示,设备间部署IPsec后,PC间互访不通。

图18-15 IPsec组网图

  1. 在设备1上执行命令display ike sa发现IPsec SA没有建立成功。

    <sysname1> display ike sa  Total number of IKE SA in all CPU : 1 Total number of phase 1 SAs in all CPU : 1 Total number of phase 2 SAs in all CPU : 0 Flag Description:  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                          Spu board slot 0, cpu 0 IKE SA information :  Number of IKE SA : 1,  number of IKE SA1: 1,  number of IKE SA2: 0 --------------------------------------------------------------------------------------------------    Conn-ID    Peer           VPN             Flag(s)              Phase  RemoteType  RemoteID   ------------------------------------------------------------------------------------------------     1342      2.1.1.1:500                     RD|A                 v2:1  IP          2.1.1.1   ------------------------------------------------------------------------------------------------
  2. 在设备1上执行命令display ike error-info查看IKE协商失败原因为phase2 proposal or pfs mismatch,说明两端IPsec安全提议参数或PFS算法不一致。

    <sysname1> display ike error-info    current info Num :2    Spu board slot 0, cpu 0 ike error information:    current ike Error-info number :2  -----------------------------------------------------------------------------------------    peer              port    error-reason                     version error-time  -----------------------------------------------------------------------------------------    2.1.1.1           500     phase2 proposal or pfs mismatch   v2      2017-09-05 15:22:32    2.1.1.1           500     phase2 proposal or pfs mismatch   v2      2017-09-05 15:22:32  -----------------------------------------------------------------------------------------

相关告警与日志

  • 相关告警

  • 相关日志

原因分析

两端IPsec安全提议参数或PFS算法不一致。

操作步骤

  1. 执行命令display ipsec proposal [ name proposal-name ],查看两端的IPsec安全提议参数是否一致。

    <sysname1> display ipsec proposal name tran1  IPsec proposal name: tran1                                                         Encapsulation mode: Tunnel                                                        Transform         : esp-new                                                       ESP protocol      : Authentication SHA2-HMAC-512                                                      Encryption AES-128     <sysname2> display ipsec proposal name tran1  IPsec proposal name: tran1                                                         Encapsulation mode: Tunnel                                                        Transform         : esp-new                                                       ESP protocol      : Authentication SHA2-HMAC-512                                                      Encryption AES-256

    从上可以看出两端IPsec安全提议的加密算法不一致。

  2. 更改IPsec安全提议中不一致的参数。

    由于两端加密算法不一致,所以在设备1修改加密算法。

    <sysname1> system-view [sysname1] ike proposal 10 [sysname1-ike-proposal-10] encryption-algorithm aes-256

    修改后,IPsec隧道建立成功,PC间可以互相访问。

建议与总结

配置IPsec时,务必保证IPsec安全提议一致,特别是与其他厂商设备对接时,有些缺省参数不一样,使用默认的参数时,就会导致IPsec SA协商失败。当无法获取其他厂商设备的配置信息时,可以在本端设备执行命令debugging ikev2 all查看其他厂商设备发送过来的IPsec安全提议信息。

用户在Debugging信息中查看本端解析的IPsec安全提议。例如:

IKE_INFO 47:2699 Number of proposal : 1 IKE_INFO 47:2868   Proposal No 1:  Protocol ID: IPsec_ESP   //安全协议类型 IKE_INFO 47:2521 ENCRYPTION ALGORITHM: AES_256   //加密算法 IKE_INFO 47:2282 AUTHENTICATION ALGORITHM: SHA_256   //认证算法

如果用户使用IKEv1协议,则执行命令debugging ikev1 all查看本端解析的IPsec安全提议。例如:

IKE_INFO 17:2267   Proposal No: 1     Protocol ID: IPsec_ESP   //安全协议类型 IKE_INFO 2:1997   ENCRYPTION ALGORITHM: AES   //加密算法 IKE_INFO 2:2924   Attribute SA_LIFE_TYPE value SECONDS    IKE_INFO 2:2924   Attribute SA_LIFE_DURATION value 3600   //以时间为基准的IPsec SA的生存周期 IKE_INFO 2:2924   Attribute SA_LIFE_TYPE value KILOBYTES IKE_INFO 2:2924   Attribute SA_LIFE_DURATION value 1843200   //以流量为基准的IPsec SA的生存周期 IKE_INFO 2:2924   Attribute ENCAPSULATION_MODE value TUNNEL   //封装模式 IKE_INFO 2:2924   Attribute AUTHENTICATION_ALGORITHM value SHA_256  //认证算法 IKE_INFO 2:2924   Attribute KEY_LENGTH value 256   //加密算法长度

故障案例:设备异常重启后,对端设备未删除原有隧道

现象描述

图1所示,设备间建立IPsec隧道。设备2设备异常重启后,之前与设备1建立的IPsec隧道长时间存在,造成设备1侧的客户端无法访问设备2侧的客户端。

图18-16 IPsec组网图

执行命令display ike sa,发现设备1的SA建立成功,设备2的SA建立失败。

<sysname1> display ike sa  Total number of IKE SA in all CPU : 1 Total number of phase 1 SAs in all CPU : 1 Total number of phase 2 SAs in all CPU : 1 Flag Description:  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                          Spu board slot 0, cpu 0 IKE SA information :  Number of IKE SA : 1,  number of IKE SA1: 1,  number of IKE SA2: 0 --------------------------------------------------------------------------------------------------    Conn-ID    Peer           VPN             Flag(s)              Phase  RemoteType  RemoteID   ------------------------------------------------------------------------------------------------     8388     2.1.1.1:500                       RD|ST|A              v2:2  IP          2.1.1.1    8378     2.1.1.1:500                       RD|ST|A              v2:1  IP          2.1.1.1   ------------------------------------------------------------------------------------------------
<sysname2> display ike sa

在设备1上带源地址Ping不通PC2,但在设备2上带源地址可以Ping通PC1,再在设备1上执行命令display ike sa发现SA建立成功,PC1可以Ping通PC2。

相关告警与日志

  • 相关告警

  • 相关日志

原因分析

对于流量触发SA协商,设备2重启后,SA被清空,但设备1上的SA尚未到达生存周期(IPsec SA默认生存周期为1小时,IKE SA的默认生存周期为24小时),故一直未释放。当从设备1发起访问时,数据流匹配到原有的SA导致新的SA无法建立,所以PC1无法访问PC2。当从设备2发起访问时,数据流触发重新建立SA,SA建立成功后,PC2和PC1可以互相访问。

操作步骤

  1. 在设备1上手动复位SA。

  2. 执行命令reset ike sa后,两端IPsec隧道建立成功。

  3. 两端配置IKE对等体DPD检测功能。

    配置后,IPsec隧道断掉后会自动清除SA,并重新触发SA协商。

    DPD检测可以在全局或IKE对等体下配置。系统优先使用IKE对等体下的配置,IKE对等体下未开启DPD检测时才采用全局配置。

    两端对等体配置的DPD报文中的载荷顺序需要一致,否则对等体存活检测功能无效。

    例如,在全局下配置DPD报文中的载荷顺序为seq-hash-notify、检测模式为periodic、DPD空闲时间20秒、DPD报文重传间隔10秒、重传次数4次。以设备1为例。

    注:ike dpd msg 命令需要IKEV1插件

    <sysname1> system-view  [sysname1] ike dpd msg seq-hash-notify  [sysname1] ike dpd type periodic  [sysname1] ike dpd idle-time 20  [sysname1] ike dpd retransmit-interval 10  [sysname1] ike dpd retry-limit 4

建议与总结

设备支持heartbeat和DPD两种对等体检测功能。推荐开启DPD检测功能。

heartbeat检测和DPD检测的区别:heartbeat检测定期发送报文,本端和对端配置需要匹配;DPD检测中本端和对端不需要匹配(除DPD报文中的载荷顺序需要匹配外),当IKE对等体间有正常的IPsec流量时,不会发送DPD消息,只有当一段时间内收不到对端发来的IPsec报文时,才发送DPD消息,节省了CPU资源。

故障案例:IPsec与NAT同时部署在一台设备上,业务报文被NAT导致其未能匹配Security ACL

现象描述

图1所示,PC通过设备进行NAT后访问Internet。设备间部署IPsec,并且使用流量触发协商建立IPsec隧道,部署后,PC间无法互相访问。

图18-17 IPsec组网图

  1. 在设备1上执行命令display ike sa,发现显示为空,说明IPsec隧道建立失败。

    <sysname1> display ike sa
  2. 在设备1上执行命令display ipsec statistics,发现outbound ok为零,说明没有发起IKE协商。

    <sysname1> display ipsec statistics  .......     negotiate about packet statistics:       IKE fwd packet ok: 0, err: 0       IKE ctrl packet inbound ok: 0, outbound ok: 0       SoftExpr: 0, HardExpr: 0, DPDOper: 0       trigger ok: 0, switch sa: 0, sync sa: 0       recv IKE nat keepalive: 0, IKE input: 0
  3. 检查发现公私网路由可达和IPsec配置无误。

相关告警与日志

  • 相关告警

  • 相关日志

原因分析

  • Security ACL与待保护数据流不匹配。

  • NAT策略干扰IPsec保护数据流。

操作步骤

  1. 执行命令display ipsec policydisplay acl acl-number检查Security ACL配置与待保护数据流是否匹配。

    <sysname1> display ipsec policy  ===========================================  IPsec policy group: "map1"  Using interface: GE0/0/1  ===========================================        Sequence number: 10      Policy Alias: map1-10      Security data flow: 3000  ......  <sysname1> display acl 3000  Advanced ACL 3000, 1 rule ( Reference counter 1 )                                 Acl's step is 5                                                                    rule 5 permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255 (0 ti  mes matched)    <sysname2> display ipsec policy  ===========================================  IPsec policy group: "map1"  Using interface: GE0/0/1  ===========================================        Sequence number: 10      Policy Alias: map1-10      Security data flow: 3000  ......    <sysname2> display acl 3000  Advanced ACL 3000, 1 rule ( Reference counter 1 )                                 Acl's step is 5                                                                    rule 5 permit ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255 (0 ti  mes matched)

    从上可以看出,Security ACL配置与待保护数据流相匹配。

  2. 执行命令display current-configuration configuration policy-nat检查NAT策略是否包含待保护数据流。

    <sysname1> display current-configuration configuration policy-nat   rule name policy_nat2                                                              source-zone trust                                                                 destination-zone untrust                                                          source-address 10.1.1.0 0.0.0.255                                                 action source-nat easy-ip

    设备2与设备1的配置类似,这里不再赘述。

    从上可以看出,NAT策略包含待保护数据流。由于设备优先处理NAT流程,故在IPsec封装之前,PC访问对端的数据流会首先进行NAT转换。所以需经过IPsec封装的数据流不进行NAT转换。以设备1为例。

    [sysname1] system-view  [sysname1] nat-policy  [sysname1-policy-nat] rule name policy_nat1  [sysname1-policy-nat-rule-policy_nat1] source-zone trust  [sysname1-policy-nat-rule-policy_nat1] destination-zone untrust  [sysname1-policy-nat-rule-policy_nat1] source-address 10.1.1.0 0.0.0.255  [sysname1-policy-nat-rule-policy_nat1] destination-address 10.1.2.0 0.0.0.255  [sysname1-policy-nat-rule-policy_nat1] action no-nat  [sysname1-policy-nat-rule-policy_nat1] quit  [sysname1-policy-nat] rule move policy_nat2 after policy_nat1

    需注意的是,配置完新的NAT规则后,还需要执行命令rule move移动NAT策略规则,使得policy_nat1优先生效。

    修改后,IPsec隧道建立成功,PC间可以互相访问。

建议与总结

当IPsec与NAT配置在同一台设备时,要确认经过IPsec封装的数据流是否还需要进行NAT转换。

  • 如果需要进行NAT转换,则Security ACL要匹配NAT后的地址。

  • 如果不需要进行NAT转换,则Security ACL要匹配NAT前的地址。且经过IPsec隧道的数据流不进行NAT转换。

如果自动触发协商建立IPsec隧道,则执行命令display ike sa可以看到IPsec隧道建立成功,但PC间无法互相访问。

故障案例:ACL的rule规则范围不匹配

现象描述

图1所示,设备间部署IPsec后,PC间无法互相访问。

图18-18 IPsec组网图

  1. 在设备1上执行命令display ike sa,发现IKE SA协商成功,但IPsec SA没有成功,说明IPsec隧道建立失败。

    <sysname1> display ike sa  Total number of IKE SA in all CPU : 1 Total number of phase 1 SAs in all CPU : 1 Total number of phase 2 SAs in all CPU : 0 Flag Description:  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                          Spu board slot 0, cpu 0 IKE SA information :  Number of IKE SA : 1,  number of IKE SA1: 1,  number of IKE SA2: 0 --------------------------------------------------------------------------------------------------    Conn-ID    Peer           VPN             Flag(s)              Phase  RemoteType  RemoteID   ------------------------------------------------------------------------------------------------     8388     2.1.1.1:500                       NEG|A               v2:2  IP          2.2.2.1    8378     2.1.1.1:500                       RD|A                v2:1  IP          2.2.2.1   ------------------------------------------------------------------------------------------------
  2. 在设备1上执行命令display ike error-info查看IKE协商失败原因为flow or peer mismatch,说明两端ACL的rule规则范围不匹配。

    <sysname1> display ike error-info    current info Num :2    Spu board slot 0, cpu 0 ike error information:    current ike Error-info number :2  -----------------------------------------------------------------------------------------    peer              port    error-reason                     version error-time  -----------------------------------------------------------------------------------------    2.1.1.1           500     flow or peer mismatch            v2      2017-09-05 15:22:32    2.1.1.1           500     flow or peer mismatch            v2      2017-09-05 15:22:32  -----------------------------------------------------------------------------------------

相关告警与日志

  • 相关告警

  • 相关日志

原因分析

两端ACL的rule规则范围不匹配。

操作步骤

  1. 执行命令display ipsec policydisplay acl acl-number检查Security ACL的rule规则范围是否匹配。

    <sysname1> display ipsec policy  ===========================================  IPsec policy group: "map1"  Using interface: GE0/0/1  ===========================================        Sequence number: 10      Policy Alias: map1-10      Security data flow: 3000  ......  <sysname1> display acl 3000  Advanced ACL 3000, 1 rule ( Reference counter 1 )                                 Acl's step is 5                                                                    rule 5 permit ip source 10.1.1.0 0.0.0.255 destination 10.2.2.0 0.0.0.255 (0 ti  mes matched)    <sysname2> display ipsec policy  ===========================================  IPsec policy group: "map1"  Using interface: GE0/0/1  ===========================================        Sequence number: 10      Policy Alias: map1-10      Security data flow: 3000  ......  <sysname2> display acl 3000  Advanced ACL 3000, 1 rule ( Reference counter 1 )                                 Acl's step is 5                                                                    rule 5 permit ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255 (0 ti  mes matched)

    从上可以看出,两端Security ACL的rule规则范围不匹配。

    对于IKEv1,若两端都配置ISAKMP方式IPsec安全策略,发起方配置的ACL规则范围必须是响应方的子集。若一端配置ISAKMP方式IPsec安全策略,另一端配置策略模板方式IPsec安全策略,ISAKMP方式IPsec安全策略的ACL规则的范围可以小于策略模板方式IPsec安全策略的ACL规则,取双方ACL规则交集作为协商结果。

  2. 修改Security ACL的rule规则范围。

    分析发现设备1的Security ACL的rule规则范围错误。

    <sysname1> system-view [sysname1] acl number 3000  [sysname1-acl4-advance-3000] rule 5 permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255

    修改后,IPsec隧道建立成功,PC间可以互访。

建议与总结

配置ACL规则需注意:

  • IPsec隧道两端ACL规则定义的协议类型要一致。例如,一端使用IP协议,另一端也必须使用IP协议。

  • 当IPsec隧道两端的ACL规则镜像配置时,任意一方发起协商都能保证SA成功建立;当IPsec隧道两端的ACL规则非镜像配置时,只有发起方的ACL规则定义的范围是响应方的子集或两端的ACL规则存在交集时,SA才能成功建立。因此,建议IPsec隧道两端配置的ACL规则互为镜像,即一端配置的ACL规则的源地址和目的地址分别为另一端配置的ACL规则的目的地址和源地址。具体来说:

    • 对于IKEv1,镜像不是必要条件,只要发起方配置的ACL规则范围是响应方的子集即可。协商时,取双方ACL规则交集作为协商结果。

    • 对于IKEv2,镜像不是必要条件,只要两端的ACL规则存在交集即可。协商时,取双方ACL规则交集作为协商结果。

  • ACL中各条rule的地址段要避免出现重叠。因为地址段重叠的rule之间容易相互影响,造成数据流匹配rule规则时出现误匹配的情况。

  • 同一个IPsec安全策略组中配置的ACL不能包含相同的rule规则。

  • 同一个IPsec安全策略组中所有IPsec安全策略引用的ACL的rule之间不能存在交集。例如引用的ACL3001和ACL3002存在交集:

    <sysname> system-view [sysname] acl number 3001  [sysname-acl4-advance-3001] rule 5 permit ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255  [sysname-acl4-advance-3001] quit [sysname] acl number 3002 [sysname-acl4-advance-3002] rule 5 permit ip source 10.1.0.0 0.0.255.255 destination 10.1.0.0 0.0.255.255
  • 协商响应方采用策略模板方式IPsec安全策略时:

    响应方可不定义需要保护的数据流,此时表示接受发起方定义的需要保护的数据流范围;如果响应方要指定需要保护的数据流,则需要与发起方镜像配置或者包含发起方指定的保护的数据流范围。

  • 如果应用IPsec安全策略的接口同时配置了NAT,由于设备先执行NAT,会导致IPsec不生效,此时需要:

    • NAT引用的ACL规则deny目的IP地址是IPsec引用的ACL规则中的目的IP地址,避免对IPsec保护的数据流进行NAT转换。

    • IPsec引用的ACL规则匹配经过NAT转换后的IP地址。

故障案例:中间有NAT设备,认证地址不匹配

现象描述

图1所示,设备间存在NAT设备,设备1经过NAT转换后设备2进行对接,部署IPsec后,PC间互访不通。

图18-19 IPsec组网图

  1. 在设备2上执行命令display ike sa,发现显示为空,说明IPsec隧道建立失败。

    <sysname2> display ike sa
  2. 在设备2上执行命令display ike error-info查看IKE协商失败原因。

    <sysname2> display ike error-info    current info Num :3    Spu board slot 0, cpu 0 ike error information:    current ike Error-info number :3  -----------------------------------------------------------------------------------------    peer              port    error-reason                     version error-time  -----------------------------------------------------------------------------------------    1.1.1.1           2049    authentication fail               v2      2017-09-05 15:22:32    1.1.1.1           2049    config ID mismatch                v2      2017-09-05 15:22:32    10.4.1.1          2049    peer address mismatch             v2      2017-09-05 15:22:32  -----------------------------------------------------------------------------------------

    IKE协商失败原因为authentication failconfig ID mismatch,说明设备2校验设备1发送的ID信息失败。

    另外,IKE协商失败原因为peer address mismatch,且peer为10.4.1.1,说明设备1携带的ID为一个私网地址10.4.1.1,造成IKE协商地址1.1.1.1与认证地址10.4.1.1不一致,导致IPsec隧道建立失败。

相关告警与日志

  • 相关告警

  • 相关日志

原因分析

IKE协商地址与认证地址不一致。

操作步骤

  1. 分别在设备1和设备2上执行命令display ike peer查看两端的对等体地址是否匹配。

    <sysname1> display ike peer  Number of IKE peers: 1    -----------------------------------------------------------     Peer name                               : spr     IKE version                             : v2     VPN instance                            : -     Remote IP                               : 2.1.1.1     Authentic IP address                    : -     Proposal                                : 10     Pre-shared-key                          : ******     Local ID type                           : IP  ......
    <sysname2> display ike peer  Number of IKE peers: 1    -----------------------------------------------------------     Peer name                               : spr     IKE version                             : v2     VPN instance                            : -     Remote IP                               : 1.1.1.1     Authentic IP address                    : -     Proposal                                : 10     Pre-shared-key                          : ******     Local ID type                           : IP  ......

    从显示信息可以看出,两端的对等体地址匹配,因为设备1在NAT设备后面,IKE协商时,设备1的协商地址10.4.1.1变为1.1.1.1。

    但是,从协商原因分析出IKE协商地址与认证地址不一致。查看配置发现两端都是采用ISAKMP方式IPsec安全策略,此时需在设备2上执行命令remote-address authentication-address配置认证地址。因为设备1位于NAT设备后面,两端采用IP地址认证时,设备2会收到设备1发起IKE协商消息,消息中会携带ID身份信息(私网地址作为自己的ID身份信息),然后F设备2将配置的remote-address和收到的设备1的ID身份信息进行比较,发现不一致,造成认证失败。

  2. 在设备2上执行命令remote-address authentication-address配置认证地址。

    <sysname2> system-view [sysname2] ike peer spr [sysname2-ike-peer-spr] remote-address authentication-address 10.4.1.1 10.4.1.255

    配置后,两端IPsec隧道建立成功,PC间能相互访问。

建议与总结

两端使用IKEv2协议协商建立IPsec场景中,当对端设备使用的是内网IP地址,穿越了NAT设备时,如果两端采用ISAKMP方式IPsec安全策略,并使用IP地址进行认证,需注意:

  • 本端需执行命令remote-address ip-address指定的IP地址为对端NAT转换后的IP地址。

  • 本端需执行命令remote-address authentication-address指定NAT转换前的IP地址为对端认证地址。

针对此场景,建议本端采用策略模板方式IPsec安全策略,因为策略模板下不需要执行命令remote-address ip-address指定对端地址。


本文链接:https://www.hqyman.cn/post/5757.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:





休息一下,本站随机推荐观看栏目:


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

您的IP地址是: