Creación de una regla de DNAT
Función
Esta API se utiliza para crear una regla de DNAT.
![](https://support.huaweicloud.com/intl/es-us/api-natgateway/public_sys-resources/note_3.0-es-us.png)
Puede crear una regla de DNAT solo cuando status de los gateway de NAT se establece en ACTIVE y admin_state_up del administrador del gateway de NAT en True. Cada vez se usa port_id o private_ip. Si crea una regla que se aplica a todos los tipos de puertos, establezca internal_service_port en 0, external_service_port en 0, y protocol en ANY.
URI
POST /v2/{project_id}/dnat_rules
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
Especifica el ID del proyecto. |
Solicitud
Tabla 2 describe los parámetros de solicitud.
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
dnat_rule |
Sí |
Object |
Especifica el objeto de la regla de DNAT. Para obtener más información, véase Tabla 3. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
nat_gateway_id |
Sí |
String |
Especifica el ID del gateway de NAT. |
port_id |
No |
String |
Especifica el ID de puerto de un ECS o de un BMS. Este parámetro y private_ip son alternativos. |
private_ip |
No |
String |
Especifica la dirección IP privada de un usuario, por ejemplo, la dirección IP de una VPC para la conexión Direct Connect. Este parámetro y port_id son alternativos. |
internal_service_port |
Sí |
Integer |
Especifica el puerto utilizado por los ECS o BMS para proporcionar servicios para sistemas externos. The value ranges from 0 to 65535. |
floating_ip_id |
Sí |
String |
Especifica el ID de la EIP. |
external_service_port |
Sí |
Integer |
Especifica el puerto para proporcionar servicios externos. El valor varía de 0 a 65535. |
protocol |
Sí |
String |
Especifica el tipo de protocolo. Actualmente, TCP, UDP y ANY son compatibles. El número de protocolo de TCP, UDP y ANY son 6, 17 y 0, respectivamente. |
description |
No |
String |
Proporciona información complementaria sobre la regla de la DNAT. |
internal_service_port_range |
No |
String |
Especifica el intervalo de puertos utilizado por los ECS o BMS para proporcionar servicios para sistemas externos.
|
external_service_port_range |
No |
String |
Especifica el intervalo de puertos utilizado por la dirección IP flotante para proporcionar servicios externos.
|
Respuesta
Tabla 4 enumera los parámetros de respuesta.
Parámetro |
Tipo |
Descripción |
---|---|---|
dnat_rule |
Object |
Especifica el objeto de la regla de DNAT. Para obtener más información, véase Tabla 5. |
Parámetro |
Tipo |
Descripción |
---|---|---|
id |
String |
Especifica el ID de regla de DNAT. |
tenant_id |
String |
Especifica el ID del proyecto. |
nat_gateway_id |
String |
Especifica el ID del gateway de NAT. |
port_id |
String |
Especifica el ID de puerto de un ECS o de un BMS. Este parámetro y private_ip son alternativos. |
private_ip |
String |
Especifica la dirección IP privada de un usuario, por ejemplo, la dirección IP de una VPC para la conexión Direct Connect. |
internal_service_port |
Integer |
Especifica el puerto utilizado por los ECS o BMS para proporcionar servicios para sistemas externos. |
floating_ip_id |
String |
Especifica el ID de la EIP. |
floating_ip_address |
String |
Especifica la EIP. |
external_service_port |
Integer |
Especifica el puerto para proporcionar servicios externos. |
protocol |
String |
Especifica el tipo de protocolo. Actualmente, TCP, UDP y ANY son compatibles. El número de protocolo de TCP, UDP y ANY son 6, 17 y 0, respectivamente. |
description |
String |
Proporciona información complementaria sobre la regla de la DNAT. |
status |
String |
|
admin_state_up |
Boolean |
|
created_at |
String |
|
internal_service_port_range |
String |
Especifica el intervalo de puertos utilizado por los ECS o BMS para proporcionar servicios para sistemas externos.
|
external_service_port_range |
String |
Especifica el intervalo de puertos utilizado por la dirección IP flotante para proporcionar servicios externos.
|
Ejemplos
- Ejemplo de la solicitud
- Cree una regla para un puerto especificado.
POST https://{Endpoint}/v2/d199ba7e0ba64899b2e81518104b1526/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, "description": "my dnat rule 01" } }
- Cree una regla para todos los puertos.
POST https://{Endpoint}/v2/d199ba7e0ba64899b2e81518104b1526/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, "description": "my dnat rule 01" } }
- Cree una regla basada en el intervalo de puertos especificado.
POST https://{Endpoint}/v2/d199ba7e0ba64899b2e81518104b1526/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": "tcp", "external_service_port": 0, "description": "my dnat rule 01" , "external_service_port_range":"100-200", "internal_service_port_range":"100-200" } }
- Cree una regla para un puerto especificado.
- Ejemplo de la respuesta
- Cree una respuesta para un puerto especificado.
{ "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", "external_service_port": 242, "floating_ip_address": "5.21.11.226", "description": "my dnat rule 01" } }
- Cree una respuesta para todos los puertos.
{ "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", "external_service_port": 0, "floating_ip_address": "5.21.11.227", "description": "my dnat rule 01" } }
- Cree una regla basada en el intervalo de puertos especificado.
{ "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": "tcp", "tenant_id": "abc", "created_at": "2017-11-15 15:44:42.595173", "id": "79195d50-0271-41f1-bded-4c089b2502ff", "external_service_port": 0, "floating_ip_address": "5.21.11.227", "description": "my dnat rule 01", "internal_service_port_range":"100-200", "external_service_port_range":"100-200" } }
- Cree una respuesta para un puerto especificado.