Actualización de una regla de DNAT
Función
Esta API se utiliza para actualizar una regla de DNAT.
![](https://support.huaweicloud.com/intl/es-us/api-natgateway/public_sys-resources/note_3.0-es-us.png)
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}
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
Especifica el ID del proyecto. |
dnat_rule_id |
Sí |
String |
Especifica el ID de regla de DNAT. |
Solicitud
Tabla 3 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 |
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.
|
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 regla DNAT. |
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 |
|
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
- 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" } }
- 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" } }
- 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" } }
- 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" } }
- Actualizar una regla para aplicarla a un puerto específico.
- Ejemplo de la respuesta
- 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" } }
- 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" } }
- 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" } }
- 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" } }
- Respuesta a la actualización de una regla que se aplica a un puerto específico