虚拟专用网络 VPN-创建VPN服务端:请求消息

时间:2025-02-12 15:09:46

请求消息

  • 请求参数
    表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    }  }}
support.huaweicloud.com/api-vpn/vpn_api_0078.html