创建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.0/dnat_rules
请求消息
请求参数如表1所示。
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
nat_gateway_id | 是 | String | 所属公网NAT网关的id。 |
port_id | 否 | String | 虚拟机或者裸机的Port ID,与private_ip参数二选一。 获取虚拟机Port ID的方法请参考查询云服务器网卡信息,获取裸机Port ID的方法请参考查询裸金属服务器IP地址。 |
private_ip | 否 | String | 用户私有IP地址,例如专线连接的私有云地址,与port_id参数二选一。 |
internal_service_port | 是 | Integer | 虚拟机或者裸机对外提供服务的协议端口号。 取值范围:0~65535。 |
floating_ip_id | 是 | String | 弹性公网IP的id。获取弹性公网IP的id的方法请参考查询弹性公网IP列表。 |
external_service_port | 是 | Integer | Floatingip对外提供服务的端口号。 取值范围:0~65535。 |
protocol | 是 | String | 协议类型,目前支持TCP/UDP/ANY 对应协议号6/17/0 |
internal_service_port_range | 否 | String | 虚拟机或者裸机对外提供服务的协议端口号范围。
|
external_service_port_range | 否 | String | Floatingip对外提供服务的端口号范围。
|
响应消息
响应参数如表3所示。
参数 | 参数类型 | 描述 |
|---|---|---|
id | String | DNAT规则的id。 |
tenant_id | String | 项目的ID。 |
nat_gateway_id | String | 所属公网NAT网关的id。 |
port_id | String | 虚拟机或者裸机的Port ID,在VPC场景时使用此参数,与private_ip参数二选一。 |
private_ip | String | 用户私有IP地址,例如专线连接的私有云地址, 在专线场景时使用此参数,与port_id参数二选一。 |
internal_service_port | Integer | 虚拟机或者裸机对外提供服务的协议端口号。 |
floating_ip_id | String | 弹性公网IP的id。 |
floating_ip_address | String | 弹性公网IP的IP地址。 |
external_service_port | Integer | Floatingip对外提供服务的端口号。 |
protocol | String | 协议类型,目前支持TCP/UDP/ANY 对应协议号6/17/0 |
status | String |
|
admin_state_up | Boolean |
|
created_at | String | DNAT规则的创建时间戳,遵循UTC时间,保留小数点后6位,格式是yyyy-mm-dd hh:mm:ss |
internal_service_port_range | String | 虚拟机或者裸机对外提供服务的协议端口号范围。
|
external_service_port_range | String | Floatingip对外提供服务的端口号范围。
|
示例
- 请求样例
- 创建指定端口的规则
POST https://{Endpoint}/v2.0/dnat_rules { "dnat_rule": { "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 } }
- 创建all port类型的规则。
POST https://{Endpoint}/v2.0/dnat_rules { "dnat_rule": { "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 } } - 指定端口范围创建规则
POST https://{Endpoint}/v2.0/dnat_rules { "dnat_rule": { "floating_ip_id": "0cc38f0c-f26b-4556-b956-f5831061bb86", "nat_gateway_id": "dcb80bee-3e67-4282-8cc3-981431a63583", "private_ip": "172.16.1.197", "internal_service_port": 0, "internal_service_port_range": "55-66", "protocol": "udp", "external_service_port": 0, "external_service_port_range": "55-66", "description": "my dnat rule 01" } }
- 创建指定端口的规则
- 响应样例
- 创建指定端口的规则的响应
{ "dnat_rule": { "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", "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, "private_ip": "" } } - 创建all port类型的规则的响应
{ "dnat_rule": { "floating_ip_id": "cf99c679-9f41-4dac-8513-9c9228e713e1", "status": "ACTIVE", "nat_gateway_id": "dda3a125-2406-456c-a11f-598e10578541", "admin_state_up": true, "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 } } - 指定端口范围创建规则的响应
{ "dnat_rule": { "floating_ip_id": "0cc38f0c-f26b-4556-b956-f5831061bb86", "status": "ACTIVE", "nat_gateway_id": "dcb80bee-3e67-4282-8cc3-981431a63583", "admin_state_up": true, "private_ip": "172.16.1.197", "internal_service_port": 0, "protocol": "udp", "tenant_id": "057ef081ad80d2732fcec011fdbc01c0", "created_at": "2020-09-21 11:46:11.474729", "id": "0de17f1a-686a-4484-9d8b-973889f8654c", "external_service_port": 0, "floating_ip_address": "10.185.74.219", "port_id": "", "internal_service_port_range":"55-66", "external_service_port_range":"55-66" } }
- 创建指定端口的规则的响应
状态码
请参考状态码。

