You need to enable JavaScript to run this app.
导航

IPsec连接问题排查及解决方案

最近更新时间2022.09.15 18:47:21

首次发布时间2022.07.01 08:28:51

VPN连接可实现云上VPC与本地IDC、云上VPC与其他VPC的连接,本文以云上VPC与本地IDC之间连接为例,介绍IPsec连接的问题排查。

一、IPsec连接状态为“第一阶段协商未成功”

可能原因

  • IKE协商中,请耐心等待。
  • IKE协商失败,请参照解决方案进行排查。

解决方案

IKE协商失败,一般是因为本地VPN网关配置与火山引擎上VPN连接中“IPsec连接”的配置不一致,您可参考如下步骤进行排查。

  1. 在“VPN连接控制台 > IPsec连接”页面,逐一检查如下参数配置。
    • 请确认本地IDC的VPN网关与IPsec连接中配置一致,如有不一致的参数配置,请改为一致。
    • 请确认“aggressive”协商模式下,密钥交换协议版本为“ikev2”。如果配置为“aggressive”和“ikev1”,在对端发起协商后出于安全原因本端会拒绝建立连接请求,若对端同时拒绝本端发起协商,则会导致第一阶段协商失败。
      alt
  2. 在“VPN连接控制台 > 用户网关”页面,检查IPsec连接关联的用户网关IP地址,是否为本地IDC网关的静态公网IP地址。
    如果配置有误,请使用正确的IP地址重新创建用户网关,并重新创建IPsec连接关联新创建的用户网关。
    alt
  3. 在本地IDC检查本地VPN网关状态,是否正常。
    如果本地VPN网关状态异常,无法响应,请自行检查或咨询设备厂商,恢复VPN网关功能。

二、IPsec连接状态为“第二阶段协商未成功”

可能原因

  • 未触发IPsec协商。
  • IPsec协商中,请耐心等待。
  • IPsec协商失败,请参照解决方案进行排查。

解决方案

IPsec协商失败,大多也是因为本地VPN网关配置与火山引擎上VPN连接中“IPsec连接”的配置不一致,您可参考如下方法进行排查。

  1. IPsec连接创建完成后,VPN连接隧道不会立即打通,待有流量通过后或执行ping命令,才被动激活第二阶段协商进程,建立通信隧道。

  2. 在“VPN连接控制台 > IPsec连接”页面,单击目标IPsec连接的“修改”按钮,在修改页面检查如下配置:

    1. 检查连接信息。在“感兴趣流”模式下,需确保IPsec连接两端网关的私网网段无误且一致。
      若两端网关的私网网段有误,请分别修改为正确的私网网段。若两端网关的私网网段不一致,请修改为一致。
      alt
    2. 检查IPsec配置,确保本地IDC的VPN网关与IPsec连接中IPsec协商阶段认证算法、加密算法和DH算法配置一致。
      如有不一致的参数配置,请改为一致。
      alt
    3. 在“感兴趣流”模式且使用大小网段创建多个IPsec连接的场景下,请检查IPsec连接配置,确保使用大小网段的多个IPsec连接的IKE配置完全一致。因为当一个IPsec连接已经建立,其他IPsec连接路由网段与第一个IPsec连接的路由网段有重叠时,会出现多个IPsec连接共享同一SA,因此多个IPsec连接需保持相同的IKE配置。
      例如:本地IDC(私网网段:10.0.0.0/8),分别与云上VPC的两个网段(私网网段:192.168.0.0/24、192.168.0.0/26)通过IPsec连接1和IPsec连接2进行互通,需保证IPsec连接1和IPsec连接2的IKE配置完全一致。
      alt

三、IPsec连接状态为“第二阶段协商成功”,但仍无法访问

可能原因

  • 场景一:本地IDC无法访问VPC内的云服务器
    • 本地路由未把访问VPC的流量引入IPsecVPN隧道,或本地ACL配置不允许访问VPC的流量进入IPsecVPN隧道。
    • 待访问云服务器所属的安全组,未配置允许本地IDC私网网段访问的安全组规则。
  • 场景二:VPC内的云服务器无法访问本地IDC
    • VPC路由表中没有相关路由条目。
    • 本地IDC的安全设置未放通VPC的访问流量。
  • 场景三:本地IDC、VPC内的云服务器均无法访问
    本地IDC侧VPN网关的公网IP,是私网IP通过NAT方式实现,但创建IPsec连接时未开启NAT穿越功能。

