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:

  1. Los paquetes del rango de IP de origen 10.10.1.0/24 deben usar IP_ADDRESS_1.
  2. Los paquetes del rango de IP de origen 10.10.2.0/24 deben usar IP_ADDRESS_2.
  3. 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

  1. Agrega una regla de NAT que coincida con el tráfico de 10.10.1.0/24 y traduzca la IP de origen a IP_ADDRESS_1.

    1. En la Trusted Cloud consola, ve a la página de Cloud NAT.

      Ir a Cloud NAT

    2. Haz clic en tu puerta de enlace de NAT.

    3. Haz clic en Editar.

    4. En Direcciones IP de Cloud NAT, selecciona Manuales.

    5. En la sección Reglas de Cloud NAT, haz clic en Agregar una regla.

    6. En el campo Prioridad de regla, ingresa un número del 0 (prioridad más alta) al 65000 (prioridad más baja). Por ejemplo, 100.

    7. En Coincidir con rangos de IP, selecciona Fuente.

    8. En el campo Rangos de IP de origen, ingresa 10.10.1.0/24.

    9. En la sección Direcciones IP, selecciona la dirección IP que deseas usar para IP_ADDRESS_1.

    10. Haz clic en Listo.

  2. Agrega una regla de NAT que coincida con el tráfico de 10.10.2.0/24 y lo traduzca a IP_ADDRESS_2.

    1. En la sección Reglas de Cloud NAT, haz clic en Agregar una regla.
    2. En el campo Prioridad de regla, ingresa un número del 0 (prioridad más alta) al 65000 (prioridad más baja). Por ejemplo, 200.
    3. En Coincidir con rangos de IP, selecciona Fuente.
    4. En el campo Rangos de IP de origen, ingresa 10.10.2.0/24.
    5. En la sección Direcciones IP, selecciona la dirección IP que deseas usar para IP_ADDRESS_2.
    6. Haz clic en Listo.
    7. 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.

  1. Agrega una regla de NAT que use IP_ADDRESS_1 para el tráfico de 10.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, desde 0 (prioridad más alta) hasta 65000 (prioridad más baja), por ejemplo, 100.
    • NAT_ROUTER: El nombre del Cloud Router que usas para la puerta de enlace NAT
    • REGION: Es la región de la puerta de enlace NAT.
    • NAT_CONFIG: el nombre de la configuración de NAT
    • IP_ADDRESS_1: La dirección IP externa asignada manualmente que deseas usar para los paquetes que coinciden con la regla
  2. Agrega una regla de NAT que use IP_ADDRESS_2 para el tráfico de 10.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, desde 0 (prioridad más alta) hasta 65000 (prioridad más baja), por ejemplo, 200.
    • NAT_ROUTER: El nombre del Cloud Router que usas para la puerta de enlace NAT
    • REGION: Es la región de la puerta de enlace NAT.
    • NAT_CONFIG: el nombre de la configuración de NAT
    • IP_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 NAT
  • REGION: Es la región en la que deseas crear la puerta de enlace de Cloud NAT.
  • IP_ADDRESS_3 y IP_ADDRESS_4: Las direcciones IP externas que deseas usar para la regla NAT predeterminada
  • PATH_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 NAT IP_ADDRESS_1.
  • Los paquetes con la dirección de destino 198.51.100.20/30 deben usar la dirección IP de NAT IP_ADDRESS_2 o IP_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

  1. Agrega una regla de NAT que use IP_ADDRESS_1 para enviar tráfico a 198.51.100.10.

    1. En la Trusted Cloud consola, ve a la página de Cloud NAT.

      Ir a Cloud NAT

    2. Haz clic en Editar.

    3. En Direcciones IP de Cloud NAT, selecciona Manuales.

    4. En la sección Reglas de Cloud NAT, haz clic en Agregar una regla.

    5. En el campo Prioridad de regla, ingresa un número del 0 (prioridad más alta) al 65000 (prioridad más baja). Por ejemplo, 100.

    6. En Coincidir con rangos de IP, selecciona Destino.

    7. En el campo Rangos de IP de destino, ingresa 198.51.100.10.

    8. En la sección Direcciones IP, selecciona la dirección IP que deseas usar para IP_ADDRESS_1.

    9. Haz clic en Listo.

  2. Agrega una regla de NAT que use IP_ADDRESS_2 o IP_ADDRESS_3 para enviar tráfico a 198.51.100.20/30.

    1. En la sección Reglas de Cloud NAT, haz clic en Agregar una regla.
    2. En el campo Prioridad de regla, ingresa un número del 0 (prioridad más alta) al 65000 (prioridad más baja). Por ejemplo, 200.
    3. En Coincidir con rangos de IP, selecciona Destino.
    4. En el campo Rangos de IP de destino, ingresa 198.51.100.20/30.
    5. En la sección Direcciones IP, selecciona la dirección IP que deseas usar para IP_ADDRESS_2.
    6. Haz clic en Agregar dirección IP y selecciona la dirección IP que deseas usar para IP_ADDRESS_3.
    7. Haz clic en Listo.
    8. 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

  1. En la Trusted Cloud consola, ve a la página de Cloud NAT.

    Ir a Cloud NAT

  2. Haz clic en tu puerta de enlace de NAT.
  3. Haz clic en Editar.
  4. En Reglas personalizadas, haz clic en la regla que quieres actualizar.
  5. En los campos expandidos, puedes modificar cualquier información que quieras cambiar.
  6. Haz clic en Listo.
  7. 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

  1. En la Trusted Cloud consola, ve a la página de Cloud NAT.

    Ir a Cloud NAT

  2. Haz clic en tu puerta de enlace de NAT.
  3. Haz clic en Editar.
  4. En Reglas personalizadas, mantén el puntero sobre la regla que quieres borrar. Haz clic en .
  5. 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.

  1. En la Trusted Cloud consola, ve a la página de Cloud NAT.

    Ir a Cloud NAT

  2. Haz clic en tu puerta de enlace de NAT.
  3. Visualiza las reglas de NAT.

Para obtener información adicional sobre una regla NAT individual, sigue estos pasos:

  1. Haz clic en Editar.
  2. En el encabezado Reglas personalizadas, selecciona una regla de NAT.
  3. Consulta la información adicional.
  4. 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.

  1. En la Trusted Cloud consola, ve a la página de Cloud NAT.

    Ir a Cloud NAT

  2. Haz clic en tu puerta de enlace de NAT.
  3. 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 ...]