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