Configura y administra 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 descripción general de las reglas de Cloud NAT.
Crea reglas de NAT
Para crear reglas de NAT, Cloud NAT usa Common Expression Language (CEL), como se describe en Lenguaje de expresión de reglas. Para ver ejemplos de expresiones que puedes usar en tus reglas de NAT, consulta Ejemplos de expresiones.
Si quieres crear reglas de NAT, asegúrate de que el mapeo independiente de extremos esté inhabilitado para tu puerta de enlace de NAT.
Crea reglas basadas en la fuente
En los pasos de esta sección, se describe cómo crear reglas de NAT basadas en la fuente para las siguientes condiciones:
- Los paquetes del rango de IP de origen
10.10.1.0/24
deben usarIP_ADDRESS_1
. - Los paquetes del rango de IP 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, creas dos reglas de NAT. La condición 3 se cumple con la regla de 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 deseas usar para NAT.
Console
Agrega reglas NAT a una puerta de enlace NAT existente
Agrega 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 de Cloud NAT.
Haz clic en tu puerta de enlace de NAT.
Haz clic en Editar.
En Direcciones IP de Cloud NAT, selecciona Manuales.
En la sección Reglas de Cloud NAT, haz clic en Agregar una regla.
En el campo Prioridad de regla, ingresa un número del
0
(prioridad más alta) al65000
(prioridad más baja). Por ejemplo,100
.En Coincidir con rangos de IP, selecciona Fuente.
En el campo Rangos de IP de origen, ingresa
10.10.1.0/24
.En la sección Direcciones IP, selecciona la dirección IP que deseas usar para
IP_ADDRESS_1
.Haz clic en Listo.
Agrega una regla de 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 Agregar una regla.
- En el campo Prioridad de regla, ingresa un número del
0
(prioridad más alta) al65000
(prioridad más baja). Por ejemplo,200
. - En Coincidir con rangos de IP, selecciona Fuente.
- En el campo Rangos de IP de origen, ingresa
10.10.2.0/24
. - En la sección Direcciones IP, selecciona la dirección IP que deseas usar para
IP_ADDRESS_2
. - Haz clic en Listo.
- Haz clic en Guardar para guardar ambas reglas.
gcloud
Sigue los pasos de las siguientes secciones para crear un archivo de reglas, crear una puerta de enlace de Cloud NAT que use las reglas en el archivo de reglas o agregar reglas a una puerta de enlace NAT existente.
Agrega reglas NAT a una puerta de enlace NAT existente
Puedes agregar una regla de NAT nueva con el comando gcloud beta compute routers nats rules create
.
Agrega una regla de 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
Reemplaza lo siguiente:
NAT_RULE_PRIORITY
: Es un número de regla que identifica de forma única la regla de NAT, desde0
(prioridad más alta) hasta65000
(prioridad más baja), por ejemplo,100
.NAT_ROUTER
: El nombre del Cloud Router que usas para la puerta de enlace NATREGION
: Es la región de la puerta de enlace NAT.NAT_CONFIG
: el nombre de la configuración de NATIP_ADDRESS_1
: La dirección IP externa asignada manualmente que deseas usar para los paquetes que coinciden con la regla
Agrega una regla de 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
Reemplaza lo siguiente:
NAT_RULE_PRIORITY
: Es un número de regla que identifica de forma única la regla de NAT, desde0
(prioridad más alta) hasta65000
(prioridad más baja), por ejemplo,200
.NAT_ROUTER
: El nombre del Cloud Router que usas para la puerta de enlace NATREGION
: Es la región de la puerta de enlace NAT.NAT_CONFIG
: el nombre de la configuración de NATIP_ADDRESS_2
: La dirección IP externa asignada manualmente que deseas usar para los paquetes que coinciden con la regla
Crea una puerta de enlace NAT con un archivo de regla NAT
La siguiente muestra de código es un archivo de regla de ejemplo. Puedes modificar este archivo de regla para que se adapte a tu caso de uso o puedes omitir este paso si ya tienes un archivo de regla.
Crea un archivo de regla
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 deseas usar para los paquetes que coinciden con las reglas. Para cada dirección IP, reemplaza lo siguiente:
PROJECT_ID
: Es el proyecto de la dirección IP.REGION
: Es la región en la que se reserva la dirección IP.
Crea una puerta de enlace NAT con un archivo de regla NAT
El siguiente comando crea una puerta de enlace NAT y la configura con reglas de un archivo de reglas NAT. Si ya tienes una puerta de enlace NAT configurada, consulta Agrega reglas NAT a una puerta de enlace NAT existente.
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
Reemplaza lo siguiente:
NAT_CONFIG
: Es el nombre de la configuración de NAT.NAT_ROUTER
: El nombre del Cloud Router que deseas usar para la puerta de enlace de NATREGION
: Es la región en la que deseas crear la puerta de enlace de Cloud NAT.IP_ADDRESS_3
yIP_ADDRESS_4
: Las direcciones IP externas que deseas usar para la regla NAT predeterminadaPATH_TO_NAT_RULE_FILE
: Es la ruta de acceso al archivo de regla de NAT.
Crea reglas basadas en el destino
En los siguientes pasos de configuración de ejemplo, se 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
.
Puedes crear una regla de NAT para cumplir con cada una de estas condiciones.
Console
Agrega reglas NAT a una puerta de enlace NAT existente
Agrega 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 de Cloud NAT.
Haz clic en Editar.
En Direcciones IP de Cloud NAT, selecciona Manuales.
En la sección Reglas de Cloud NAT, haz clic en Agregar una regla.
En el campo Prioridad de regla, ingresa un número del
0
(prioridad más alta) al65000
(prioridad más baja). Por ejemplo,100
.En Coincidir con rangos de IP, selecciona Destino.
En el campo Rangos de IP de destino, ingresa
198.51.100.10
.En la sección Direcciones IP, selecciona la dirección IP que deseas usar para
IP_ADDRESS_1
.Haz clic en Listo.
Agrega 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 Agregar una regla.
- En el campo Prioridad de regla, ingresa un número del
0
(prioridad más alta) al65000
(prioridad más baja). Por ejemplo,200
. - En Coincidir con rangos de IP, selecciona Destino.
- En el campo Rangos de IP de destino, ingresa
198.51.100.20/30
. - En la sección Direcciones IP, selecciona la dirección IP que deseas usar para
IP_ADDRESS_2
. - Haz clic en Agregar dirección IP y selecciona la dirección IP que deseas usar para
IP_ADDRESS_3
. - Haz clic en Listo.
- Haz clic en Guardar para guardar ambas reglas.
gcloud
Sigue los pasos de las siguientes secciones para crear un archivo de reglas, crear una puerta de enlace NAT que use las reglas en el archivo de reglas o agregar reglas a una puerta de enlace NAT existente.
Agrega reglas NAT a una puerta de enlace NAT existente
Puedes agregar una regla de NAT nueva con el comando de reglas de NAT.
Reemplaza NAT_RULE_PRIORITY
por la prioridad de la regla de NAT que deseas asignar a la regla (de 0
, la más alta, a 65000
, la más baja) y reemplaza las otras variables por la información que coincida con tu configuración.
Primero, agrega una regla de NAT que envíe 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, agrega una regla de NAT que envíe 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 ...]
Crea un archivo de regla
La siguiente muestra de código es un archivo de regla de ejemplo. Puedes modificar este archivo de regla para que se adapte a tu caso de uso o puedes omitir este paso si ya tienes un archivo de regla.
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
Crea una puerta de enlace NAT con un archivo de regla NAT
El siguiente comando crea una puerta de enlace NAT y la configura con reglas de un archivo de reglas NAT. Si ya tienes una puerta de enlace NAT configurada, consulta Agrega reglas NAT a una puerta de enlace NAT existente. Reemplaza las variables por 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 ...]
Actualiza las reglas de NAT
Para actualizar tus reglas de NAT, sigue los pasos de las siguientes secciones. Solo puedes usar archivos de reglas con la herramienta de línea de comandos de gcloud
.
Console
- En la Trusted Cloud consola, ve a la página de Cloud NAT.
- Haz clic en tu puerta de enlace de NAT.
- Haz clic en Editar.
- En Reglas personalizadas, haz clic en la regla que quieres actualizar.
- En los campos expandidos, puedes modificar cualquier información que quieras cambiar.
- Haz clic en Listo.
- Haz clic en Guardar.
gcloud
Actualiza con un archivo de regla NAT
Para actualizar una puerta de enlace NAT con tu archivo de reglas NAT, usa el comando gcloud compute routers nats update
.
Reemplaza las variables con 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 ...]
La siguiente muestra de código es un archivo de regla de ejemplo. Ten en cuenta la acción sourceNatDrainIps
, que evita conexiones nuevas al destino mediante IP_ADDRESS1
, pero conserva 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
Actualiza con un comando de regla de NAT
Para actualizar una sola regla NAT, usa el siguiente comando. Reemplaza NAT_RULE_PRIORITY
por el número de prioridad de la regla de NAT y las otras variables por la información que coincida con tu configuración. Ten en cuenta la opción source-nat-drain-ips
, que evita conexiones nuevas al destino mediante IP_ADDRESS3
y IP_ADDRESS4
, pero conserva las conexiones existentes.
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 ...]
Borra reglas de NAT
Console
- En la Trusted Cloud consola, ve a la página de Cloud NAT.
- Haz clic en tu puerta de enlace de NAT.
- Haz clic en Editar.
- En Reglas personalizadas, mantén el puntero sobre la regla que quieres borrar. Haz clic en .
- Haz clic en Guardar.
gcloud
Puedes quitar una regla NAT de una puerta de enlace directamente de la puerta de enlace o del archivo de reglas, y actualizarla.
Borra con un archivo de regla NAT
Puedes quitar una regla NAT del archivo de regla directamente y, luego, actualizar la puerta de enlace NAT. El comando para actualizar tu puerta de enlace de NAT se repite aquí para mayor conveniencia.
Reemplaza las variables con 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 ...]
Borra mediante un comando de regla de NAT
Como alternativa, puedes usar un comando de regla NAT de delete
para quitar una regla NAT de tu puerta de enlace. Reemplaza NAT_RULE_PRIORITY
por el número de prioridad de la regla NAT y las otras 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
Console
Puedes ver información sobre tus reglas de NAT en la página de Cloud NAT.
- En la Trusted Cloud consola, ve a la página de Cloud NAT.
- Haz clic en tu puerta de enlace de NAT.
- Visualiza las reglas de NAT.
Para obtener información adicional sobre una regla NAT individual, sigue estos pasos:
- Haz clic en Editar.
- En el encabezado Reglas personalizadas, selecciona una regla de NAT.
- Consulta la información adicional.
- Haz clic en Cancelar.
gcloud
Para describir una regla de NAT, usa el siguiente comando. Reemplaza NAT_RULE_PRIORITY
por tu número de prioridad de regla NAT y las otras variables por 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 ...]
Enumera todas las reglas de NAT en una puerta de enlace de NAT
Console
Puedes ver tus reglas de NAT en la página de Cloud NAT.
- En la Trusted Cloud consola, ve a la página de Cloud NAT.
- Haz clic en tu puerta de enlace de NAT.
- Visualiza las reglas de NAT.
gcloud
Para enumerar todas las reglas de NAT en una puerta de enlace de NAT, usa el siguiente comando. Esto también muestra todas las direcciones IP de NAT presentes en las reglas de NAT, incluida la regla predeterminada. Reemplaza las variables con información que coincida con tu configuración.
gcloud compute routers nats rules list \ --router=ROUTER_NAME \ --nat=NAT_NAME \ [--region=REGION] [GLOBAL-FLAG ...]