创建VPN网关后,还需分别在阿里云侧和本地IDC侧配置IPsec连接,才能实现本地数据中心与VPC互通。
工作原理
阿里云侧的IPsec连接默认为双隧道模式,即包含一条主隧道和一条备用隧道。当主隧道因网络抖动或设备故障中断时,流量会自动切换至备用隧道,从而保障业务的连续性和网络的高可用性。
隧道角色:系统利用 VPN 网关的两个不同公网 IP 地址,分别建立两条隧道。
隧道 1(使用 IP 地址 1)默认为主隧道,承载所有业务流量;
隧道 2(使用 IP 地址 2)为备用隧道,处于待命状态。
隧道的主备角色是固定的,无法更改。
健康检查与故障切换:系统自动检测主隧道的连通性。当检测到主隧道中断后,VPN 网关会自动将流量切换到备用隧道。待主隧道恢复后,流量将自动切回。
可用区容灾:IPsec连接的两条隧道默认部署在不同的可用区。当其中一个可用区发生故障时,另一可用区的隧道仍然可用,从而提供跨可用区的容灾能力。对于仅支持一个可用区的地域,两条隧道会被部署在同一个可用区,不支持可用区级别的容灾,但依旧拥有链路冗余能力。
存量的单隧道 VPN 网关实例,默认只能创建单隧道模式的 IPsec-VPN 连接,推荐升级IPsec-VPN连接为双隧道模式。
创建IPsec连接
创建IPsec连接前,请确保已创建VPN网关实例和用户网关实例。
绑定增强型VPN网关(控制台)
前往VPN控制台IPsec连接页面,单击绑定VPN网关,完成以下配置:
IPsec连接名称:填写有意义的名称,例如
dev-dc01-backup(环境-对端标识-用途)地域:选择要绑定的VPN网关所属地域。
VPN 网关类型:选择增强型IPsec-VPN。
计费类型:默认使用BGP(多线)类型的线路,使用CDT计费,享受每月220GB的免费额度(中国内地地域20GB/月,非中国内地地域200GB/月)。
绑定VPN网关:选择目标VPN网关。
路由模式:
目的路由模式(默认值):匹配“目的IP地址”转发流量,适用于简单场景。
感兴趣流模式:匹配“源IP地址”和“目的 IP 地址”转发流量,只有匹配成功的流量才会进入VPN隧道传输,该模式可以优化网络性能,减少不必要的流量处理。
选择此模式后,需配置本端网段(VPC 内需要通信的网段)和对端网段(本地数据中心需要通信的网段)。
IPsec连接配置完成后,系统会自动生成策略路由:源网段为IPsec连接本端网段,目标网段为IPsec连接对端网段,下一跳指向IPsec连接,可选发布到VPC路由表(默认不发布)。
在本地网关设备配置感兴趣流时,应确保所用网段与阿里云端保持一致,并将两端网段对调。
可通过单击文本框右侧的
图标添加多个网段,配置多个网段时,后续IKE协议的版本需要选择ikev2。
立即生效:如果需要快速启用或避免流量延迟,推荐选择“是”;如果希望节省资源且流量不频繁,可选择“否”。
启用BGP:请查看开启/关闭BGP。
隧道相关配置:请查看隧道及加密配置,了解隧道 1(主)和隧道 2(备)中相关参数的配置说明。
绑定传统型VPN网关(控制台)
前往VPN控制台IPsec连接页面,单击绑定VPN网关,完成以下配置:
IPsec连接名称:填写有意义的名称,例如
dev-dc01-backup(环境-对端标识-用途)地域:选择要绑定的VPN网关所属地域。
VPN 网关类型:选择传统型VPN网关。
绑定VPN网关:选择目标VPN网关。
路由模式:
目的路由模式(默认值):匹配“目的IP地址”转发流量,适用于简单场景。
感兴趣流模式:匹配“源IP地址”和“目的 IP 地址”转发流量,只有匹配成功的流量才会进入VPN隧道传输,该模式可以优化网络性能,减少不必要的流量处理。
选择此模式后,需配置本端网段(VPC 内需要通信的网段)和对端网段(本地数据中心需要通信的网段)。
IPsec连接配置完成后,系统会自动生成策略路由:源网段为IPsec连接本端网段,目标网段为IPsec连接对端网段,下一跳指向IPsec连接,可选发布到VPC路由表(默认不发布)。
在本地网关设备配置感兴趣流时,应确保所用网段与阿里云端保持一致,并将两端网段对调。
可通过单击文本框右侧的
图标添加多个网段,配置多个网段时,后续IKE协议的版本需要选择ikev2。
立即生效:如果需要快速启用或避免流量延迟,推荐选择“是”;如果希望节省资源且流量不频繁,可选择“否”。
启用BGP:请查看开启/关闭BGP。
隧道相关配置:请查看隧道及加密配置,了解隧道 1(主)和隧道 2(备)中相关参数的配置说明。
隧道配置
创建双隧道模式的IPsec-VPN连接时,请配置两条隧道使其均为可用状态,如果您仅配置或仅使用了其中一条隧道,则无法体验IPsec-VPN连接主备链路冗余能力以及可用区级别的容灾能力。
启用BGP:决定是否使用 BGP动态路由。
关闭(默认):使用静态路由,适用于网络拓扑简单的场景。
开启:适用于网络拓扑复杂、需要自动分发和学习路由的场景。前提:关联的用户网关必须已配置 ASN。
本端自治系统号:启用BGP后,阿里云侧的ASN号。两条隧道使用相同的自治系统号,默认值:45104,取值范围:1~4294967295。对端云下设备配置自治系统号时,建议使用私有 ASN 号。
Tunnel 1(主隧道)和Tunnel 2 (备隧道)配置:
用户网关:选择代表您本地网关设备的用户网关实例。两条隧道可以关联同一个用户网关。
预共享密钥:用于身份认证的密钥,两条隧道的密钥必须与本地网关设备上的配置完全一致。若不填则由系统随机生成。
确认配置
仔细检查配置,确认无误后单击页面底部的确定。
在弹出的对话框中,单击取消,后续再进行路由配置。
在目标IPsec连接的操作列单击生成对端配置,在IPsec连接配置对话框复制配置并保存到本地,以便用于配置本地网关设备。
API
调用CreateVpnConnection创建IPsec连接。
后续步骤
为实现云上VPC与云下IDC互通,IPsec连接创建完成后您还需要:
开启/关闭BGP
在为IPsec连接开启BGP功能前,请确保关联的用户网关实例已经配置了云下的自治系统号。
与IPsec连接相关的BGP配置项:
本端自治系统号:启用BGP后,阿里云侧的ASN号。两条隧道使用相同的自治系统号,默认值:45104,取值范围:1~4294967295。对端云下设备配置自治系统号时,建议使用私有 ASN 号。
隧道网段:用于 BGP 邻居建立连接的互联地址段。一个VPN网关实例下,每个隧道的网段需保持唯一。需要是在169.254.0.0/16内的子网掩码为30的网段,且不能是169.254.0.0/30、169.254.1.0/30、169.254.2.0/30、169.254.3.0/30、169.254.4.0/30、169.254.5.0/30和169.254.169.252/30。
本端BGP地址:阿里云侧的 BGP IP,必须属于隧道网段。例如,在
169.254.10.0/30网段中,可使用169.254.10.1。
关于BGP路由功能支持状态、路由宣告原则、使用限制,请查看配置BGP动态路由。
控制台
开启BGP
创建IPsec连接时,可启用BGP,并配置本端自治系统号、隧道网段、本端BGP地址,直接开启BGP功能。
针对已创建的IPsec连接,可在IPsec连接实例详情页面的IPsec连接基本信息区域,启用BGP。
需确保用户网关实例已配置自治系统号,否则只能删除重建用户网关和IPsec连接。
关闭BGP
在IPsec连接实例详情页面的IPsec连接基本信息区域,关闭启用BGP。
API
新创建IPsec连接时,调整CreateVpnConnection的EnableTunnelsBgp参数开启BGP,并调整TunnelOptionsSpecification -> TunnelBgpConfig 参数来配置每个隧道的BGP选项。
针对已创建的IPsec连接,调整ModifyVpnConnectionAttribute的EnableTunnelsBgp参数开启/关闭BGP,通过调整TunnelOptionsSpecification -> TunnelBgpConfig 参数来配置每个隧道的BGP选项。
隧道及加密配置
每条隧道配置分为3部分:
隧道基本配置:
用户网关:选择代表您本地网关设备的用户网关实例。两条隧道可以关联同一个用户网关。
预共享密钥:用于身份认证的密钥,两条隧道的密钥必须与本地网关设备上的配置完全一致。若不填则由系统随机生成。
加密配置:
增强型VPN:支持多算法兼容模式,系统默认选择多个加密配置,自动与支持多算法兼容的云下本地网关设备协商算法。
传统型VPN:必须单独指定算法配置,并且要和云下本地网关设备支持的算法匹配。
配置项
说明
IKE配置
版本
推荐使用ikev2。IKEv2版本简化了SA的协商过程并且对于多网段的场景提供了更好的支持。
协商模式
main(默认值):主模式。此模式加密传输身份信息,协商过程安全性比aggressive高。
aggressive:野蛮模式,协商快速且协商成功率高。
协商成功后两种模式的信息传输安全性相同。
加密算法
第一阶段协商使用的加密算法。
增强型VPN:支持AES128、AES128-GCM-16、AES192、AES256、AES256-GCM-16、DES、3DES。
推荐使用:AES128-GCM-16和AES256-GCM-16,性能高,且更安全。
不推荐:DES、3DES。
传统型VPN:
和增强型相比,不支持AES128-GCM-16、AES256-GCM-16。
实例的带宽规格为200 Mbps及以上时,推荐使用AES128、AES192、AES256加密算法,不推荐使用3des加密算法。
aes是一种对称密钥加密算法,提供高强度的加密和解密,在保证数据安全传输的同时对网络延迟、吞吐量、转发性能影响较小。
3des是三重数据加密算法,加密时间较长且算法复杂度较高,运算量较大,相比aes会降低转发性能。
认证算法
第一阶段协商使用的认证算法。
支持sha1(默认值)、md5、sha256、sha384和sha512。
在部分本地网关设备上添加VPN配置时,可能需要指定PRF算法,PRF算法与IKE阶段认证算法保持一致即可。
DH分组(完美向前加密 PFS)
选择第一阶段协商的Diffie-Hellman密钥交换算法。
disabled:表示不使用DH密钥交换算法。
对于不支持PFS的客户端请选择disabled。
如果选择为非disabled的任何一个组,会默认开启完美向前加密PFS(Perfect Forward Secrecy)功能,使得每次重协商都要更新密钥,因此,相应的客户端也要开启PFS功能。
group1-group24 :DH分组数字越大安全性越高,但也会更耗费性能。建议先确认VPN对端支持哪些DH Group,然后在共同支持的列表中,优先选择ECDH组(Group 19、20、21)。
传统型VPN只支持group1/2/5/14。
SA生存周期(秒)
设置第一阶段协商出的SA(Security Association,安全关联)的生存周期。默认值:86400。取值范围:0~86400。
LocalId
隧道本端的标识符。默认使用隧道的IP地址作为隧道本端标识符。
该参数仅作为标识符用于在IPsec-VPN连接协商中标识阿里云,无其他作用。支持使用IP地址格式或FQDN(Fully Qualified Domain Name)格式,不能包含空格。推荐使用私网IP地址作为隧道本端的标识。
如果LocalId使用了FQDN格式,例如输入example.aliyun.com,则本地网关设备上IPsec连接的对端ID需与LocalId的值保持一致,协商模式建议选择为aggressive(野蛮模式)。
RemoteId
隧道对端的标识符。默认值使用隧道关联的用户网关中的IP地址作为隧道对端标识符。
该参数仅作为标识符用于在IPsec-VPN连接协商中标识本地网关设备,无其他作用。支持使用IP地址格式或FQDN(Fully Qualified Domain Name)格式,不能包含空格。推荐使用私网IP地址作为隧道对端的标识。
如果RemoteId使用了FQDN格式,例如输入example.aliyun.com,则本地网关设备上IPsec连接的本端ID需与RemoteId的值保持一致,协商模式建议选择为aggressive(野蛮模式)。
IPsec配置
加密算法
设置第二阶段协商的相关配置,可直接参考第一阶段IKE配置中对应的选项说明。
认证算法
DH分组(完美向前加密 PFS)
SA生存周期(秒)
DPD
对等体存活检测,建议始终开启(默认)。它能及时发现对端故障并触发切换,是实现高可用的关键。
开启DPD功能后,IPsec连接会发送DPD报文用来检测对端的设备是否存活,如果在设定时间内未收到正确回应则认为对端已经断线,IPsec连接将删除ISAKMP SA和相应的IPsec SA,安全隧道同样也会被删除。DPD检测超时后,IPsec连接会自动重新发起IPsec-VPN隧道协商。DPD报文的超时时间为30秒。
IPsec连接使用IKEv2版本的场景下,对于部分存量VPN网关实例,DPD超时时间可能为130秒或3600秒,此时可将VPN网关实例升级为最新版。
NAT穿越
建议保持默认开启。开启后,IKE协商过程会删除对UDP端口号的验证过程,同时能发现加密通信通道中的NAT网关设备。
BGP配置:开启BGP后才会有此选项,详见开启/关闭BGP。
控制台
创建IPsec连接时,可直接进行隧道相关配置。
针对已创建的IPsec连接,单击目标IPsec连接实例ID进入详情页,在目标隧道的操作列单击编辑修改隧道配置。
创建双隧道模式的IPsec-VPN连接时,请配置两条隧道使其均为可用状态,如果您仅配置或仅使用了其中一条隧道,则无法体验IPsec-VPN连接主备链路冗余能力以及可用区级别的容灾能力。
API
调用ModifyTunnelAttribute修改隧道配置。
修改IPsec连接
在IPsec连接已绑定了VPN网关实例的场景下,不支持修改IPsec连接关联的VPN网关实例,仅支持修改IPsec连接路由模式和立即生效的配置。
控制台
API
调用ModifyVpnConnectionAttribute修改IPsec连接的配置。
删除IPsec连接
控制台
前往VPC控制台IPsec连接页面,切换到目标地域并在目标IPsec连接的操作列单击删除。
在弹出的对话框中,确认信息,然后单击确定。
API
调用DeleteVpnConnection删除IPsec连接。
计费说明
增强型VPN:只针对IPsec连接收费,收取连接费+公网流量费。
传统型VPN:IPsec连接本身不收费,但其绑定的 VPN 网关 实例会产生费用,详见IPsec-VPN计费说明。
常见问题
为什么隧道状态显示“第一阶段协商失败”?
如果云上云下都已完成IPsec相关配置,则通常原因为:
预共享密钥不匹配:请仔细核对阿里云侧和本地网关设备上的预共享密钥,确保完全一致,包括大小写和特殊字符。
IKE 参数不一致:检查 IKE 版本、协商模式、加密算法、认证算法、DH 分组等参数是否在两端完全匹配。
网络问题:检查本地网关设备的公网 IP 是否可达,以及是否有防火墙或运营商策略拦截了 UDP 500/4500 端口。
隧道状态正常(第二阶段协商成功),但无法 ping 通对端服务器,是什么原因?
隧道协商成功仅代表加密通道已建立,数据能否通过还需检查以下环节:
路由配置:检查阿里云 VPC 路由表和本地数据中心的路由表是否已正确配置,将流量指向 IPsec连接。
安全组和网络 ACL:检查云上 ECS 实例的安全组是否允许来自本地网段的 ICMP 或其他业务端口的流量。
本地防火墙策略:检查本地数据中心的防火墙是否允许来自 VPC 网段的流量。
我想使用 BGP 动态路由,但在配置时无法“启用 BGP”,怎么办?
这是因为您创建 IPsec 连接时所关联的用户网关没有配置 ASN(自治系统号)。您必须删除当前的 IPsec 连接,重新创建一个配置了 ASN 的用户网关,然后再用这个新的用户网关来创建 IPsec 连接。
可以将隧道 2 设置为主隧道吗?
不可以。隧道 1(使用 VPN 网关 IP 地址 1)固定为主隧道,隧道 2(使用 VPN 网关 IP 地址 2)固定为备隧道,该角色无法更改。
是否可以创建单隧道模式的 IPsec-VPN 连接?
新购 VPN 网关实例后,默认仅能创建双隧道模式的 IPsec-VPN 连接,不再支持创建单隧道模式的 IPsec-VPN 连接。
已创建的单隧道 VPN 网关实例默认只能创建单隧道模式的 IPsec-VPN 连接。推荐升级IPsec-VPN连接为双隧道模式,升级后该VPN网关实例不再支持创建单隧道模式的 IPsec-VPN 连接。