解决方案

  • 场景一:本地IDC无法访问VPC内的云服务器
    • 检查本地IDC路由条目、ACL配置,确认已允许本地IDC访问VPC的流量进入IPsecVPN隧道。如果相关配置未允许流量进入IPsecVPN隧道,请自行配置放通流量。
    • 检查待访问云服务器实例的安全组,确认已有允许本地IDC私网网段访问的安全组规则。如果没有相关安全组规则,请手动添加相关安全组规则。具体操作,请参见添加安全组访问规则
  • 场景二:VPC内的云服务器无法访问本地IDC
    • 检查VPC路由表中的路由条目,确认有下一跳为无法连通IPsec连接使用的“VPN网关”的路由条目。
      VPC路由表中的路由信息,用于实现本端VPC到VPN网关之间的网络互通。一般情况下VPN网关路由配置成功后,系统会自动向VPN网关所属VPC的系统路由表同步发布该条路由,将VPC中的流量路由至VPN网关。若VPC使用的是自定义路由表,您需手动在VPC的自定义路由表中添加VPN网关路由信息。具体操作,请参见添加路由条目
    • 检查对端VPN网关的防火墙/iptables相关的设置,确认已允许VPC的私网网段访问。
      请确保VPN网关的路由配置与云上VPC内的配置已互通,感兴趣流模式下IPsec连接的本端网段、对端网段要与待访问的源、目的网段一致。
  • 场景三:本地IDC、VPC内的云服务器均无法访问
    创建用户网关时配置的IP地址是通过NAT方式获得,必须开启NAT穿越功能,并同时在本地VPN网关设备上配置NAT穿越功能。您可参考修改IPsec连接配置信息,在“高级配置”下打开NAT穿越(NAT Traversal)开关开启此功能,并且本地IDC侧的VPN网关设备上需同步开启NAT穿越功能。
    alt

四、IPsec连接状态为“第二阶段协商成功”,但多网段场景下部分通信不正常

可能原因

  • IKE密钥交换协议版本设置有误,建议使用ikev2。
  • 多网段场景下主流模式使用单连接、单SA,除此之外的部分其他模式可能会存在单连接下多个SA的情况,导致部分通信不正常。

解决方案

  1. 在“VPN连接控制台 > IPsec连接”页面,单击目标IPsec连接名称进入“概览”页面,检查IKE密钥交换协议版本是否为“ikev2”。
    如果不是,请修改为“ikev2”,具体操作,请参见修改IPsec连接配置信息。因为路由模式为“感兴趣流“时,IKE密钥交换协议版本必须使用“ikev2”。
    alt
  2. 如果您的IKE密钥交换协议版本无误,但仍存在部分通信不正常,请检查本地IDC侧VPN网关的SA状态。
    • 只有一个SA:表示状态正常,需检查其他配置是否正确。
    • 存在多个SA:表示本地IDC侧VPN网关使用了非标准ikev2协议,只能通过使用多个IPsec连接把多个网段连通。
      例如:原本地IDC侧两个网段(192.168.0.0/24、10.0.0.0/8)与云上VPC(私网网段:172.16.0.0/24)使用一个IPsec连接,现在需要改为使用两个IPsec连接:IPsec连接1连通本地IDC侧192.168.0.0/24网段和云上VPC,IPsec连接2连通本地IDC侧10.0.0.0/8网段和云上VPC,并且需要确保IPsec连接1和IPsec连接2的IKE配置相同。

五、IPsec连接成功,VPN两端通信正常,但偶尔出现丢包现象

可能原因

  • IPsec连接中IKE配置、IPsec配置使用了安全性较低的认证算法、加密算法或DH算法。
  • 实际传输流量超过本端或对端VPN网关规格带宽上限。

解决方案

修改IPsec连接配置,设置安全性更高的认证算法、加密算法、DH算法。具体修改操作,请参考修改IPsec连接配置信息

参数说明
认证算法sha1、md5安全性较低,请谨慎使用。推荐使用安全性更高的sha256、sha384、sha512。
加密算法des、3des安全性较低,请谨慎使用。推荐使用安全性更高的aes、aes192、aes256。
DH算法group1、group2、group5安全性较低,请谨慎使用。推荐使用安全性更高的group14。