Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-01-11 GMT+08:00

Creación de una regla de DNAT

Función

Esta API se utiliza para crear una regla de DNAT.

Puede crear una regla de DNAT sólo cuando status de los gateway de NAT es ACTIVE y admin_state_up del administrador del gateway de NAT es 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.0/dnat_rules

Solicitud

Tabla 1 describe los parámetros de solicitud.

Tabla 1 Parámetro de solicitud

Parámetro

Obligatorio

Tipo

Descripción

dnat_rule

Object

Especifica el objeto de regla DNAT. Para más detalles, consulte Tabla 2.

Tabla 2 Descripción del campo dnat_rule

Parámetro

Obligatorio

Tipo

Descripción

nat_gateway_id

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, por ejemplo, la dirección IP de una conexión Direct Connect. Este parámetro y port_id son alternativos.

internal_service_port

Integer

Especifica el puerto utilizado por los ECS o BMS para proporcionar servicios para sistemas externos.In the Direct Connect scenario, this parameter indicates the port of the private IP address of the DNAT rule.

Rango soportado: 0 a 65535

floating_ip_id

String

Especifica el ID de EIP.

external_service_port

Integer

Especifica el puerto utilizado por la dirección IP flotante para proporcionar servicios para sistemas externos.

Rango soportado: 0 a 65535

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.

internal_service_port_range

No

String

Especifica el intervalo de puertos utilizado por los ECS o BMS para proporcionar servicios para sistemas externos.

  • El número de puertos debe ser el mismo que el de external _service_port_range.
  • Rango soportado: 1 a 65535
  • Especifique dos números de puerto separados por un solo guion (-) y ningún espacio en blanco en el formato, x-y, donde x es menor que y.

external_service_port_range

No

String

Especifica el intervalo de puertos utilizado por la dirección IP flotante para proporcionar servicios para sistemas externos.

  • El número de puertos debe ser el mismo que el de internal _service_port_range.
  • Rango soportado: 1 a 65535
  • Especifique dos números de puerto separados por un solo guion (-) y ningún espacio en blanco en el formato, x-y, donde x es menor que y.

Respuesta

Tabla 3 enumera los parámetros de respuesta.

Tabla 3 Parámetro de respuesta

Parámetro

Tipo

Descripción

dnat_rule

Object

Especifica el objeto de regla DNAT. Para más detalles, consulte Tabla 4.

Tabla 4 Descripción del campo dnat_rule

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 se utiliza en el escenario de VPC. Este parámetro y private_ip son alternativos.

private_ip

String

Especifica la dirección IP privada, por ejemplo, la dirección IP de una conexión Direct Connect.

Este parámetro se utiliza en el escenario Direct Connect. Este parámetro y port_id son alternativos.

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 EIP.

floating_ip_address

String

Especifica la EIP.

external_service_port

Integer

Especifica el puerto utilizado por la dirección IP flotante para proporcionar servicios para sistemas 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.

status

String

  • Especifica el estado de la regla DNAT.
  • Para obtener más información sobre todos sus valores, consulte Tabla 1.

admin_state_up

Boolean

  • Especifica si la regla de DNAT está congelada.
  • El valor puede ser:
    • true: La regla de DNAT está descongelada.
    • false: La regla de DNAT está congelada.

created_at

String

Especifica cuándo se crea la regla de DNAT (hora UTC). Su valor redondea a 6 decimales durante segundos. El formato es aaaa-mm-dd hh:mm:ss.

internal_service_port_range

String

Especifica el intervalo de puertos utilizado por los ECS o BMS para proporcionar servicios para sistemas externos.

  • El número de puertos debe ser el mismo que el de external _service_port_range.
  • Rango soportado: 1 a 65535
  • Especifique dos números de puerto separados por un solo guion (-) y ningún espacio en blanco en el formato, x-y, donde x es menor que y.

external_service_port_range

String

Especifica el intervalo de puertos utilizado por la dirección IP flotante para proporcionar servicios para sistemas externos.

  • El número de puertos debe ser el mismo que el de internal _service_port_range.
  • Rango soportado: 1 a 65535
  • Especifique dos números de puerto separados por un solo guion (-) y ningún espacio en blanco en el formato, x-y, donde x es menor que y.

Ejemplos

  • Ejemplo de la solicitud
    1. Cree una regla para un puerto especificado.
      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
          }
      }
    1. Cree una regla para todos los puertos.
      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
          }
      }
      
    2. Cree una regla basada en el intervalo de puertos especificado.
      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"
           } 
       }
  • Ejemplo de la respuesta
    1. 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",
              "floating_ip_address": "5.21.11.226",
              "external_service_port": 242,
              "private_ip": ""
          }
      }
    2. 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",
              "floating_ip_address": "5.21.11.227",
              "external_service_port": 0
          }
      }
    3. Cree una respuesta de regla basada en el intervalo de puertos especificado.

      {  
            "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" 
            }  
        }

Códigos de estado

Consulte Códigos de estado.