调用ModifyVpnConnectionAttribute接口修改IPsec连接的配置信息。

使用说明

  • ModifyVpnConnectionAttribute接口属于异步接口,即系统返回一个请求ID,但该IPsec连接的配置信息未修改成功,系统后台的修改任务仍在进行。您可以调用DescribeVpnGateway查询VPN网关实例状态,来确定IPsec连接的配置信息的修改状态:
    • 当VPN网关实例处于updating状态时,表示IPsec连接的配置信息正在修改中。
    • 当VPN网关实例处于active状态时,表示IPsec连接的配置信息修改成功。
  • ModifyVpnConnectionAttribute接口不支持在同一VPN网关下并发修改IPsec连接的配置信息。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String ModifyVpnConnectionAttribute

系统规定参数。

取值:ModifyVpnConnectionAttribute

RegionId String cn-shanghai

IPsec连接所在的地域ID。

您可以通过调用DescribeRegions接口获取地域ID。

ClientToken String 02fb3da4-130e-11e9-8e44-0016e04115b

客户端Token,用于保证请求的幂等性。

从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。

说明 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。
VpnConnectionId String vco-bp1bbi27hojx80nck****

IPsec连接的ID。

Name String nametest

IPsec连接的名称。

长度为1~100个字符,不能以http://https://开头。

LocalSubnet String 10.1.1.0/24,10.1.2.0/24

需要和本地数据中心互连的VPC侧的网段,用于第二阶段协商。

多个网段之间用半角逗号(,)分隔,例如:192.168.1.0/24,192.168.2.0/24。

关于IPsec连接路由模式的说明:

  • 如果LocalSubnetRemoteSubnet均输入为0.0.0.0/0,则表示您使用目的路由模式。
  • 如果LocalSubnetRemoteSubnet均输入具体的网段,则表示您使用感兴趣流模式。
RemoteSubnet String 10.2.1.0/24,10.2.2.0/24

本地数据中心侧的网段,用于第二阶段协商。

多个网段之间用半角逗号(,)分隔,例如:192.168.3.0/24,192.168.4.0/24。

关于IPsec连接路由模式的说明:

  • 如果LocalSubnetRemoteSubnet均输入为0.0.0.0/0,则表示您使用目的路由模式。
  • 如果LocalSubnetRemoteSubnet均输入具体的网段,则表示您使用感兴趣流模式。
EffectImmediately Boolean false

选择IPsec连接的配置是否立即生效。取值:

  • true:是,配置完成后系统立即进行IPsec协议协商。
  • false:否,当有流量进入时系统才进行IPsec协议协商。
IkeConfig String {"Psk":"pgw6dy7d1i8i****","IkeVersion":"ikev1","IkeMode":"main","IkeEncAlg":"aes","IkeAuthAlg":"sha1","IkePfs":"group2","IkeLifetime":86400,"LocalId":"116.64.XX.XX","RemoteId":"139.18.XX.XX"}

第一阶段协商的配置信息:

  • IkeConfig.Psk:预共享密钥,用于VPN网关与本地数据中心之间的身份认证。密钥长度为1~100个字符。

    若您未指定预共享密钥,系统会随机生成一个16位的字符串作为预共享密钥。您可以调用DescribeVpnConnection接口查询系统自动生成的预共享密钥。
    说明 IPsec连接侧的预共享密钥需和本地数据中心侧的认证密钥一致,否则本地数据中心和VPN网关之间无法建立连接。
  • IkeConfig.IkeVersion:IKE协议的版本。取值:ikev1ikev2
  • IkeConfig.IkeMode:IKE V1版本的协商模式。取值:main(主模式)或aggressive(野蛮模式)。
  • IkeConfig.IkeEncAlg:第一阶段协商的加密算法。取值:aesaes192aes256des3des
  • IkeConfig.IkeAuthAlg:第一阶段协商的认证算法。取值:md5sha1sha256sha384sha512
  • IkeConfig.IkePfs:第一阶段协商使用的Diffie-Hellman密钥交换算法。取值:group1group2group5group14
  • IkeConfig.IkeLifetime:第一阶段协商出的SA的生存周期。单位:秒。取值范围:0~86400
  • IkeConfig.LocalId:VPN网关的标识。长度限制为100个字符。默认值为VPN网关的IP地址。
  • IkeConfig.RemoteId:用户网关的标识。长度限制为100个字符。默认值为用户网关的IP地址。
IpsecConfig String {"IpsecEncAlg":"aes","IpsecAuthAlg":"sha1","IpsecPfs":"group2","IpsecLifetime":86400}

第二阶段协商的配置信息:

  • IpsecConfig.IpsecEncAlg:第二阶段协商的加密算法。取值:aesaes192aes256des3des
  • IpsecConfig. IpsecAuthAlg:第二阶段协商的认证算法。取值:md5sha1sha256sha384sha512
  • IpsecConfig. IpsecPfs:转发所有协议的报文,第一阶段协商使用的Diffie-Hellman密钥交换算法。取值:disabledgroup1group2group5group14
  • IpsecConfig. IpsecLifetime:第二阶段协商出的SA的生存周期。单位:秒。取值范围:0~86400
