Create VPN tunnel
Updated at:2025-10-16
Description
Establish a VPN tunnel.
Request structure
Plain Text
1 POST /v{version}/vpn/{vpnId}/vpnconn?clientToken={clientToken} HTTP/1.1
2 Host: bcc.bj.baidubce.com
3 Authorization: authorization string
4 {
5 "secretKey": secretKey,
6 "localSubnets": localSubnets,
7 "remoteIp": remoteIp,
8 "remoteSubnets": remoteSubnets,
9 "description": description,
10 "vpnConnName": vpnConnName,
11 "ikeConfig": ikeConfig,
12 "ipsecConfig": ipsecConfig
13 }
Request headers
There are no special headers required beyond the common headers.
Request parameters
| Parameter name | Types | Whether required | Parameter location | Description |
|---|---|---|---|---|
| version | String | Yes | URL parameter | For API version No., the current value is 1 |
| clientToken | String | No | Query | Idempotence Token, which is an ASCII string with a length not exceeding 64 bits, for details, refer to ClientToken Idempotence. |
| vpnId | String | Yes | URL parameter | VPN ID |
| secretKey | String | Yes | Request Body parameters | Shared secret key: 8-17 characters; it must contain English letters, numbers, and symbols (limited to !@#$%^*()_) simultaneously |
| localSubnets | List<String> | Yes | Request Body parameters | List of local network CIDRs |
| remoteIp | String | Yes | Request Body parameters | Public IP of peer VPN gateway |
| remoteSubnets | List<String> | Yes | Request Body parameters | List of peer network CIDRs |
| description | String | No | Request Body parameters | Description |
| vpnConnName | String | Yes | Request Body parameters | VPN tunnel name, which supports uppercase and lowercase letters, numbers, and special characters such as -, _, / and ., starting with a letter, with a length of 1-65. |
| ikeConfig | [IkeConfig](VPC/API Reference/Appendix.md#IkeConfig) | Yes | Request Body parameters | IKE configuration |
| ipsecConfig | [IpsecConfig](VPC/API Reference/Appendix.md#IpsecConfig) | Yes | Request Body parameters | IPSec configuration |
Response headers
No special headers are required beyond the standard ones.
Response parameters
| Parameter name | Types | Description |
|---|---|---|
| vpnConnId | String | ID of the VPN tunnel |
Request example
Plain Text
1 POST /v1/vpn/vpn-119bd69b/vpnconn?clientToken=1849ef6b-f73c-4f5d-b88b-259ca47af849 HTTP/1.1
2 Host: bcc.bj.baidubce.com
3 Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
4 {
5 "secretKey": "ddd22@www",
6 "localSubnets": ["192.168.0.0/20"],
7 "remoteIp": "10.107.245.188",
8 "remoteSubnets": ["192.168.100.0/24"],
9 "description": "111",
10 "vpnConnName": "vpncon",
11 "ikeConfig":
12 {
13 "ikeVersion": "v1",
14 "ikeMode": "main",
15 "ikeEncAlg": "aes",
16 "ikeAuthAlg": "sha1",
17 "ikePfs": "group2",
18 "ikeLifeTime":200
19 },
20 "ipsecConfig":
21 {
22 "ipsecEncAlg": "aes",
23 "ipsecAuthAlg": "sha1",
24 "ipsecPfs": "group2",
25 "ipsecLifetime": 28800
26 }
27 }
Response example
Plain Text
1 HTTP/1.1 200 OK
2 x-bce-request-id: 1214cca7-4ad5-451d-9215-71cb844c0a50
3 Date: Thu, 16 Mar 2017 06:29:48 GMT
4 Content-Type: application/json;charset=UTF-8
5 Server: BWS
6 {
7 "vpnConnId": "vpnconn-ku4cxya6nisq"
8 }
