Creates an IPsec server.

Usage notes

Before you create an IPsec server, you must create a VPN gateway and enable the SSL-VPN feature for the VPN gateway. For more information, see CreateVpnGateway.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameters

Parameter Type Required Example Description
Action String Yes CreateIpsecServer

The operation that you want to perform. Set the value to CreateIpsecServer.

RegionId String Yes cn-hangzhou

The ID of the region where the VPN gateway is deployed.

VpnGatewayId String Yes vpn-bp17lofy9fd0dnvzv****

The ID of the VPN gateway.

LocalSubnet String Yes 192.168.0.0/24

The local CIDR blocks, which refer to the CIDR blocks on the virtual private cloud (VPC) side.

Separate multiple CIDR blocks with commas (,). Example: 192.168.1.0/24,192.168.2.0/24.

ClientIpPool String Yes 10.0.0.0/24

The client CIDR block. It refers to the CIDR block that is used to allocate an IP address to the client.

Note The client CIDR block must not overlap with the CIDR blocks on the VPC side.
IpSecServerName String No test

The name of the IPsec server.

The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (_), and hyphens (-). The name must start with a letter.

EffectImmediately Boolean No true

Specifies whether the configuration immediately takes effect. Valid values:

  • true: initiates negotiations after the configuration is completed.
  • false (default): initiates negotiations when inbound traffic is detected.
IkeConfig String No null

The configuration of Phase 1 negotiations. Valid values:

  • IkeVersion: the IKE version. Valid values: ikev1 and ikev2. Default value: ikev2.
  • IkeMode: the IKE negotiation mode. Default value: main.
  • IkeEncAlg: the encryption algorithm that is used in Phase 1 negotiations. Default value: aes.
  • IkeAuthAlg: the authentication algorithm that is used in Phase 1 negotiations. Default value: sha1.
  • IkePfs: the Diffie-Hellman key exchange algorithm that is used in Phase 1 negotiations. Default value: group2.
  • IkeLifetime: the security association (SA) lifetime determined by Phase 1 negotiations. Unit: seconds. Valid values: 0 to 86400. Default value: 86400.
  • LocalId: the identifier of the IPsec server. The value can be a fully qualified domain name (FQDN) or an IP address. The default value is the public IP address of the VPN gateway.
  • RemoteId: the identifier of the peer. The value can be an FQDN or an IP address. The default value is empty.
IpsecConfig String No null

The configuration of Phase 2 negotiations. Valid values:

  • IpsecEncAlg: the encryption algorithm that is used in Phase 2 negotiations. Default value: aes.
  • IpsecAuthAlg: the authentication algorithm that is used in Phase 2 negotiations. Default value: sha1.
  • IpsecPfs: forwards packets of all protocols. The Diffie-Hellman key exchange algorithm used in Phase 2 negotiations. Default value: group2.
  • IpsecLifetime: the SA lifetime determined by Phase 2 negotiations. Unit: seconds. Valid values: 0 to 86400. Default value: 86400.
PskEnabled Boolean No true

Specifies whether to enable pre-shared key authentication. If you set the value to true, pre-shared key authentication is enabled.

Psk String No Cfd123****

The pre-shared key.

Enter the pre-shared key that is used for identity authentication between the IPsec server and the client. The key must be 1 to 100 characters in length.

If you do not specify a pre-shared key, the system randomly generates a 16-bit string as the pre-shared key. You can call the ListIpsecServers operation to query the pre-shared keys that are generated by the system.

Note The pre-shared key of the IPsec server must be the same as the authentication key of the client. Otherwise, a connection cannot be established between the IPsec server and the client.
ClientToken String No d7d24a21-f4ba-4454-9173-b38****

The client token that is used to ensure the idempotence of the request.

You can use the client to generate the value, but you must make sure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.

Note If you do not set this parameter, the system automatically uses RequestId as ClientToken. RequestId may be different for each API request.
DryRun String No false

Specifies whether to only precheck this request. Valid values:

  • true: only prechecks the request without performing the operation. The system prechecks whether the required parameters are set, whether the values are in valid formats, and the service limits. If the request fails to pass the precheck, a corresponding error message is returned. If the request passes the precheck, the DryRunOperation error code is returned.
  • false (default): prechecks the request. After the request passes the precheck, the system creates the IPsec server.

