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.
Centro de ayuda/ NAT Gateway/ Referencia de la API/ API v2/ Reglas de DNAT/ Actualización de una regla de DNAT
Actualización más reciente 2023-01-11 GMT+08:00

Actualización de una regla de DNAT

Función

Esta API se utiliza para actualizar una regla de DNAT.

Puede actualizar la regla sólo cuando status de la regla de DNAT se establece en ACTIVE y admin_state_up del administrador de 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.

Los campos, incluidos port_id, private_ip, internal_service_port, external_service_port, floating_ip_id, protocol, internal_service_port_range, y external_service_port_range deben actualizarse juntos.

URI

PUT /v2/{project_id}/dnat_rules/{dnat_rule_id}

Tabla 1 Descripción del parámetro

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

Especifica el ID del proyecto.

dnat_rule_id

String

Especifica el ID de regla de DNAT.

Solicitud

Tabla 3 describe los parámetros de solicitud.

Tabla 2 Descripción del parámetro

Parámetro

Obligatorio

Tipo

Descripción

dnat_rule

Object

Especifica el objeto de la regla de DNAT. Para obtener más información, véase Tabla 3.

Tabla 3 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 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

No

Integer

Especifica el puerto utilizado por los ECS o BMS para proporcionar servicios para sistemas externos.

floating_ip_id

No

String

Especifica el ID de la EIP. Para obtener más información sobre cómo obtener el ID de EIP, consulte Consulta de EIP.

external_service_port

No

Integer

Especifica el puerto para proporcionar servicios externos.

protocol

No

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. Puede introducir hasta 255 caracteres.

internal_service_port_range

No

String

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

  • El rango de puertos es el mismo que el valor de external _service_port_range.
  • El valor varía de 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 externos.

  • El rango de puertos es el mismo que el valor de internal _service_port_range.
  • El valor varía de 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 4 enumera los parámetros de respuesta.

Tabla 4 Parámetro de respuesta

Parámetro

Tipo

Descripción

dnat_rule

Object

Especifica el objeto de regla DNAT.

Tabla 5 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.

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

Specifies the protocol type. 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. Puede introducir hasta 255 caracteres.

status

String

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

admin_state_up

Boolean

  • Especifica el estado descongelado o congelado.
  • El valor puede ser:
    • true: indica el estado no congelado.
    • false: indica el estado congelado.

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 rango de puertos es el mismo que el valor de external _service_port_range.
  • El valor varía de 1 a 65535.

external_service_port_range

String

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

  • El rango de puertos es el mismo que el valor de internal _service_port_range.
  • El valor varía de 1 a 65535.

Ejemplos

  • Ejemplo de la solicitud
    1. Actualizar una regla para aplicarla a un puerto específico.
      PUT https://{Endpoint}/v2/d199ba7e0ba64899b2e81518104b1526/dnat_rules/79195d50-0271-41f1-bded-4c089b2502ff
      { 
           "dnat_rule": { 
               "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8",
               "floating_ip_id": "cf99c679-9f41-4dac-8513-9c9228e713e1", 
               "port_id": "9a469561-daac-4c94-88f5-39366e5ea193", 
               "internal_service_port": 993, 
               "protocol": "tcp", 
               "external_service_port": 242, 
               "description": "my dnat rule 01"
           } 
       }
    2. Actualizar una regla para aplicarla a todos los puertos.
      PUT https://{Endpoint}/v2/d199ba7e0ba64899b2e81518104b1526/dnat_rules/79195d50-0271-41f1-bded-4c089b2502ff
      { 
           "dnat_rule": { 
               "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8",
               "floating_ip_id": "bf99c679-9f41-4dac-8513-9c9228e713e1",
               "private_ip": "192.168.1.100", 
               "internal_service_port": 0, 
               "protocol": "any", 
               "external_service_port": 0, 
              "description": "my dnat rule 01" 
           } 
       }
    3. Actualizar el rango de puertos de una regla.
      PUT https://{Endpoint}/v2/d199ba7e0ba64899b2e81518104b1526/dnat_rules/79195d50-0271-41f1-bded-4c089b2502ff
      { 
           "dnat_rule": { 
               "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8",
               "floating_ip_id": "bf99c679-9f41-4dac-8513-9c9228e713e1",
               "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"
           } 
       }
    4. Actualizar la descripción de una regla.
      PUT https://{Endpoint}/v2/d199ba7e0ba64899b2e81518104b1526/dnat_rules/79195d50-0271-41f1-bded-4c089b2502ff
      { 
           "dnat_rule": { 
              "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8",
              "description": "my dnat rule 01"
           } 
      }
  • Ejemplo de la respuesta
    1. Respuesta a la actualización de una regla que se aplica a un puerto específico
      { 
           "dnat_rule": { 
               "status": "ACTIVE", 
               "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", 
               "admin_state_up": true, 
               "port_id": "9a469561-daac-4c94-88f5-39366e5ea193", 
               "internal_service_port": 993, 
               "protocol": "tcp", 
               "tenant_id": "abc", 
               "floating_ip_id": "cf99c679-9f41-4dac-8513-9c9228e713e1",
               "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" 
           } 
       }
    2. Respuesta a la actualización de una regla que se aplica a todos los puertos
      { 
           "dnat_rule": { 
               "status": "ACTIVE", 
               "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", 
               "admin_state_up": true, 
               "private_ip": "192.168.1.100", 
               "internal_service_port": 0, 
               "protocol": "any", 
               "tenant_id": "abc", 
               "floating_ip_id": "bf99c679-9f41-4dac-8513-9c9228e713e1",
               "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" 
           } 
       }
    3. Respuesta para actualizar el rango de puertos de una regla
      { 
           "dnat_rule": { 
               "status": "ACTIVE", 
               "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", 
               "admin_state_up": true, 
               "private_ip": "192.168.1.100", 
               "internal_service_port": 0, 
               "protocol": "tcp", 
               "tenant_id": "abc", 
               "floating_ip_id": "bf99c679-9f41-4dac-8513-9c9228e713e1",
               "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",
               "internal_service_port_range": "100-200",
               "external_service_port_range": "100-200"
           } 
       }
    4. Respuesta para actualizar la descripción de una regla
      { 
           "dnat_rule": { 
               "status": "ACTIVE", 
               "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", 
               "admin_state_up": true, 
               "port_id": "9a469561-daac-4c94-88f5-39366e5ea193", 
               "private_ip": "",
               "internal_service_port": 993, 
               "protocol": "tcp", 
               "tenant_id": "abc", 
               "floating_ip_id": "cf99c679-9f41-4dac-8513-9c9228e713e1",
               "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" 
           } 
       }