HealthCheckConfig String {"enable":"true","dip":"192.168.1.1","sip":"10.1.1.1","interval":"3","retry":"3"}

健康检查配置信息:

  • HealthCheckConfig.enable:是否开启健康检查。取值:truefalse
  • HealthCheckConfig.dip:健康检查的目的IP地址。
  • HealthCheckConfig.sip:健康检查的源IP地址。
  • HealthCheckConfig.interval:健康检查的重试间隔时间,单位:秒。
  • HealthCheckConfig.retry:健康检查的重试发包次数。
AutoConfigRoute Boolean true

是否自动发布路由。取值:

  • true:自动发布。
  • false:不自动发布。
EnableDpd Boolean true

是否开启DPD(对等体存活检测)功能。取值:

  • true:开启DPD功能。IPsec发起端会发送DPD报文用来检测对端的设备是否存活,如果在设定时间内未收到正确回应则认为对端已经断线,IPsec将删除ISAKMP SA和相应的IPsec SA,安全隧道同样也会被删除。
  • false:不开启DPD功能,IPsec发起端不会发送DPD探测报文。
EnableNatTraversal Boolean true

是否开启NAT穿越功能。取值:

  • true:开启NAT穿越功能。开启后,IKE协商过程会删除对UDP端口号的验证过程,同时实现对VPN隧道中NAT网关设备的发现功能。
  • false:不开启NAT穿越功能。
BgpConfig String {"EnableBgp":"true","LocalAsn":"65530","TunnelCidr":"169.254.11.0/30","LocalBgpIp":"169.254.11.1"}

BGP的配置信息:

  • BgpConfig.EnableBgp:是否开启BGP功能。取值:truefalse
  • BgpConfig.LocalAsn:阿里云侧的自治系统号。自治系统号取值范围:1~4294967295
  • BgpConfig.TunnelCidr:IPsec隧道网段。该网段需是一个在169.254.0.0/16内的掩码长度为30的网段。
  • LocalBgpIp:阿里云侧的BGP地址。该地址为IPsec隧道网段内的一个IP地址。
说明
  • 当您的VPN网关启用BGP动态路由功能时需要配置该参数。
  • 在添加BGP配置前,建议您先了解BGP动态路由功能的工作机制和使用限制。更多信息,请参见VPN网关支持BGP动态路由公告
  • 建议您使用自治系统号的私有号码与阿里云建立BGP连接。自治系统号的私有号码范围请自行查阅文档。
RemoteCaCertificate String -----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----

国密型VPN网关创建IPsec连接时,对端的CA证书。

  • 对于国密型VPN网关,创建IPsec连接时,此项必填。
  • 对于普通型VPN网关,此项需要为空。

返回数据

名称 类型 示例值 描述
EnableNatTraversal Boolean true

是否开启NAT穿越功能。取值:

  • false:未开启。
  • true:已开启。
CreateTime Long 1492753817000

IPsec连接的创建时间戳。单位:毫秒。

时间戳的格式采用Unix时间戳,表示从格林威治时间1970年01月01日00时00分00秒至创建IPsec连接时的总时长。

EffectImmediately Boolean false

IPsec连接的配置是否立即生效。

  • true:是,配置完成后系统立即进行IPsec协议协商。
  • false:否,当有流量进入时系统才进行IPsec协议协商。
VpnGatewayId String vpn-bp1q8bgx4xnkm2ogj****

VPN网关实例的ID。

LocalSubnet String 10.1.1.0/24,10.1.2.0/24

VPC侧的网段。

RequestId String 7DB79D0C-5F27-4AB5-995B-79BE55102F90

请求ID。

VpnConnectionId String vco-bp1bbi27hojx80nck****

IPsec连接的ID。

Description String description

IPsec描述信息。

RemoteSubnet String 10.2.1.0/24,10.2.2.0/24

本地数据中心侧的网段。

CustomerGatewayId String cgw-p0w2jemrcj5u61un8****

用户网关的ID。

Name String nametest

IPsec连接的名称。

EnableDpd Boolean true

是否开启DPD(对等体存活检测)功能。

  • false:未开启。
  • true:已开启。
IkeConfig Object

第一阶段协商的配置。

RemoteId String 139.18.XX.XX

本地数据中心侧的标识。支持FQDN和IP格式,默认为当前选取的用户网关的IP地址。

IkeLifetime Long 86400

IKE生存时间。单位:秒。

IkeEncAlg String aes

IKE加密算法。

LocalId String 116.64.XX.XX

VPC侧的标识。支持FQDN和IP格式,默认为当前选取的VPN网关的IP地址。

IkeMode String main

IKE协商模式。

  • main:主模式,协商过程安全性高。
  • aggressive:野蛮模式,协商快速且协商成功率高。
IkeVersion String ikev1

IKE协议版本。

  • ikev1
  • ikev2

相对于IKEv1版本,IKEv2版本简化了SA的协商过程并且对于多网段的场景提供了更好的支持。

IkePfs String group2

DH分组。

Psk String pgw6dy7d1i8i****

预共享密钥。

IkeAuthAlg String sha1

IKE认证算法。