Response parameters

Parameter Type Example Description
CreationTime String 2021-02-22T03:24:28Z

The time when the IPsec server was created.

T is used as a delimiter. Z indicates that the time is in UTC.

IpsecServerId String iss-bp1jougp8cfsbo8y9****

The ID of the IPsec server.

RequestId String 690A967E-D4CD-4B69-8C78-94FE828BA10B

The ID of the request.

IpsecServerName String test

The name of the IPsec server.

VpnGatewayId String vpn-bp17lofy9fd0dnvzv****

The ID of the VPN gateway.

RegionId String cn-hangzhou

The ID of the region where the VPN gateway is deployed.

Examples

Sample requests

http(s)://[Endpoint]/?Action=CreateIpsecServer
&RegionId=cn-hangzhou
&VpnGatewayId=vpn-bp17lofy9fd0dnvzv****
&LocalSubnet=192.168.0.0/24
&ClientIpPool=10.0.0.0/24
&IpSecServerName=test
&EffectImmediately=true
&IkeConfig={"IkeVersion":"ikev2","IkeMode":"main","IkeEncAlg":"aes","IkeAuthAlg":"sha1","IkePfs":"group2","IkeLifetime":86400}
&IpsecConfig={"IpsecEncAlg":"aes","IpsecAuthAlg":"sha1","IpsecPfs":"group2","IpsecLifetime":86400}
&PskEnabled=true
&Psk=Cfd123****
&ClientToken=d7d24a21-f4ba-4454-9173-b38****
&DryRun=false
&Common request parameters

Sample success responses

XML format

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

<CreateIpsecServerResponse>
    <CreationTime>2021-02-22T03:24:28Z</CreationTime>
    <IpsecServerId>iss-bp1jougp8cfsbo8y9****</IpsecServerId>
    <RequestId>690A967E-D4CD-4B69-8C78-94FE828BA10B</RequestId>
    <IpsecServerName>test</IpsecServerName>
    <VpnGatewayId>vpn-bp17lofy9fd0dnvzv****</VpnGatewayId>
    <RegionId>cn-hangzhou</RegionId>
</CreateIpsecServerResponse>

JSON format

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

{
  "CreationTime" : "2021-02-22T03:24:28Z",
  "IpsecServerId" : "iss-bp1jougp8cfsbo8y9****",
  "RequestId" : "690A967E-D4CD-4B69-8C78-94FE828BA10B",
  "IpsecServerName" : "test",
  "VpnGatewayId" : "vpn-bp17lofy9fd0dnvzv****",
  "RegionId" : "cn-hangzhou"
}

Error codes

HttpCode Error code Error message Description
400 OperationUnsupported.IPsecServer The current version of the VPN gateway does not support IPsec server. The error message returned because the version of the VPN gateway does not support IPsec servers.
400 VpnGateway.SslVpnDisabled The VPN gateway has not enabled SSL VPN. The error message returned because the SSL-VPN feature is disabled for the VPN gateway.
400 VpnGateway.Configuring The specified service is configuring. The error message returned because the specified service is being configured. Try again later.
400 VpnGateway.FinancialLocked The specified service is financial locked. The error message returned because the service is suspended due to overdue payments. Top up your account before you enable the service.
400 OperationFailed.IPsecServerExist An IPsec server already exists in the VPN gateway. The error message returned because an IPsec server is already associated with the specified VPN gateway.
400 IllegalParam.LocalSubnet The specified "LocalSubnet" (%s) is invalid. The error message returned because LocalSubnet is set to an invalid value.
400 QuotaExceeded.VpnRouteEntry The number of route entries to the VPN gateway in the VPC routing table has reached the quota limit. The error message returned because the number of routes that point to the VPN gateway in the VPC route table reaches the upper limit.
400 SystemBusy The system is busy. Please try again later. The error message returned because the system is busy. Try again later.
403 Forbidden User not authorized to operate on the specified resource. The error message returned because you are unauthorized to perform this operation on the specified resource. Apply for the required permissions and try again.
404 InvalidVpnGatewayInstanceId.NotFound The specified vpn gateway instance id does not exist. The error message returned because you are unauthorized to perform this operation on the specified resource. Apply for the required permissions and try again.

For a list of error codes, visit the API Error Center.