更新VPN连接
功能介绍
根据连接ID,更新指定的VPN连接的参数。
调用方法
请参见如何调用API。
URI
PUT /v5/{project_id}/vpn-connection/{vpn_connection_id}
名称 |
类型 |
是否必选 |
说明 |
---|---|---|---|
project_id |
String |
是 |
项目ID,可以通过获取项目ID获取项目ID。 |
vpn_connection_id |
String |
是 |
VPN连接ID。 |
请求消息
- 请求参数
表2 请求参数 名称
类型
是否必选
描述
vpn_connection
是
vpn_connection对象。
表3 UpdateVpnConnectionRequestBodyContent 名称
类型
是否必选
描述
name
String
否
- 功能说明:VPN连接名称。
- 取值范围:1-64个字符,支持数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线)、.(点)。
cgw_id
String
否
- 功能说明:对端网关ID。
- 约束:36位UUID。
peer_subnets
Array of String
否
tunnel_local_address
String
否
tunnel_peer_address
String
否
psk
String
否
policy_rules
Array of PolicyRule objects
否
- 功能说明:策略模式的策略规则组。
- 约束:最多填写5个。仅当style为policy时填写
可以通过查询VPN连接查看VPN连接的style。
ikepolicy
UpdateIkePolicy object
否
ike策略对象。
ipsecpolicy
UpdateIpsecPolicy object
否
ipsec策略对象。
表4 PolicyRule 名称
类型
是否必选
描述
rule_index
Integer
否
- 功能说明:规则ID,用于区分配置的策略规则顺序。建议不填。
- 取值范围:0-50。
- 约束:不能与其他PolicyRule下的rule_index相同,ResponseVpnConnection中的rule_index可能与该值不同,因为vpn服务会将多个destination拆成不同rule。
source
String
否
- 功能说明:源地址网段。
- 约束:不能与其他PolicyRule下的source相同。
destination
Array of String
否
表5 UpdateIkePolicy 名称
类型
是否必选
描述
ike_version
String
否
- 功能说明:IKE版本号。
- 取值范围:
- 当VPN网关的flavor配置为GM时,取值范围为v1。
- 其他场景下取值范围为v1,v2。
- 默认值:
- 当VPN网关的flavor配置为GM时,默认值为v1。
- 其他场景下,默认值为v2。
phase1_negotiation_mode
String
否
authentication_algorithm
String
否
- 功能说明:认证算法。修改该字段后需要等SA协商一阶段老化后生效。
- 取值范围:
- 当VPN网关的flavor配置为GM时,取值范围为sm3。
- 其他场景下取值范围为sha2-512,sha2-384,sha2-256,sha1,md5。
其中,sha1和md5安全性较低,请慎用。
encryption_algorithm
String
否
dh_group
String
否
lifetime_seconds
Integer
否
- 功能说明:表示SA的生存周期,当该生存周期超时后IKE SA将自动更新。修改该字段后需要等协商一阶段老化后生效。
- 取值范围:60-604800,单位:秒。
local_id_type
String
否
local_id
String
否
peer_id_type
String
否
peer_id
String
否
dpd
UpdateDpd object
否
对等体存活检测对象。
表6 UpdateDpd 名称
类型
是否必选
描述
timeout
Integer
否
- 功能说明:对等体存活检测报文重传间隔。
- 取值范围:2-60,单位:秒,不填时默认为15。
interval
Integer
否
- 功能说明:对等体存活检测空闲时间.
- 取值范围:10-3600,单位:秒,不填时默认为30。
msg
String
否
- 请求样例
- 更新对端子网。
PUT https://{Endpoint}/v5/{project_id}/vpn-connection/{vpn_connection_id} { "vpn_connection": { "peer_subnets": [ "192.168.1.0/24" ] } }
- 更新策略规则。
PUT https://{Endpoint}/v5/{project_id}/vpn-connection/{vpn_connection_id} { "vpn_connection": { "policy_rules": [{ "rule_index": 1, "source": "10.0.0.0/24", "destination": [ "192.168.1.0/24" ] }] } }
- 更新生命周期。
PUT https://{Endpoint}/v5/{project_id}/vpn-connection/{vpn_connection_id} { "vpn_connection": { "ikepolicy": { "lifetime_seconds": 3600 }, "ipsecpolicy": { "lifetime_seconds": 3600 } } }
- 更新连接名称。
PUT https://{Endpoint}/v5/{project_id}/vpn-connection/{vpn_connection_id} { "vpn_connection": { "name": "vpn_connection_name" } }
- 更新对端子网。
响应消息
- 响应参数
返回状态码为 200: successful operation。
表8 响应Body参数列表 名称
类型
描述
vpn_connection
ResponseVpnConnection object
vpn_connection对象。
request_id
String
请求ID。
表9 ResponseVpnConnection 名称
类型
描述
id
String
- 功能说明:VPN连接ID。
- 格式:36位UUID。
name
String
- 功能说明:VPN连接名称,不填时会自动生成。
- 取值范围:1-64个字符,支持数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线)。
vgw_id
String
- 功能说明:VPN网关ID。
- 格式:36位UUID。
vgw_ip
String
- 功能说明: VPN网关EIP的ID或接入私网IP。
- 格式:36位UUID或点分十进制IPv4地址(如192.168.45.7)。
style
String
cgw_id
String
- 功能说明:对端网关ID。
- 格式:36位UUID。
peer_subnets
Array of String
对端子网。当VPN网关的关联模式为ER并且style字段为BGP或POLICY时不返回。
tunnel_local_address
String
路由模式下配置在VPN网关上的tunnel接口地址。仅当style为STATIC或BGP时有效。
tunnel_peer_address
String
路由模式下配置在用户侧设备上的tunnel接口地址。仅当style为STATIC或BGP时有效。
enable_nqa
Boolean
- 功能说明:开启NQA检测。仅当style为STATIC时返回。
- 取值范围:true,false。
policy_rules
Array of PolicyRule objects
策略模式的策略规则组。仅当style为POLICY时返回实际的策略规则组。
ikepolicy
IkePolicy object
ike策略对象。
ipsecpolicy
IpsecPolicy object
ipsec策略对象。
created_at
String
- 创建时间。
- UTC时间格式:yyyy-MM-ddTHH:mm:ssZ。
updated_at
String
- 最后一次更新时间。
- UTC时间格式:yyyy-MM-ddTHH:mm:ssZ。
enterprise_project_id
String
- 功能说明:企业项目ID。
- 格式:36位UUID。与vgw_id所标识VPN网关的企业项目ID一致。
connection_monitor_id
String
- 功能说明:VPN连接监控ID。仅当VPN连接下创建有连接监控时返回。
- 格式:36位UUID。
ha_role
String
- 功能说明:主备模式VPN网关下的连接时,'master'表示主连接,'slave'表示备连接。双活模式下的连接ha_role都是'master'。
- 默认值:master。
tags
Array of VpnResourceTag objects
标签列表。
eip_id
String
type
String
route_mode
String
表10 PolicyRule 名称
类型
描述
rule_index
Integer
- 功能说明:规则ID。
- 取值范围:0-50。
source
String
源地址网段。
destination
Array of String
目的地址网段。单个网段格式示例:192.168.52.0/24。每个PolicyRule最多返回50个。
表11 IkePolicy 名称
类型
描述
ike_version
String
- 功能说明:IKE版本号。
- 取值范围:v1, v2。
phase1_negotiation_mode
String
authentication_algorithm
String
- 功能说明:认证算法。
- 取值范围:sha2-512,sha2-384,sha2-256,sha1,md5,sm3。
encryption_algorithm
String
- 功能说明:加密算法。
- 取值范围:aes-256-gcm-16,aes-128-gcm-16,aes-256,aes-192,aes-128,3des,sm4。
dh_group
String
- 功能说明:第一阶段密钥交换使用的DH组,当VPN网关flavor为GM时不返回。
- 取值范围:group1,group2,group5,group14,group15,group16,group19,group20,group21。
authentication_method
String
lifetime_seconds
Integer
- 功能说明:表示SA的生存周期,当该生存周期超时后IKE SA将自动更新。
- 取值范围:60-604800,单位:秒。
local_id_type
String
- 功能说明:本端ID类型,当VPN网关flavor为GM时不返回。
- 取值范围:
- ip。
- fqdn。
local_id
String
本端ID。当local_id_type为ip时返回VPN连接所使用的网关IP;当local_id_type为fqdn时返回创建或更新VPN连接时指定的本端ID。
当VPN网关flavor为GM时不返回。
peer_id_type
String
- 功能说明:对端ID类型,当VPN网关flavor为GM时不返回。
- 取值范围:
- ip。
- any。
- fqdn。
peer_id
String
对端ID。当peer_id_type为ip时返回对端网关的IP;当peer_id_type为fqdn时返回创建或更新VPN连接时指定的对端ID;当peer_id_type为any时不返回。
当VPN网关flavor为GM时不返回。
dpd
Dpd object
对等体存活检测对象。
表12 Dpd 名称
类型
描述
timeout
Integer
- 功能说明:对等体存活检测报文重传间隔。
- 取值范围:2-60,单位:秒。
interval
Integer
- 功能说明:对等体存活检测空闲时间。
- 取值范围:10-3600,单位:秒。
msg
String
表13 IpsecPolicy 名称
类型
描述
authentication_algorithm
String
- 功能说明:认证算法。
- 取值范围:sha2-512,sha2-384,sha2-256,sha1,md5,sm3。
encryption_algorithm
String
- 功能说明:加密算法。
- 取值范围:aes-256-gcm-16,aes-128-gcm-16,aes-256,aes-192,aes-128,3des,sm4。
pfs
String
功能说明:PFS使用的DH密钥组
- 取值范围:group1,group2,group5,group14,group15,group16,group19,group20,group21,disable。
transform_protocol
String
lifetime_seconds
Integer
- 功能说明:表示配置IPSec连接建立的隧道以时间为基准的生存周期。
- 取值范围:30-604800,单位:秒。
encapsulation_mode
String
- 响应样例
- 更新VPN连接的响应。
{ "vpn_connection": { "id": "98c5af8a-demo-a8df-va86-ae2280a6f4c3", "name": "vpn-1655", "vgw_id": "b32d91a4-demo-a8df-va86-e907174eb11d", "vgw_ip": "0c464dad-demo-a8df-va86-c22bb0eb0bde", "style": "POLICY", "cgw_id": "5247ae10-demo-a8df-va86-dd36659a7f5d", "peer_subnets": ["192.168.1.0/24"], "tunnel_local_address": "169.254.56.225/30", "tunnel_peer_address": "169.254.56.226/30", "policy_rules": [{ "rule_index": 1, "source": "10.0.0.0/24", "destination": [ "192.168.1.0/24" ] }], "ikepolicy": { "ike_version": "v2", "authentication_algorithm": "sha2-256", "encryption_algorithm": "aes-128", "dh_group": "group15", "authentication_method": "pre-share", "lifetime_seconds": 86400, "local_id_type": "ip", "local_id": "10.***.***.134", "peer_id_type": "ip", "peer_id": "88.***.***.164", "dpd": { "timeout": 15, "interval": 30, "msg": "seq-hash-notify" } }, "ipsecpolicy": { "authentication_algorithm": "sha2-256", "encryption_algorithm": "aes-128", "pfs": "group15", "transform_protocol": "esp", "lifetime_seconds": 3600, "encapsulation_mode": "tunnel" }, "created_at": "2022-11-26T13:41:34.626Z", "updated_at": "2022-11-26T13:41:34.626Z", "enterprise_project_id": "0", "ha_role": "master" }, "request_id": "f91082d4-6d49-479c-ad1d-4e552a9f5cae" }
- 冻结场景下更新失败。
{ "error_code": "VPN.0001", "error_msg": "invalid request: ILLEGAL not allowed update vpnConnection", "request_id": "8c833634-4560-7897-7740-a7462f5bcbd4" }
- 更新VPN连接的响应。
状态码
请参见状态码。