IpsecConfig Object

第二阶段协商的配置。

IpsecAuthAlg String sha1

IPsec认证算法。

IpsecLifetime Long 86400

IPsec生存时间。单位:秒。

IpsecEncAlg String aes

IPsec加密算法。

IpsecPfs String group2

DH分组。

VcoHealthCheck Object

健康检查配置。

Dip String 192.168.1.1

目标IP。

Interval Integer 3

健康检查的重试间隔时间,单位:秒。

Retry Integer 3

健康检查的重试发包次数。

Sip String 10.1.1.1

源IP。

Enable String true

是否开启健康检查。

  • true:已开启。
  • false:未开启。
VpnBgpConfig Object

BGP配置信息。

Status String success

BGP的协商状态。

  • success:正常。
  • false:异常。
PeerBgpIp String 169.254.11.2

本地IDC侧的BGP地址。

TunnelCidr String 169.254.11.0/30

IPsec隧道网段。

EnableBgp String true

BGP的开启状态。

  • true:已开启。
  • false:未开启。
LocalBgpIp String 169.254.11.1

阿里云侧的BGP地址。

PeerAsn Integer 65531

本地I数据中心侧的自治系统号。

LocalAsn Integer 65530

阿里云侧的自治系统号。

示例

请求示例

http(s)://[Endpoint]/?Action=ModifyVpnConnectionAttribute
&RegionId= cn-shanghai
&ClientToken=02fb3da4-130e-11e9-8e44-0016e04115b
&VpnConnectionId=vco-bp1bbi27hojx80nck****
&Name=nametest
&LocalSubnet=10.1.1.0/24,10.1.2.0/24
&RemoteSubnet=10.2.1.0/24,10.2.2.0/24
&EffectImmediately=false
&IkeConfig={"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={"IpsecEncAlg":"aes","IpsecAuthAlg":"sha1","IpsecPfs":"group2","IpsecLifetime":86400}
&HealthCheckConfig={"enable":"true","dip":"192.168.1.1","sip":"10.1.1.1","interval":"3","retry":"3"}
&AutoConfigRoute=true
&EnableDpd=true
&EnableNatTraversal=true
&BgpConfig={"EnableBgp":"true","LocalAsn":"65530","TunnelCidr":"169.254.11.0/30","LocalBgpIp":"169.254.11.1"}
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<ModifyVpnConnectionAttributeResponse>
    <EnableNatTraversal>true</EnableNatTraversal>
    <CreateTime>1492753817000</CreateTime>
    <EffectImmediately>false</EffectImmediately>
    <VpnGatewayId>vpn-bp1q8bgx4xnkm2ogj****</VpnGatewayId>
    <LocalSubnet>10.1.1.0/24,10.1.2.0/24</LocalSubnet>
    <RequestId>7DB79D0C-5F27-4AB5-995B-79BE55102F90</RequestId>
    <VpnConnectionId>vco-bp1bbi27hojx80nck****</VpnConnectionId>
    <Description>description</Description>
    <RemoteSubnet>10.2.1.0/24,10.2.2.0/24</RemoteSubnet>
    <CustomerGatewayId>cgw-p0w2jemrcj5u61un8****</CustomerGatewayId>
    <Name>nametest</Name>
    <EnableDpd>true</EnableDpd>
    <IkeConfig>
        <RemoteId>139.18.XX.XX</RemoteId>
        <IkeLifetime>86400</IkeLifetime>
        <IkeEncAlg>aes</IkeEncAlg>
        <LocalId>116.64.XX.XX</LocalId>
        <IkeMode>main</IkeMode>
        <IkeVersion>ikev1</IkeVersion>
        <IkePfs>group2</IkePfs>
        <Psk>pgw6dy7d1i8i****</Psk>
        <IkeAuthAlg>sha1</IkeAuthAlg>
    </IkeConfig>
    <IpsecConfig>
        <IpsecAuthAlg>sha1</IpsecAuthAlg>
        <IpsecLifetime>86400</IpsecLifetime>
        <IpsecEncAlg>aes</IpsecEncAlg>
        <IpsecPfs>group2</IpsecPfs>
    </IpsecConfig>
    <VcoHealthCheck>
        <Dip>192.168.1.1</Dip>
        <Interval>3</Interval>
        <Retry>3</Retry>
        <Sip>10.1.1.1</Sip>
        <Enable>true</Enable>
    </VcoHealthCheck>
    <VpnBgpConfig>
        <Status>success</Status>
        <PeerBgpIp>169.254.11.2</PeerBgpIp>
        <TunnelCidr>169.254.11.0/30</TunnelCidr>
        <EnableBgp>true</EnableBgp>
        <LocalBgpIp>169.254.11.1</LocalBgpIp>
        <PeerAsn>65531</PeerAsn>
        <LocalAsn>65530</LocalAsn>
    </VpnBgpConfig>
</ModifyVpnConnectionAttributeResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/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
  }
}

错误码

HttpCode 错误码 错误信息 描述
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加入到的CEN开启了FULL模式时,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操作存在冲突,请稍后重试。
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服务端冲突。

访问错误中心查看更多错误码。