调用ModifyVpnConnectionAttribute接口修改IPsec连接的配置信息。
接口说明
-
如果要修改双隧道模式的 IPsec-VPN 连接,调用
ModifyVpnConnectionAttribute
接口时除支持配置必填参数外,还支持配置以下请求参数:ClientToken、Name、 LocalSubnet、RemoteSubnet、EffectImmediately、AutoConfigRoute、TunnelOptionsSpecification 数组、EnableTunnelsBgp。
-
如果要修改单隧道模式的 IPsec-VPN 连接,调用
ModifyVpnConnectionAttribute
接口时除支持配置必填参数外,还支持配置以下请求参数:ClientToken、Name、LocalSubnet、RemoteSubnet、EffectImmediately、IkeConfig、IpsecConfig、HealthCheckConfig、AutoConfigRoute、EnableDpd、EnableNatTraversal、BgpConfig、RemoteCaCertificate。
-
ModifyVpnConnectionAttribute 接口属于异步接口,即系统返回一个请求 ID,但该 IPsec 连接的配置信息未修改成功,系统后台的修改任务仍在进行。您可以调用 DescribeVpnGateway 查询 VPN 网关实例状态,来确定 IPsec 连接的配置信息的修改状态:
- 当 VPN 网关实例处于 updating 状态时,表示 IPsec 连接的配置信息正在修改中。
- 当 VPN 网关实例处于 active 状态时,表示 IPsec 连接的配置信息修改成功。
-
ModifyVpnConnectionAttribute 接口不支持在同一 VPN 网关下并发修改 IPsec 连接的配置信息。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
vpc:ModifyVpnConnectionAttribute | update | *VpnConnection acs:vpc:{#regionId}:{#accountId}:vpnconnection/{#VpnConnectionId} |
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
RegionId | string | 是 | IPsec 连接所在的地域 ID。 您可以通过调用 DescribeRegions 接口获取地域 ID。 | cn-shanghai |
ClientToken | string | 否 | 客户端 Token,用于保证请求的幂等性。 从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符。 说明
若您未指定,则系统自动使用 API 请求的 RequestId 作为 ClientToken 标识。每次 API 请求的 RequestId 不一样。
| 02fb3da4-130e-11e9-8e44-0016e04115b |
VpnConnectionId | string | 是 | IPsec 连接的 ID。 | vco-bp1bbi27hojx80nck**** |
Name | string | 否 | IPsec 连接的名称。 长度为 1~100 个字符,不能以 | nametest |
LocalSubnet | string | 否 | 需要和本地数据中心互连的 VPC 侧的网段,用于第二阶段协商。 多个网段之间用半角逗号(,)分隔,例如:192.168.1.0/24,192.168.2.0/24。 关于 IPsec 连接路由模式的说明:
| 10.1.1.0/24,10.1.2.0/24 |
RemoteSubnet | string | 否 | 本地数据中心侧的网段,用于第二阶段协商。 多个网段之间用半角逗号(,)分隔,例如:192.168.3.0/24,192.168.4.0/24。 关于 IPsec 连接路由模式的说明:
| 10.2.1.0/24,10.2.2.0/24 |
EffectImmediately | boolean | 否 | 选择 IPsec 连接的配置是否立即生效。取值:
| false |
IkeConfig | string | 否 | 修改单隧道模式的 IPsec-VPN 连接时支持配置该参数。 第一阶段协商的配置信息:
| {"Psk":"pgw6dy7d1i8i****","IkeVersion":"ikev1","IkeMode":"main","IkeEncAlg":"aes","IkeAuthAlg":"sha1","IkePfs":"group2","IkeLifetime":86400,"LocalId":"116.64.XX.XX","RemoteId":"139.18.XX.XX"} |
IpsecConfig | string | 否 | 修改单隧道模式的 IPsec-VPN 连接时支持配置该参数。 第二阶段协商的配置信息:
| {"IpsecEncAlg":"aes","IpsecAuthAlg":"sha1","IpsecPfs":"group2","IpsecLifetime":86400} |
HealthCheckConfig | string | 否 | 修改单隧道模式的 IPsec-VPN 连接时支持配置该参数。 健康检查配置信息:
| {"enable":"true","dip":"192.168.1.1","sip":"10.1.1.1","interval":"3","retry":"3"} |
AutoConfigRoute | boolean | 否 | 是否自动发布路由。取值:
| true |
EnableDpd | boolean | 否 | 修改单隧道模式的 IPsec-VPN 连接时支持配置该参数。 是否开启 DPD(对等体存活检测)功能。取值:
| true |
EnableNatTraversal | boolean | 否 | 修改单隧道模式的 IPsec-VPN 连接时支持配置该参数。 是否开启 NAT 穿越功能。取值:
| true |
BgpConfig | string | 否 | 修改单隧道模式的 IPsec-VPN 连接时支持配置该参数。 BGP 的配置信息:
说明
| {"EnableBgp":"true","LocalAsn":"65530","TunnelCidr":"169.254.11.0/30","LocalBgpIp":"169.254.11.1"} |
RemoteCaCertificate | string | 否 | 修改单隧道模式的 IPsec-VPN 连接时支持配置该参数。 如果当前 VPN 网关实例为国密型 VPN 网关,您可以修改对端的 CA 证书。 如果当前 VPN 网关实例为普通型 VPN 网关,不支持配置本参数。 | -----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE----- |
TunnelOptionsSpecification | array<object> | 否 | 修改隧道的配置。 仅修改双隧道模式的 IPsec-VPN 连接时支持配置 TunnelOptionsSpecification 数组下的参数。您可以同时修改 IPsec-VPN 连接主隧道和备隧道的配置。 | |
object | 否 | 修改隧道配置。 | ||
TunnelId | string | 否 | 隧道 ID。 | tun-opsqc4d97wni27**** |
CustomerGatewayId | string | 否 | 隧道关联的用户网关实例 ID。 | cgw-1nmwbpgrp7ssqm1yn**** |
Role | string | 否 | 隧道的角色。
| master |
EnableDpd | boolean | 否 | 是否为隧道开启 DPD(对等体存活检测)功能。取值:
| true |
EnableNatTraversal | boolean | 否 | 是否为隧道开启 NAT 穿越功能。取值:
| true |
RemoteCaCertificate | string | 否 | 如果当前 VPN 网关实例为国密型 VPN 网关,您可以隧道修改对端的 CA 证书。 如果当前 VPN 网关实例为普通型 VPN 网关,不支持配置本参数。 | -----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE----- |
TunnelBgpConfig | object | 否 | 修改隧道的 BGP 配置。 | |
LocalAsn | long | 否 | 隧道本端(阿里云侧)的自治系统号。自治系统号取值范围:1~4294967295。默认值:45104。 说明
| 65530 |
LocalBgpIp | string | 否 | 隧道本端(阿里云侧)的 BGP 地址。该地址为 BGP 网段内的一个 IP 地址。 | 169.254.10.1 |
TunnelCidr | string | 否 | 隧道的 BGP 网段。 该网段需是一个在 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.6.0/30 和 169.254.169.252/30。 说明
在一个 VPN 网关实例下,每个隧道的 BGP 网段需保持唯一。
| 169.254.10.0/30 |
TunnelIkeConfig | object | 否 | 第一阶段协商的配置信息。 | |
IkeAuthAlg | string | 否 | 第一阶段协商的认证算法。 | md5 |
IkeEncAlg | string | 否 | 第一阶段协商的加密算法。 | aes |
IkeLifetime | long | 否 | 第一阶段协商出的 SA 的生存周期。单位:秒。取值范围:0~86400。 | 86400 |
IkeMode | string | 否 | IKE 版本的协商模式。取值:
| main |
IkePfs | string | 否 | 第一阶段协商使用的 Diffie-Hellman 密钥交换算法。取值:group1、group2、group5、group14。 | group2 |
IkeVersion | string | 否 | IKE 协议的版本。取值:ikev1 或 ikev2。 相对于 IKEv1 版本,IKEv2 版本简化了 SA 的协商过程并且对于多网段的场景提供了更好的支持。 | ikev1 |
LocalId | string | 否 | 隧道本端(阿里云侧)的标识,用于第一阶段的协商。长度限制为 100 个字符,不能包含空格。默认值为隧道的 IP 地址。 LocalId 支持 FQDN 格式,如果您使用 FQDN 格式,协商模式建议选择为 aggressive(野蛮模式)。 | 47.21.XX.XX |
Psk | string | 否 | 预共享密钥,用于隧道与隧道对端之间的身份认证。
说明
隧道及隧道对端的预共享密钥需一致,否则系统无法正常建立隧道。
| 123456**** |
RemoteId | string | 否 | 隧道对端的标识,用于第一阶段的协商。长度限制为 100 个字符,不能包含空格。默认值为隧道关联的用户网关的 IP 地址。 RemoteId 支持 FQDN 格式,如果您使用 FQDN 格式,协商模式建议选择为 aggressive(野蛮模式)。 | 47.42.XX.XX |
TunnelIpsecConfig | object | 否 | 第二阶段协商的配置信息。 | |
IpsecAuthAlg | string | 否 | 第二阶段协商的认证算法。 | md5 |
IpsecEncAlg | string | 否 | 第二阶段协商的加密算法。 | aes |
IpsecLifetime | integer | 否 | 第二阶段协商出的 SA 的生存周期。单位:秒。取值范围:0~86400。 | 86400 |
IpsecPfs | string | 否 | 第二阶段协商使用的 Diffie-Hellman 密钥交换算法。 取值:disabled、group1、group2、group5、group14。 | group2 |
EnableTunnelsBgp | boolean | 否 | 修改双隧道模式的 IPsec-VPN 连接时支持配置该参数。 是否为隧道开启 BGP 功能。取值:true 或 false。 | true |
返回参数
示例
正常返回示例
JSON
格式
{
"EnableNatTraversal": true,
"CreateTime": 1492753817000,
"EffectImmediately": false,
"VpnGatewayId": "vpn-bp1q8bgx4xnkm2ogj****",
"LocalSubnet": "10.1.1.0/24,10.1.2.0/24",
"RequestId": "7DB79D0C-5F27-4AB5-995B-79BE55102F90",
"VpnConnectionId": "vco-bp1bbi27hojx80nck****",
"Description": "description",
"RemoteSubnet": "10.2.1.0/24,10.2.2.0/24",
"CustomerGatewayId": "cgw-p0w2jemrcj5u61un8****",
"Name": "nametest",
"EnableDpd": true,
"IkeConfig": {
"RemoteId": "139.18.XX.XX",
"IkeLifetime": 86400,
"IkeEncAlg": "aes",
"LocalId": "116.64.XX.XX",
"IkeMode": "main",
"IkeVersion": "ikev1",
"IkePfs": "group2",
"Psk": "pgw6dy7d1i8i****",
"IkeAuthAlg": "sha1"
},
"IpsecConfig": {
"IpsecAuthAlg": "sha1",
"IpsecLifetime": 86400,
"IpsecEncAlg": "aes",
"IpsecPfs": "group2"
},
"VcoHealthCheck": {
"Dip": "192.168.1.1",
"Interval": 3,
"Retry": 3,
"Sip": "10.1.1.1",
"Enable": "true"
},
"VpnBgpConfig": {
"Status": "success",
"PeerBgpIp": "169.254.11.2",
"TunnelCidr": "169.254.11.0/30",
"EnableBgp": "true",
"LocalBgpIp": "169.254.11.1",
"PeerAsn": 65531,
"LocalAsn": 65530
},
"TunnelOptionsSpecification": {
"TunnelOptions": [
{
"CustomerGatewayId": "cgw-p0wy363lucf1uyae8****",
"EnableDpd": true,
"EnableNatTraversal": true,
"InternetIp": "47.21.XX.XX",
"RemoteCaCertificate": "-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----",
"Role": "master",
"State": "active",
"TunnelBgpConfig": {
"LocalAsn": 65530,
"LocalBgpIp": "169.254.10.1",
"PeerAsn": 65531,
"PeerBgpIp": "169.254.10.2",
"TunnelCidr": "169.254.10.0/30"
},
"TunnelId": "tun-opsqc4d97wni27****",
"TunnelIkeConfig": {
"IkeAuthAlg": "sha1",
"IkeEncAlg": "aes",
"IkeLifetime": 86400,
"IkeMode": "main",
"IkePfs": "group2",
"IkeVersion": "ikev1",
"LocalId": "47.21.XX.XX",
"Psk": "123456****",
"RemoteId": "47.42.XX.XX"
},
"TunnelIpsecConfig": {
"IpsecAuthAlg": "sha1",
"IpsecEncAlg": "aes",
"IpsecLifetime": 86400,
"IpsecPfs": "group2"
},
"ZoneNo": "ap-southeast-5a"
}
]
},
"EnableTunnelsBgp": true,
"ResourceGroupId": "rg-acfmzs372yg****"
}
错误码
HTTP status code | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | VpnGateway.Configuring | The specified service is configuring. | 服务正在配置中,请您稍后再试。 |
400 | VpnGateway.FinancialLocked | The specified service is financial locked. | 该服务已欠费,请您先充值再操作。 |
400 | InvalidName | The name is not valid | 该名称格式不合法。 |
400 | VpnRouteEntry.AlreadyExists | The specified route entry is already exist. | 该路由已存在。 |
400 | VpnRouteEntry.Conflict | The specified route entry has conflict. | 路由条目存在冲突。 |
400 | NotSupportVpnConnectionParameter.IpsecPfs | The specified vpn connection ipsec Ipsec Pfs is not support. | IPsec连接中指定的Pfs参数不支持 |
400 | NotSupportVpnConnectionParameter.IpsecAuthAlg | The specified vpn connection ipsec Auth Alg is not support. | IPsec连接中指定的认证算法不支持 |
400 | VpnRouteEntry.ConflictSSL | The specified route entry has conflict with SSL client. | 路由条目与SSL客户端冲突。 |
400 | VpnRouteEntry.BackupRoute | Validate backup route entry failed. | 主备路由条目校验失败。 |
400 | VpnRouteEntry.InvalidWeight | Invalid route entry weight value. | 路由权重值不合法 |
400 | QuotaExceeded.PBR | The policy-based routes has reached the upper limit. | 创建的策略路由条数已达上限 |
400 | OperationUnsupported.SetDPD | Current version of the VPN does not support setting DPD. | 当前VPN网关版本不支持DPD功能。 |
400 | OperationUnsupported.SetNatTraversal | Current version of the VPN does not support setting NAT traversal. | 当前VPN网关版本不支持NAT穿越功能。 |
400 | QuotaExceeded.PolicyBasedRoute | The maximum number of policy-based routes is exceeded. Existing routes: %s. Routes to be created: %s. Maximum routes: %s. | 策略路由条数已达上限,当前已有%s条,本次将创建%s条,上限为%s条。 |
400 | MissingParameter.TunnelCidr | The parameter TunnelCidr is mandatory when BGP is enabled. | 开启BGP时,隧道CIDR参数是必填项 |
400 | OperationUnsupported.EnableBgp | Current version of the VPN does not support enable BGP. | 当前版本的VPN不支持开启BGP |
400 | MissingParam.CustomerGatewayAsn | Asn of customer gateway is mandatory when BGP is enabled. | 开启BGP时,客户网关的自治系统号不可以为空。 |
400 | IllegalParam.LocalAsn | The specified LocalAsn is invalid. | 本端自治系统号不合法。 |
400 | IllegalParam.BgpConfig | The specified BgpConfig is invalid. | 指定的BGP配置不合法 |
400 | IllegalParam.EnableBgp | VPN connection must enable BGP when VPN gateway has enabled BGP. | 当 VPN 网关启用 BGP 时,VPN 连接必须启用 BGP。 |
400 | IllegalParam.TunnelCidr | The specified TunnelCidr is invalid. | 参数TunnelCidr不合法。 |
400 | InvalidLocalBgpIp.Malformed | The specified LocalBgpIp is malformed. | 指定的本端BGP的IP异常 |
400 | IllegalParam.LocalBgpIp | The specified LocalBgpIp is invalid. | 本端BGP地址不合法。 |
400 | IllegalParam.LocalSubnet | The specified "LocalSubnet" (%s) is invalid. | 本端网段(%s)不合法。 |
400 | IllegalParam.RemoteSubnet | The specified "RemoteSubnet" (%s) is invalid. | 对端网段(%s)不合法。 |
400 | OperationFailed.CenLevelNotSupport | When the VPC to which the VPN gateway belongs is attached to a FULL-mode CEN, the VPN gateway cannot enable BGP. | 当VPN网关所属VPC加入到的云企业网且开启了路由同步时,VPN网关不能开启BGP。 |
400 | InvalidTunnelCidr.Malformed | The specified TunnelCidr is malformed. | 指定的隧道CIDR异常 |
400 | CustomerGateway.ConflictRouteEntry | The specified customer gateway has conflict with route entry. | 当前用户网关和路由存在冲突。 |
400 | VpnTask.CONFLICT | Vpn task has conflict. | Vpn操作存在冲突,请稍后重试。 |
400 | OperationFailed.RouteConflictWithIPsecServer | Operation failed because the route to create conflicts with the client IP pool of the IPsec server. | 路由的目标网段和IPsec服务端的客户端网段冲突。 |
400 | IllegalParam.TunnelId | The specified TunnelId is invalid. | TunnelId参数非法。 |
400 | IllegalParam.Role | The specified Role is invalid. | Role参数不合法。 |
400 | VpnConnectionParamInvalid.SameVpnAndCgwDifferentIkeConfigs | IPSec connections associated with the same user gateway and VPN gateway should have the same pre-shared key and IKE configuration. | 检测到多个IPsec连接关联了相同的VPN网关和用户网关,多个IPsec连接的预共享密钥和IKE阶段的配置参数需保持相同。 |
400 | VpnConnectionParamInvalid.SameVpnAndCgwTrafficSelectorOverlap | Traffic selectors of IPSec connections associated with the same user gateway and VPN gateway should not overlap. | 检测到多个IPsec连接关联了相同的VPN网关和用户网关,多个IPsec连接的感兴趣流网段不能重叠。 |
400 | ModifyIkeV1WithMultiRoutes.Invalid | Failed to modify VPN connection parameters. Multi-network is configured while using IkeV1 protocol. | 修改VPN连接参数失败,在使用IkeV1协议的同时配置了多网端。 |
403 | Forbbiden.SubUser | User not authorized to operate on the specified resource as your account is created by another user. | 您没有权限操作该资源,请您申请操作权限后再试。 |
403 | Forbidden | User not authorized to operate on the specified resource. | 您没有权限操作指定资源,请申请权限后再操作。 |
404 | InvalidVpnConnectionInstanceId.NotFound | The specified vpn connection instance id does not exist. | 指定的VPN连接不存在,请您检查该VPN连接ID是否正确。 |
500 | OperationFailed.RouteConflictWithIPsecServer | Operation failed because the specified route conflicts with IPsec server. | 路由配置与IPsec服务端冲突。 |
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|---|---|
2024-10-24 | OpenAPI 错误码发生变更 | 查看变更详情 |
2024-01-04 | OpenAPI 描述信息更新、OpenAPI 错误码发生变更 | 查看变更详情 |
2023-10-23 | OpenAPI 错误码发生变更 | 查看变更详情 |
2023-10-19 | OpenAPI 去除了 deprecated 标记、OpenAPI 错误码发生变更、OpenAPI 返回结构发生变更 | 查看变更详情 |
2023-08-01 | OpenAPI 描述信息更新、OpenAPI 错误码发生变更、OpenAPI 返回结构发生变更 | 查看变更详情 |
2023-06-30 | OpenAPI 错误码发生变更、OpenAPI 入参发生变更、OpenAPI 返回结构发生变更 | 查看变更详情 |