更新时间:2022-01-25 GMT+08:00

批量创建DNAT规则

功能介绍

批量创建DNAT规则。

批量创建规则时,要求网关状态status = "ACTIVE",要求网关管理员状态admin_state_up = True。port_id和private_ip不能同时生效。对于all port类型的规则,要求internal_service_port = 0,external_service_port = 0,protocol = ANY.

URI

POST /v2/{project_id}/dnat_rules/batch

表1 参数说明

参数

是否必选

参数类型

描述

project_id

String

项目ID。

请求消息

请求参数如表2所示。

表2 请求参数

参数

是否必选

参数类型

描述

dnat_rules

Array of dnat_rule objects

dnat_rule对象列表。请参考表dnat_rule字段说明。

表3 dnat_rule字段说明

参数

是否必选

参数类型

描述

nat_gateway_id

String

NAT网关的id。

port_id

String

虚拟机或者裸机的Port ID,与private_ip参数二选一。

private_ip

String

用户私有IP地址,例如专线连接的私有云地址,与port_id参数二选一。

internal_service_port

Integer

虚拟机或者裸机对外提供服务的协议端口号。

floating_ip_id

String

弹性公网IP的id。

external_service_port

Integer

Floatingip对外提供服务的端口号。

protocol

String

协议类型,目前支持TCP、UDP、ANY。

对应协议号6、17、0。

description

String(255)

DNAT规则的描述。

internal_service_port_range

String

虚拟机或者裸机对外提供服务的协议端口号范围。

  • 功能说明:该端口范围与external _service_port_range按顺序实现1:1映射。
  • 取值范围:1~65535。
  • 约束:只能以’-’字符连接端口范围。

external_service_port_range

String

Floatingip对外提供服务的端口号范围。

  • 功能说明:该端口范围与internal _service_port_range按顺序实现1:1映射。
  • 取值范围:1~65535。
  • 约束:只能以’-’字符连接端口范围。

响应消息

响应参数如表4所示。

表4 响应参数

参数

参数类型

描述

dnat_rules

Array(dnat_rule)

dnat_rule对象列表。请参考表dnat_rule字段说明

表5 dnat_rule字段说明

参数

参数类型

描述

id

String

DNAT规则的id。

tenant_id

String

项目ID。

nat_gateway_id

String

NAT网关的id。

port_id

String

虚拟机或者裸机的Port ID。

private_ip

String

用户私有IP地址,例如专线连接的私有云地址。

internal_service_port

Integer

虚拟机或者裸机对外提供服务的协议端口号。

floating_ip_id

String

弹性公网IP的id。

floating_ip_address

String

弹性公网的IP地址。

external_service_port

Integer

Floatingip对外提供服务的端口号。

protocol

String

协议类型,目前支持TCP、UDP、ANY。

对应协议号6、17、0。

description

String(255)

DNAT规则的描述。

status

String

admin_state_up

Boolean

  • 解冻/冻结状态。
  • 取值范围:
    • “true”:解冻
    • “false”:冻结

created_at

String

  • DNAT规则的创建时间戳,遵循UTC时间,保留小数点后6位,格式是yyyy-mm-dd hh:mm:ss

internal_service_port_range

String

虚拟机或者裸机对外提供服务的协议端口号范围。

  • 功能说明:该端口范围与external _service_port_range按顺序实现1:1映射。
  • 取值范围:1~65535。

external_service_port_range

String

Floatingip对外提供服务的端口号范围。

  • 功能说明:该端口范围与internal _service_port_range按顺序实现1:1映射。
  • 取值范围:1~65535。

示例

  • 请求样例
    1. 批量创建规则(第一条为指定端口的规则,第二条为all port类型的规则)
      POST https://{Endpoint}/v2/d199ba7e0ba64899b2e81518104b1526/dnat_rules/batch
      { 
           "dnat_rules": [{ 
               "floating_ip_id": "bf99c679-9f41-4dac-8513-9c9228e713e1", 
               "nat_gateway_id": "cda3a125-2406-456c-a11f-598e10578541", 
               "port_id": "9a469561-daac-4c94-88f5-39366e5ea193", 
               "internal_service_port": 993, 
               "protocol": "tcp", 
               "external_service_port": 242 
           },
          { 
               "floating_ip_id": "cf99c679-9f41-4dac-8513-9c9228e713e1", 
               "nat_gateway_id": "dda3a125-2406-456c-a11f-598e10578541", 
               "private_ip": "192.168.1.100", 
               "internal_service_port": 0, 
               "protocol": "any", 
               "external_service_port": 0 
           }]
       }
  • 响应样例
    1. 批量创建规则的响应
      { 
           "dnat_rules": [{ 
               "floating_ip_id": "bf99c679-9f41-4dac-8513-9c9228e713e1", 
               "status": "ACTIVE", 
               "nat_gateway_id": "cda3a125-2406-456c-a11f-598e10578541", 
               "admin_state_up": true, 
               "port_id": "9a469561-daac-4c94-88f5-39366e5ea193",
               "private_ip": "",  
               "internal_service_port": 993, 
               "protocol": "tcp", 
               "tenant_id": "abc", 
               "created_at": "2017-11-15 15:44:42.595173", 
               "id": "79195d50-0271-41f1-bded-4c089b2502ff", 
               "floating_ip_address": "5.21.11.226", 
               "external_service_port": 242,
               "description": "my dnat rule 01"
           },
      { 
               "floating_ip_id": "cf99c679-9f41-4dac-8513-9c9228e713e1", 
               "status": "ACTIVE", 
               "nat_gateway_id": "dda3a125-2406-456c-a11f-598e10578541", 
               "admin_state_up": true, 
               "port_ID": "",
               "private_ip": "192.168.1.100", 
               "internal_service_port": 0, 
               "protocol": "any", 
               "tenant_id": "abc", 
               "created_at": "2017-11-15 15:44:42.595173", 
               "id": "79195d50-0271-41f1-bded-4c089b2502ff", 
               "floating_ip_address": "5.21.11.227", 
               "external_service_port": 0,
               "description": "my dnat rule 01"
           }]
       }

状态码

请参考状态码