Configurar y gestionar reglas de Cloud NAT
En esta página se describe cómo configurar reglas de Cloud NAT para NAT pública. Antes de configurar reglas de Cloud NAT, consulta la información general sobre las reglas de Cloud NAT.
Crear reglas de NAT
Para crear reglas NAT, Cloud NAT usa el lenguaje de expresión común (CEL), tal como se describe en el artículo sobre el lenguaje de expresión de reglas. Para ver expresiones de ejemplo que puedes usar en tus reglas de NAT, consulta Expresiones de ejemplo.
Si quieres crear reglas de NAT, asegúrate de que la opción Asignación independiente del endpoint esté inhabilitada en tu pasarela de NAT.
Crear reglas basadas en la fuente
En los pasos de esta sección se describe cómo crear reglas NAT basadas en la fuente para las siguientes condiciones:
- Los paquetes del intervalo de IPs de origen
10.10.1.0/24
deben usarIP_ADDRESS_1
. - Los paquetes del intervalo de IPs de origen
10.10.2.0/24
deben usarIP_ADDRESS_2
. - Todos los demás paquetes deben usar
IP_ADDRESS_3
.
Para las condiciones 1 y 2, crea dos reglas NAT. La condición 3 se cumple con la regla NAT predeterminada para la coincidencia de direcciones de origen.
IP_ADDRESS_1
, IP_ADDRESS_2
y IP_ADDRESS_3
son las direcciones IP externas que quieres usar para NAT.
Consola
Añadir reglas de NAT a una pasarela de NAT
Añade una regla de NAT que coincida con el tráfico de
10.10.1.0/24
y traduzca la IP de origen aIP_ADDRESS_1
.En la Trusted Cloud consola, ve a la página Cloud NAT.
Haz clic en tu pasarela NAT.
Haz clic en Editar.
En Direcciones IP de Cloud NAT, selecciona Manual.
En la sección Reglas de Cloud NAT, haz clic en Añadir una regla.
En el campo Prioridad de la regla, introduce un número del
0
(prioridad más alta) al65000
(prioridad más baja). Por ejemplo,100
.En Coincidir con intervalos de IP, selecciona Origen.
En el campo Intervalos de IP de origen, introduce
10.10.1.0/24
.En la sección Direcciones IP, selecciona la dirección IP que quieras usar para
IP_ADDRESS_1
.Haz clic en Listo.
Añade una regla NAT que coincida con el tráfico de
10.10.2.0/24
y lo traduzca aIP_ADDRESS_2
.- En la sección Reglas de Cloud NAT, haz clic en Añadir una regla.
- En el campo Prioridad de la regla, introduce un número del
0
(prioridad más alta) al65000
(prioridad más baja). Por ejemplo,200
. - En Coincidir con intervalos de IP, selecciona Origen.
- En el campo Intervalos de IP de origen, introduce
10.10.2.0/24
. - En la sección Direcciones IP, selecciona la dirección IP que quieras usar para
IP_ADDRESS_2
. - Haz clic en Listo.
- Haz clic en Guardar para guardar ambas reglas.
gcloud
Puedes seguir los pasos que se indican en las siguientes secciones para crear un archivo de reglas, crear una pasarela Cloud NAT que use las reglas del archivo de reglas o añadir reglas a una pasarela NAT que ya tengas.
Añadir reglas de NAT a una pasarela de NAT
Para añadir una regla NAT, usa el comando gcloud beta compute routers nats rules create
.
Añade una regla NAT que use
IP_ADDRESS_1
para el tráfico de10.10.1.0/24
:gcloud beta compute routers nats rules create NAT_RULE_PRIORITY \ --router=NAT_ROUTER \ --region=REGION \ --nat=NAT_CONFIG \ --match="inIpRange(source.ip, '10.10.1.0/24')" \ --source-nat-active-ips=IP_ADDRESS_1
Haz los cambios siguientes:
NAT_RULE_PRIORITY
: número de regla que identifica de forma única la regla NAT, de0
(prioridad más alta) a65000
(prioridad más baja). Por ejemplo,100
.NAT_ROUTER
: nombre del Cloud Router que usas para la pasarela de NATREGION
: región de la pasarela NATNAT_CONFIG
: el nombre de la configuración de NATIP_ADDRESS_1
: la dirección IP externa asignada manualmente que quieras usar para los paquetes que coincidan con la regla
Añade una regla NAT que use
IP_ADDRESS_2
para el tráfico de10.10.2.0/24
:gcloud beta compute routers nats rules create NAT_RULE_PRIORITY \ --router=NAT_ROUTER \ --region=REGION \ --nat=NAT_CONFIG \ --match="inIpRange(source.ip, '10.10.2.0/24')" \ --source-nat-active-ips=IP_ADDRESS_2
Haz los cambios siguientes:
NAT_RULE_PRIORITY
: número de regla que identifica de forma única la regla NAT, de0
(prioridad más alta) a65000
(prioridad más baja). Por ejemplo,200
.NAT_ROUTER
: nombre del Cloud Router que usas para la pasarela de NATREGION
: la región de la pasarela de NATNAT_CONFIG
: el nombre de la configuración de NATIP_ADDRESS_2
: la dirección IP externa asignada manualmente que quieras usar para los paquetes que coincidan con la regla
Crear una pasarela NAT mediante un archivo de reglas NAT
El siguiente fragmento de código es un archivo de reglas de ejemplo. Puedes modificar este archivo de reglas para adaptarlo a tu caso práctico u omitir este paso si ya tienes un archivo de reglas.
Crear un archivo de reglas
rules: - ruleNumber: 100 match: inIpRange(source.ip, '10.10.1.0/24') action: sourceNatActiveIps: - /projects/PROJECT_ID/regions/REGION/addresses/IP_ADDRESS_1 - ruleNumber: 200 match: inIpRange(source.ip, '10.10.2.0/24') action: sourceNatActiveIps: - /projects/PROJECT_ID/regions/REGION/addresses/IP_ADDRESS_2
En el ejemplo anterior, IP_ADDRESS_1
y IP_ADDRESS_2
son las direcciones IP externas asignadas manualmente que quieres usar para los paquetes que coincidan con las reglas. En cada dirección IP, sustituye lo siguiente:
PROJECT_ID
: el proyecto de la dirección IPREGION
: región en la que se reserva la dirección IP
Crear una pasarela NAT mediante un archivo de reglas NAT
El siguiente comando crea una pasarela NAT y la configura con reglas de un archivo de reglas NAT. Si ya has configurado una pasarela de NAT, consulta Añadir reglas de NAT a una pasarela de NAT ya creada.
gcloud beta compute routers nats create NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --nat-all-subnet-ip-ranges \ --nat-external-ip-pool=IP_ADDRESS_3,[IP_ADDRESS_4] \ --rules=PATH_TO_NAT_RULE_FILE
Haz los cambios siguientes:
NAT_CONFIG
: nombre de la configuración de NATNAT_ROUTER
: el nombre del Cloud Router que quieras usar para la pasarela de NATREGION
: la región en la que quieras crear la pasarela de Cloud NATIP_ADDRESS_3
yIP_ADDRESS_4
: las direcciones IP externas que quieras usar en la regla de NAT predeterminada.PATH_TO_NAT_RULE_FILE
: ruta al archivo de reglas NAT
Crear reglas basadas en el destino
Los siguientes pasos de configuración de ejemplo cumplen las siguientes condiciones:
- Los paquetes con la dirección de destino
198.51.100.10
deben usar la dirección IP de NATIP_ADDRESS_1
. - Los paquetes con la dirección de destino
198.51.100.20/30
deben usar la dirección IP de NATIP_ADDRESS_2
oIP_ADDRESS_3
.
Puede crear una regla NAT para cumplir cada una de estas condiciones.
Consola
Añadir reglas de NAT a una pasarela de NAT
Añade una regla de NAT que use
IP_ADDRESS_1
para enviar tráfico a198.51.100.10
.En la Trusted Cloud consola, ve a la página Cloud NAT.
Haz clic en Editar.
En Direcciones IP de Cloud NAT, selecciona Manual.
En la sección Reglas de Cloud NAT, haz clic en Añadir una regla.
En el campo Prioridad de la regla, introduce un número del
0
(prioridad más alta) al65000
(prioridad más baja). Por ejemplo,100
.En Coincidir con intervalos de IP, selecciona Destino.
En el campo Destination IP ranges (Intervalos de direcciones IP de destino), introduce
198.51.100.10
.En la sección Direcciones IP, selecciona la dirección IP que quieras usar para
IP_ADDRESS_1
.Haz clic en Listo.
Añade una regla de NAT que use
IP_ADDRESS_2
oIP_ADDRESS_3
para enviar tráfico a198.51.100.20/30
.- En la sección Reglas de Cloud NAT, haz clic en Añadir una regla.
- En el campo Prioridad de la regla, introduce un número del
0
(prioridad más alta) al65000
(prioridad más baja). Por ejemplo,200
. - En Coincidir con intervalos de IP, selecciona Destino.
- En el campo Destination IP ranges (Intervalos de direcciones IP de destino), introduce
198.51.100.20/30
. - En la sección Direcciones IP, selecciona la dirección IP que quieras usar para
IP_ADDRESS_2
. - Haga clic en Añadir dirección IP y seleccione la dirección IP que quiera usar para
IP_ADDRESS_3
. - Haz clic en Listo.
- Haz clic en Guardar para guardar ambas reglas.
gcloud
Puedes seguir los pasos que se indican en las siguientes secciones para crear un archivo de reglas, crear una pasarela NAT que use las reglas del archivo de reglas o añadir reglas a una pasarela NAT.
Añadir reglas de NAT a una pasarela de NAT
Puedes añadir una regla NAT con el comando de regla NAT.
Sustituye NAT_RULE_PRIORITY
por la prioridad de la regla NAT que quieras asignar a la regla (de 0
[la más alta] a 65000
[la más baja]) y sustituye las demás variables por información que coincida con tu configuración.
Primero, añade una regla NAT que envíe el tráfico de IP_ADDRESS1
a 198.51.100.10
.
gcloud compute routers nats rules create NAT_RULE_PRIORITY \ --router=ROUTER_NAME \ --nat=NAT_NAME \ --match='destination.ip == "198.51.100.10"' \ --source-nat-active-ips=IP_ADDRESS1 \ [--region=REGION] [GLOBAL-FLAG ...]
A continuación, añade una regla NAT que envíe el tráfico de IP_ADDRESS2
o IP_ADDRESS3
a 198.51.100.20/30
.
gcloud compute routers nats rules create NAT_RULE_PRIORITY \ --router=ROUTER_NAME \ --nat=NAT_NAME \ --match='inIpRange(destination.ip, "198.51.100.20/30")' \ --source-nat-active-ips=IP_ADDRESS2,IP_ADDRESS3 \ [--region=REGION] [GLOBAL-FLAG ...]
Crear un archivo de reglas
El siguiente fragmento de código es un archivo de reglas de ejemplo. Puedes modificar este archivo de reglas para adaptarlo a tu caso práctico u omitir este paso si ya tienes un archivo de reglas.
rules: - ruleNumber: 100 match: destination.ip == '198.51.100.10' action: sourceNatActiveIps: - /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS1 - ruleNumber: 200 match: inIpRange(destination.ip, '198.51.100.20/30') action: sourceNatActiveIps: - /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS2 - /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS3
Crear una pasarela NAT mediante un archivo de reglas NAT
El siguiente comando crea una pasarela NAT y la configura con reglas de un archivo de reglas NAT. Si ya has configurado una pasarela de NAT, consulta Añadir reglas de NAT a una pasarela de NAT ya creada. Sustituye las variables por la información que coincida con tu configuración.
gcloud compute routers nats create NAT_NAME \ --router=ROUTER_NAME \ --nat-external-ip-pool=IP_ADDRESS4,[IP_ADDRESS5] \ --nat-all-subnet-ip-ranges \ --rules=PATH_TO_NAT_RULE_FILE \ [--region=REGION] [GLOBAL-FLAG ...]
Actualizar reglas de NAT
Para actualizar las reglas NAT, siga los pasos que se indican en las siguientes secciones. Solo puedes usar archivos de reglas con la herramienta de línea de comandos gcloud
.
Consola
- En la Trusted Cloud consola, ve a la página Cloud NAT.
- Haz clic en tu pasarela NAT.
- Haz clic en Editar.
- En Reglas personalizadas, haz clic en la regla que quieras actualizar.
- En los campos desplegados, puedes modificar la información que quieras cambiar.
- Haz clic en Listo.
- Haz clic en Guardar.
gcloud
Actualizar mediante un archivo de reglas de NAT
Para actualizar una pasarela NAT con tu archivo de reglas NAT, usa el comando gcloud compute routers nats update
.
Sustituye las variables por la información que coincida con tu configuración.
gcloud compute routers nats update NAT_NAME \ --router=ROUTER_NAME \ --rules=PATH_TO_NAT_RULE_FILE \ [--region=REGION] [GLOBAL-FLAG ...]
El siguiente fragmento de código es un archivo de reglas de ejemplo. Ten en cuenta la acción sourceNatDrainIps
, que impide que se establezcan nuevas conexiones con el destino mediante IP_ADDRESS1
, pero mantiene las conexiones existentes.
rules: - ruleNumber: 100 match: destination.ip == '198.51.100.10' action: sourceNatActiveIps: - /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS2 sourceNatDrainIps: - /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS1
Actualizar con un comando de regla de NAT
Para actualizar una sola regla NAT, usa el siguiente comando. Sustituye NAT_RULE_PRIORITY
por el número de prioridad de la regla NAT y las demás variables por la información que coincida con tu configuración. Ten en cuenta la opción source-nat-drain-ips
, que
impide que se establezcan nuevas
conexiones con el destino mediante IP_ADDRESS3
y IP_ADDRESS4
, pero
mantiene las conexiones activas.
gcloud compute routers nats rules update NAT_RULE_PRIORITY \ --router=ROUTER_NAME \ --nat=NAT_NAME \ --match=Match conditions (expressed in CEL) \ --source-nat-active-ips=[IP_ADDRESS1],[IP_ADDRESS2] \ --source-nat-drain-ips=[IP_ADDRESS3],[IP_ADDRESS4] \ [--region=REGION] [GLOBAL-FLAG ...]
Eliminar reglas de NAT
Consola
- En la Trusted Cloud consola, ve a la página Cloud NAT.
- Haz clic en tu pasarela NAT.
- Haz clic en Editar.
- En Reglas personalizadas, coloca el cursor sobre la regla que quieras eliminar. Haz clic en .
- Haz clic en Guardar.
gcloud
Para quitar una regla NAT de una pasarela, puedes eliminarla directamente de la pasarela o del archivo de reglas y actualizar la pasarela.
Eliminar mediante un archivo de reglas de NAT
Puedes quitar una regla NAT directamente del archivo de reglas y, a continuación, actualizar tu pasarela NAT. El comando para actualizar tu pasarela NAT se repite aquí para mayor comodidad.
Sustituye las variables por la información que coincida con tu configuración.
gcloud compute routers nats update NAT_NAME \ --router=ROUTER_NAME \ --rules=PATH_TO_NAT_RULE_FILE \ [--region=REGION] [GLOBAL-FLAG ...]
Eliminar con un comando de regla de NAT
También puedes usar un comando de regla NAT delete
para quitar una regla NAT de tu pasarela. Sustituye NAT_RULE_PRIORITY
por el número de prioridad de la regla NAT y sustituye las demás variables por la información que coincida con tu configuración.
gcloud compute routers nats rules delete NAT_RULE_PRIORITY \ --router=ROUTER_NAME \ --nat=NAT_NAME \ [--region=REGION] [GLOBAL-FLAG ...]
Describe una regla de NAT
Consola
Puede ver información sobre sus reglas de NAT en la página Cloud NAT.
- En la Trusted Cloud consola, ve a la página Cloud NAT.
- Haz clic en tu pasarela NAT.
- Consulta las reglas de NAT.
Para obtener información adicional sobre una regla NAT concreta, puedes hacer lo siguiente:
- Haz clic en Editar.
- En el encabezado Reglas personalizadas, selecciona una regla NAT.
- Consulta la información adicional.
- Haz clic en Cancelar.
gcloud
Para describir una regla NAT, usa el siguiente comando. Sustituye NAT_RULE_PRIORITY
por el número de prioridad de tu regla NAT y las demás variables por la información que coincida con tu configuración.
gcloud compute routers nats rules describe NAT_RULE_PRIORITY \ --router=ROUTER_NAME \ --nat=NAT_NAME \ [--region=REGION] [GLOBAL-FLAG ...]
Mostrar todas las reglas de NAT de una pasarela de NAT
Consola
Puedes ver tus reglas de NAT en la página Cloud NAT.
- En la Trusted Cloud consola, ve a la página Cloud NAT.
- Haz clic en tu pasarela NAT.
- Consulta las reglas de NAT.
gcloud
Para enumerar todas las reglas NAT de una pasarela NAT, usa el siguiente comando. También se muestran todas las direcciones IP de NAT presentes en las reglas de NAT, incluida la regla predeterminada. Sustituye las variables por la información que coincida con tu configuración.
gcloud compute routers nats rules list \ --router=ROUTER_NAME \ --nat=NAT_NAME \ [--region=REGION] [GLOBAL-FLAG ...]