更新时间:2024-11-29 GMT+08:00
分享

创建VPN服务端

功能介绍

创建VPN服务端

调用方法

请参见如何调用API

URI

POST /v5/{project_id}/p2c-vpn-gateways/{p2c_vgw_id}/vpn-servers
表1 参数说明

名称

类型

是否必选

描述

project_id

String

项目ID,可以通过获取项目ID获取项目ID。

p2c_vgw_id

String

P2C VPN网关实例ID。

表2 请求Header参数列表

名称

类型

是否必选

描述

X-Client-Token

String

  • 功能说明:幂等性标识。
  • 格式:36位UUID。

请求消息

  • 请求参数
    表3 请求参数

    名称

    类型

    是否必选

    描述

    vpn_server

    CreateServerRequest

    object

    创建服务端请求对象。

    表4 CreateServerRequest

    名称

    类型

    必选

    描述

    tunnel_protocol

    String

    • 功能说明:隧道协议类型。
    • 取值范围:

      SSL:SSL协议。

    • 默认值:SSL。

    client_cidr

    String

    • 功能说明:客户端网段。客户端建立连接时,会从该网段分配一个虚拟IP地址。
    • 格式:"点分十进制/掩码"格式,例如192.168.1.0/24。
    • 约束:
      • 客户端网段不能和网关所在VPC默认路由表中的路由存在冲突。
      • 客户端网段不能和本服务端中本端网段列表的网段存在冲突。
      • 客户端网段地址池的IP地址数量需大于网关最大连接数的四倍。
      • 客户端网段不能使用以下特殊网段:0.0.0.0/8, 127.0.0.0/8, 224.0.0.0/4, 240.0.0.0/4, 169.254.0.0/16。

    local_subnets

    Array of strings

    • 功能说明:本端网段列表。本端网段是需要访问的云上的目的网段,该网段需要通过VPN与用户侧网络进行互通。
    • 格式:"点分十进制/掩码"格式,例如10.10.1.0/24。
    • 约束:
      • 至少有一个本端网段,默认最多支持填写20个网段。
      • 本端网段不能使用以下特殊网段:0.0.0.0/8, 127.0.0.0/8, 224.0.0.0/4, 240.0.0.0/4。

    client_auth_type

    String

    • 功能说明:客户端认证类型。
    • 取值范围:
      • CERT:证书认证。
      • LOCAL_PASSWORD:口令认证(本地)。
    • 默认值:LOCAL_PASSWORD。

    server_certificate

    server_certificate

    object

    服务端证书,隧道协议类型是SSL时必填。推荐使用强密码算法的证书,如RSA3072/4096。

    client_ca_certificates

    Array of client_ca_certificate

    objects

    • 功能说明:客户端CA证书列表,用于对客户端证书进行认证。
    • 约束:
      • 隧道协议类型是SSL,且客户端认证类型为证书认证时必填。
      • 客户端认证类型为证书认证时,至少上传1本客户端CA证书,最多支持上传10本客户端CA证书。

    ssl_options

    ssl_options object

    SSL隧道协议的可选配置项。隧道协议类型是SSL时,必填。

    表5 server_certificate

    名称

    类型

    必选

    描述

    id

    String

    功能说明:证书ID,为CCM(云证书管理服务)中已上传证书的证书ID。

    表6 client_ca_certificate

    名称

    类型

    必选

    描述

    name

    String

    • 证书名称,不填时自动生成。
    • 取值范围:1-64个字符、支持数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线)。

    content

    String

    • 功能说明:证书内容,推荐使用强密码算法的证书,如RSA3072/4096。
    • 格式:

      -----BEGIN CERTIFICATE-----

      *************************************

      *************************************

      -----END CERTIFICATE-----

    表7 ssl_options

    名称

    类型

    必选

    描述

    protocol

    String

    • 功能说明:协议。
    • 取值范围:TCP。
    • 默认值:TCP。

    port

    Integer

    • 功能说明:端口号。
    • 取值范围:
      • 443
      • 1194
    • 默认值:443。

    encryption_algorithm

    String

    • 功能说明:加密算法。
    • 取值范围:
      • AES-128-GCM
      • AES-256-GCM
    • 默认值:AES-128-GCM。

    is_compressed

    Boolean

    • 功能说明:是否压缩。
    • 取值范围:
      • true
      • false
    • 默认值:false。
  • 请求样例
    1.使用证书认证方式创建VPN服务端
    POST https://{Endpoint}/v5/{project_id}/p2c-vpn-gateways/{p2c_vgw_id}/vpn-servers
    
    {
      "vpn_server": {
        "tunnel_protocol": "SSL",
        "client_cidr": "172.16.0.1/24",
        "local_subnets": [
          "10.16.0.0/24",
          "10.16.1.0/24"
        ],
        "client_auth_type": "CERT",
        "server_certificate": {
          "id": "scs*********3922"
        },
        "client_ca_certificates": [
          {
            "name": "client_ca_8sux3d",
            "content": "-----BEGIN CERTIFICATE-----*******-----END CERTIFICATE-----"
          }
        ],
        "ssl_options": {
          "protocol": "TCP",
          "port": 443,
          "encryption_algorithm": "AES-128-GCM",
          "is_compressed": false
        }
      }
    }

    2.使用口令认证方式创建VPN服务端

    {
      "vpn_server": {
        "tunnel_protocol": "SSL",
        "client_cidr": "172.16.0.1/24",
        "local_subnets": [
          "10.16.0.0/24",
          "10.16.1.0/24"
        ],
        "client_auth_type": "LOCAL_PASSWORD",
        "server_certificate": {
          "id": "scs1716171403922"
        },
        "ssl_options": {
          "protocol": "TCP",
          "port": 443,
          "encryption_algorithm": "AES-128-GCM",
          "is_compressed": false
        }
      }
    }

响应消息

  • 响应参数

    返回状态码为 201: successful operation。

    表8 响应Body参数列表

    名称

    类型

    描述

    vpn_server

    vpn_server object

    VPN服务端。

    request_id

    String

    请求ID。

    表9 vpn_server

    名称

    类型

    描述

    id

    String

    • 功能说明:VPN服务端 ID。
    • 格式:36位UUID。
  • 响应样例
    {
      "vpn_server": {
        "id": "2407a20d-0bf7-4530-ba9a-7ffa0cedfa3b"
      },
      "request_id": "b19ba5a0be8f7b7f664b14596f8f35db"
    }

状态码

请参见状态码

相关文档