Configura la integración fuera de banda para un modelo de productor-consumidor

La integración de la seguridad de red usa el modelo de productor-consumidor para inspeccionar y supervisar los datos. Utiliza la integración fuera de banda con tecnología de duplicación de paquetes para duplicar el tráfico de red con dispositivos virtuales administrados por el usuario.

En este instructivo, se describe cómo crear y configurar recursos de productor y consumidor para establecer la integración fuera de banda.

Objetivos

En este instructivo, se muestra cómo completar las siguientes tareas en un proyecto:

  1. Crea redes de nube privada virtual (VPC) personalizadas con subredes para el productor y el consumidor en el mismo proyecto.
  2. Para el productor, crea y configura recursos de productor y recursos de implementación de duplicación. Un ejemplo de recursos del productor es un balanceador de cargas de red de transferencia interno.
  3. Para el consumidor, crea y configura instancias de máquina virtual (VM) de cliente y servidor, recursos de extremos de duplicación y políticas de firewall para duplicar el tráfico cliente-servidor.
  4. Prueba la conexión y verifica que los paquetes de tráfico de red de las VMs de consumidor se dupliquen en los recursos de duplicación del productor.

En el siguiente diagrama, se muestra el flujo de tráfico entre las redes de VPC del productor y del consumidor.

Arquitectura de implementación de alto nivel de los componentes de productor y consumidor en un solo proyecto.
Figura 1. Arquitectura de implementación de alto nivel de los componentes del productor y del consumidor en un solo proyecto (haz clic para ampliar).

En el diagrama anterior, se muestra lo siguiente:

  • Tráfico de red que fluye desde la red del consumidor a la red del productor a través de un grupo de extremos de duplicación.
  • La red del productor incluye una instancia de VM, un balanceador de cargas de red de transferencia interno y una implementación de duplicación.
  • El grupo de implementación de duplicación de la red del productor incluye la implementación de duplicación zonal.
  • La red de consumidores incluye instancias de VM del cliente y del servidor. Las reglas y políticas de firewall dentro de la red del consumidor administran el flujo de tráfico, y un grupo de perfiles de seguridad está asociado con la política de firewall.
  • La red del consumidor está vinculada a una asociación del grupo de extremos de duplicación, que conecta la red del consumidor al grupo de extremos de duplicación.

Antes de comenzar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Habilita la API de Compute Engine para tu proyecto.
  7. Habilita la API de Network Security en el Google Cloud proyecto que deseas usar para la facturación.
  8. Asegúrate de tener el rol de administrador de red de Compute (roles/compute.networkAdmin) otorgado a nivel del proyecto y el rol de administrador de perfiles de seguridad (roles/networksecurity.securityProfileAdmin) otorgado a nivel de la organización.
  9. Si prefieres trabajar desde la línea de comandos, instala Google Cloud CLI. Para obtener información conceptual y de instalación sobre la herramienta, consulta Descripción general de gcloud CLI.

    Nota: Si no ejecutaste Google Cloud CLI antes, primero ejecuta gcloud init para inicializar el directorio de gcloud CLI.

  10. Obtén el ID de tu proyecto. Lo necesitas para crear recursos de duplicación y de extremo. Si usas gcloud CLI, puedes reemplazar el PROJECT_ID aquí o más adelante en los comandos respectivos.
  11. Obtén el ID de tu organización. Lo necesitas para crear recursos a nivel de la organización, como perfiles de seguridad y grupos de perfiles de seguridad. Si usas gcloud CLI, puedes reemplazar ORG_ID aquí o más adelante en los comandos respectivos.

Crea recursos de productores

En esta sección, crearás los siguientes recursos para el productor:

  • Una red de VPC personalizada con una subred
  • Un grupo de instancias no administrado con una instancia de VM que registra los paquetes entrantes de encapsulación de virtualización de red genérica (GENEVE).
  • Un balanceador de cargas de red de transferencia interno con un servicio de backend y una regla de reenvío.
  • Una regla de firewall para permitir las Google Cloud verificaciones de estado.
  • Un grupo de implementación de duplicación y una implementación de duplicación

Crea una red de VPC personalizada

En esta sección, crearás una red de VPC con una subred.

Console

  1. En la consola de Google Cloud , ve a la página Redes de VPC.

    Ir a las redes de VPC

  2. Haz clic en Crear red de VPC.

  3. En Nombre, ingresa producer-network.

  4. En Descripción, ingresa Producer VPC network.

  5. En la sección Subredes, haz lo siguiente:

    1. En Modo de creación de subred, selecciona Personalizado.
    2. En la sección Nueva subred, ingresa la siguiente información:
      • Nombre: producer-subnet
      • Región: us-west1
      • Tipo de pila IP: IPv4 (pila única)
      • Rango IPv4: 10.10.0.0/16
    3. Haz clic en Listo.
  6. Haz clic en Crear.

  7. Abre la gcloud CLI y ejecuta el siguiente comando para aumentar la unidad de transmisión máxima (MTU) de la red de la consola Google Cloud .

    gcloud compute networks update producer-network \
        --mtu=1856
    

    En el comando, especifica una MTU de 1,856 bytes, que es la suma de la MTU predeterminada de una red de la consola Google Cloud (1,460 bytes) y la sobrecarga de encapsulación GENEVE de la integración de seguridad de redes (396 bytes).

gcloud

  1. Crear una red de VPC.

    gcloud compute networks create producer-network \
        --subnet-mode=custom \
        --mtu=1856 \
        --description="Producer VPC network"
    

    En el comando, especifica una MTU de 1,856 bytes, que es la suma de la MTU predeterminada de una red de la consola Google Cloud (1,460 bytes) y la sobrecarga de encapsulación GENEVE de la integración de seguridad de redes (396 bytes).

  2. En la red de VPC, crea una subred.

    gcloud compute networks subnets create producer-subnet \
        --network=producer-network \
        --region=us-west1 \
        --range=10.10.0.0/16
    

Crea un grupo de instancias no administrado

En esta sección, crearás un grupo de instancias no administrado.

Console

  1. En la consola de Google Cloud , ve a la página Grupos de instancias.

    Ir a Grupos de instancias

  2. Haz clic en Crear grupo de instancias.

  3. Haz clic en Crear un nuevo grupo de instancias no administrado.

  4. En Nombre, ingresa producer-instance-group.

  5. En la sección Ubicación, selecciona us-west1 para Región y us-west1-b para Zona.

  6. En la sección Redes y VM, haz lo siguiente:

    1. En Red, selecciona producer-network.
    2. En Subred, selecciona producer-subnet.
  7. Haz clic en Crear.

gcloud

gcloud compute instance-groups unmanaged create producer-instance-group \
    --zone=us-west1-b

Configura los componentes del balanceador de cargas

En esta sección, crearás los componentes de un balanceador de cargas de red de transferencia interno, incluidos un servicio de backend y una regla de reenvío.

Console

Inicia tu configuración

  1. En la consola de Google Cloud , ve a la página Balanceo de cargas.

    Ir a Balanceo de cargas

  2. Haz clic en Crear balanceador de cargas.
  3. En Tipo de balanceador de cargas, selecciona Balanceador de cargas de red (TCP/UDP/SSL) y haz clic en Siguiente.
  4. En Proxy o de transferencia, selecciona Balanceador de cargas de transferencia y haz clic en Siguiente.
  5. En Orientado al público o interno, selecciona Interno y haz clic en Siguiente.
  6. Haz clic en Configurar.

Configuración básica

En la página Crear un balanceador de cargas de red de transferencia interna, ingresa la siguiente información:

  • Nombre del balanceador de cargas: producer-ilb
  • Región: us-west1
  • Red: producer-network

Configura los backends

  1. Haz clic en Configuración de backend.
  2. En Protocolo, selecciona UDP.
  3. En la lista Verificación de estado, selecciona Crear una verificación de estado, ingresa la siguiente información y haz clic en Crear.
    • Nombre: producer-health-check.
    • Permiso: Regional
    • Puerto: 80
    • Protocolo de proxy: NONE
  4. En la sección Backend nuevo de Backends, en Tipo de pila de IP, elige IPv4 (pila única).
  5. En Grupo de instancias, selecciona el grupo de instancias producer-instance-group y haz clic en Listo.

  6. Verifica que haya una marca de verificación azul junto a Configuración de backend antes de continuar.

Configura el frontend

  1. En la sección IP y puerto de frontend nuevos, ingresa la siguiente información y haz clic en Listo:
    1. En Nombre, ingresa producer-ilb-fr.
    2. En Subred, selecciona producer-subnet.
    3. En Puertos, selecciona Único y, luego, en Número de puerto, ingresa 6081.
    4. En la sección Configuración avanzada, en Duplicación de paquetes, selecciona Habilitar este balanceador de cargas para la duplicación de paquetes.
    5. Verifica que haya una marca de verificación azul junto a Configuración de frontend antes de continuar.

Revisa la configuración

  1. Haz clic en Revisar y finalizar.
  2. Revisa la configuración del balanceador de cargas.
  3. Haz clic en Crear.

gcloud

  1. Creación de una verificación de estado regional.

    gcloud compute health-checks create tcp producer-health-check \
        --region=us-west1 \
        --port=80
    
  2. Crea el servicio de backend.

    gcloud compute backend-services create producer-backend-service \
        --protocol=UDP \
        --region=us-west1 \
        --health-checks=producer-health-check \
        --health-checks-region=us-west1 \
        --load-balancing-scheme=INTERNAL
    
  3. Crea una regla de reenvío para el servicio de backend.

    gcloud compute forwarding-rules create producer-ilb-fr \
        --backend-service=producer-backend-service \
        --region=us-west1 \
        --network=producer-network \
        --subnet=producer-subnet \
        --ip-protocol=UDP \
        --load-balancing-scheme=INTERNAL \
        --is-mirroring-collector \
        --ports=6081
    

Crea una instancia de VM y agrégala al grupo de instancias

En esta sección, crearás una instancia de VM con una secuencia de comandos de inicio que configura un servidor de registro para los paquetes encapsulados de GENEVE. Antes de crear la instancia de VM, obtén la dirección IP de la puerta de enlace de la subred. Necesitas la dirección IP de la secuencia de comandos de inicio.

Console

Obtén la dirección IP de la puerta de enlace de la subred

  1. En la consola de Google Cloud , ve a la página Redes de VPC.

    Ir a las redes de VPC

  2. Haz clic en la red de VPC producer-network.

  3. Haz clic en la pestaña Subredes.

  4. En la sección Subredes, anota la dirección IP de la puerta de enlace de la columna Puerta de enlace.

Crea la instancia de VM

  1. En la consola de Google Cloud , ve a la página Instancias de VM.

    Ir a la instancia de VM

    1. Haz clic en Crear instancia.
    2. En Nombre, ingresa producer-instance.
    3. En Región, selecciona us-west1.
    4. En Zona, selecciona us-west1-b.
    5. Establece el tipo de máquina en e2-micro.
    6. Haz clic en Herramientas de redes y, luego, en la sección Interfaces de red, haz clic en Agregar una interfaz de red y configura lo siguiente:
      • Red: producer-network
      • Subred: producer-subnet
      • Dirección IPv4 externa: ninguna
    7. Haz clic en Avanzado y, luego, ingresa la siguiente secuencia de comandos en Secuencia de comandos de inicio:

      #!/bin/bash
      # Log incoming packets from the gateway IP and the GENEVE 6081 port.
      iptables -A INPUT -p udp -s '"$GW_IP"'/32 --dport 6081 -j LOG --log-prefix "[NSI MIRRORING] "
      
      # Spin up a simple server for health checks on port 80.
      nohup python3 -u -m http.server 80 &
      

      Reemplaza lo siguiente:

      • GW_IP: Es la dirección IP de la puerta de enlace de la subred.
    8. Haz clic en Crear.

Agrega la instancia de VM al grupo de instancias

  1. En la consola de Google Cloud , ve a la página Grupos de instancias.

    Ir a Grupos de instancias

  2. Haz clic en producer-instance-group.

  3. Haz clic en Editar.

  4. En la sección Instancias de VM, en la lista Seleccionar VMs, selecciona la VM producer-instance.

  5. Haz clic en Guardar.

gcloud

  1. Obtén la dirección IP de la puerta de enlace de la subred.

    GW_IP=$(gcloud compute networks subnets describe producer-subnet \
        --region=us-west1 \
        --format="get(gatewayAddress)")
    
  2. Cree una instancia de VM:

    gcloud compute instances create producer-instance \
        --image-project=debian-cloud \
        --image-family=debian-11 \
        --machine-type=e2-micro \
        --zone=us-west1-b \
        --network-interface="subnet=producer-subnet,no-address" \
        --metadata=startup-script='#!/bin/bash
         # Log incoming packets from the gateway IP and the GENEVE 6081 port.
         iptables -A INPUT -p udp -s '"$GW_IP"'/32 --dport 6081 -j LOG --log-prefix "[NSI MIRRORING] "
    
         # Spin up a simple server for health checks on port 80.
         nohup python3 -u -m http.server 80 &'
    
    
  3. Agrega la instancia de VM al grupo de instancias.

    gcloud compute instance-groups unmanaged add-instances producer-instance-group \
        --instances=producer-instance \
        --zone=us-west1-b
    
  4. Agrega el grupo de instancias al servicio de backend.

    gcloud compute backend-services add-backend producer-backend-service \
        --region=us-west1 \
        --instance-group=producer-instance-group \
        --instance-group-zone=us-west1-b
    

Crea una política de firewall y agrega reglas de firewall

En esta sección, crearás una política de firewall y agregarás reglas de firewall para permitir el tráfico UDP, Google Cloud las verificaciones de estado y las conexiones SSH a la instancia de VM del productor a través de Identity-Aware Proxy (IAP).

Console

  1. En la consola de Google Cloud , ve a la página Políticas de firewall.

    Ir a Políticas de firewall

  2. Haz clic en Crear política de firewall.

  3. En el campo Nombre, ingresa producer-firewall-policy.

  4. En Permiso de la implementación, selecciona Global y haz clic en Continuar.

  5. Crea las siguientes reglas para tu política.

    Permite el tráfico UDP con el puerto GENEVE desde la dirección IP de la puerta de enlace de la VPC

    1. Haz clic en Crear regla de firewall y configura los siguientes campos:
      • Prioridad: 100
      • Dirección del tráfico: Entrada
      • Acción en caso de coincidencia: Permitir
      • Filtros de origen > Rangos de IP: GATEWAY_IP
      • Protocolos y puertos: Selecciona Protocolos y puertos especificados, elige la casilla de verificación UDP y, luego, en Puertos, especifica 6081.
    2. Haz clic en Crear.

    Reemplaza GATEWAY_IP por la dirección IP de la puerta de enlace de la subred.

    Permitir Google Cloud verificaciones de estado

    1. Haz clic en Crear regla de firewall y configura los siguientes campos:

      • Prioridad: 101
      • Dirección del tráfico: Entrada
      • Acción en caso de coincidencia: Permitir
      • Rangos de IP: 35.191.0.0/16 y 130.211.0.0/22
      • Protocolos y puertos: Selecciona Protocolos y puertos especificados, elige la casilla de verificación TCP y, luego, en Puertos, especifica 80.
    2. Haz clic en Crear.

    Permite la conexión SSH a la instancia de VM del productor a través de Identity-Aware Proxy

    1. Haz clic en Crear regla de firewall y configura los siguientes campos:
      • Prioridad: 102
      • Dirección del tráfico: Entrada
      • Acción en caso de coincidencia: Permitir
      • Rangos de IP: 35.235.240.0/20
      • Protocolos y puertos: Selecciona Protocolos y puertos especificados, elige la casilla de verificación TCP y, luego, en Puertos, especifica 22.
    2. Haz clic en Crear.
  6. Para asociar la política a una red, haz clic en Continuar y, luego, en Asociar.

  7. Selecciona la casilla de verificación producer-network.

  8. Haz clic en Continuar.

  9. Haz clic en Crear.

gcloud

  1. Crea una política de firewall de red global.

    gcloud compute network-firewall-policies create producer-firewall-policy \
        --global
    
  2. Asocia la política de firewall con la red de productor.

    gcloud compute network-firewall-policies associations create \
        --name=producer-firewall-policy-assoc \
        --firewall-policy=producer-firewall-policy \
        --global-firewall-policy \
        --network=producer-network
    
  3. Crea una regla de firewall para permitir la conexión UDP con el puerto GENEVE desde la dirección IP de la puerta de enlace de la VPC.

    gcloud compute network-firewall-policies rules create 100 \
        --firewall-policy=producer-firewall-policy \
        --global-firewall-policy \
        --action=allow \
        --direction=INGRESS \
        --layer4-configs=udp:6081 \
        --src-ip-ranges=$GW_IP/32
    
  4. Crea una regla de firewall para permitir las verificaciones de estado de Google Cloud .

    gcloud compute network-firewall-policies rules create 101 \
        --firewall-policy=producer-firewall-policy \
        --global-firewall-policy \
        --action=allow \
        --direction=INGRESS \
        --layer4-configs=tcp:80 \
        --src-ip-ranges=35.191.0.0/16,130.211.0.0/22 # Google Cloud health check ranges
    
  5. Crea una regla de firewall para permitir la conexión SSH a la instancia de VM del productor a través de Identity-Aware Proxy.

    gcloud compute network-firewall-policies rules create 102 \
        --firewall-policy=producer-firewall-policy \
        --global-firewall-policy \
        --action=allow \
        --direction=INGRESS \
        --layer4-configs=tcp:22 \
        --src-ip-ranges=35.235.240.0/20 # Google Cloud IAP range
    

Crea recursos de duplicación de productores

En esta sección, crearás un grupo de implementaciones de duplicación y una implementación de duplicación.

Console

  1. En la consola de Google Cloud , ve a la página Grupos de implementación.

    Ir a Deployment implementación

  2. Haz clic en Crear grupo de implementación.

  3. En Nombre, ingresa producer-deployment-group.

  4. En Red, selecciona producer-network.

  5. En Propósito, selecciona NSI fuera de banda.

  6. En la sección Duplicación de implementaciones, haz clic en Crear implementación de duplicación, especifica los siguientes campos y, luego, haz clic en Crear:

    • Nombre: producer-deployment.
    • Región: us-west1.
    • Zona: us-west1-b.
    • Balanceador de cargas interno: producer-ilb.
  7. Haz clic en Crear.

gcloud

  1. Crea un grupo de implementación de duplicación.

    gcloud network-security mirroring-deployment-groups create producer-deployment-group \
        --location=global \
        --network=projects/PROJECT_ID/global/networks/producer-network \
        --no-async
    

    Reemplaza PROJECT_ID por el ID de tu proyecto.

  2. Crea una implementación de duplicación.

    gcloud network-security mirroring-deployments create producer-deployment \
        --location=us-west1-b \
        --forwarding-rule=producer-ilb-fr \
        --forwarding-rule-location=us-west1 \
        --mirroring-deployment-group=projects/PROJECT_ID/locations/global/mirroringDeploymentGroups/producer-deployment-group \
        --no-async
    

Crea recursos para el consumidor

En esta sección, crearás los siguientes recursos para el consumidor:

  • Una red de VPC personalizada con una subred
  • Una VM de servidor y una de cliente
  • Una política de firewall y una regla para duplicar el tráfico
  • Un grupo de extremos de duplicación y una asociación del grupo de extremos de duplicación
  • Un perfil de seguridad y un grupo de perfiles de seguridad

Crea una red de VPC personalizada

En esta sección, crearás una red de VPC con una subred.

Console

  1. En la consola de Google Cloud , ve a la página Redes de VPC.

    Ir a las redes de VPC

  2. Haz clic en Crear red de VPC.

  3. En Nombre, ingresa consumer-network.

  4. En Descripción, ingresa Consumer VPC network.

  5. En la sección Subredes, haz lo siguiente:

    1. En Modo de creación de subred, selecciona Personalizado.
    2. En la sección Nueva subred, ingresa la siguiente información:
      • Nombre: consumer-subnet
      • Región: us-west1
      • Tipo de pila IP: IPv4 (pila única)
      • Rango IPv4: 10.11.0.0/16
    3. Haz clic en Listo.
  6. Haz clic en Crear.

gcloud

  1. Crea una red de VPC del consumidor.

    gcloud compute networks create consumer-network \
        --subnet-mode=custom \
        --description="Consumer VPC network"
    
  2. En la red de VPC, crea una subred.

    gcloud compute networks subnets create consumer-subnet \
        --network=consumer-network \
        --region=us-west1 \
        --range=10.11.0.0/16
    

Crea VMs de cliente y servidor

En esta sección, crearás una VM del servidor y una del cliente.

Console

Crear una VM de servidor

  1. En la consola de Google Cloud , ve a la página Instancias de VM.

    Ir a la instancia de VM

  2. Haz clic en Crear instancia.

  3. Establece el Nombre como consumer-server-vm.

  4. Establece la Región en us-west1.

  5. Establece la Zona en us-west1-b.

  6. Establece el tipo de máquina en e2-micro.

  7. Haz clic en Herramientas de redes y, luego, en la sección Interfaces de red, haz clic en Agregar una interfaz de red y configura lo siguiente:

    • Red: consumer-network
    • Subred: consumer-subnet
    • Dirección IPv4 externa: ninguna
  8. Haz clic en Avanzado y, luego, ingresa la siguiente secuencia de comandos en Secuencia de comandos de inicio:

    echo success > /tmp/connection_test && nohup python3 -u -m http.server --directory /tmp 8000 &
    

  9. Haz clic en Crear.

Crear una VM de cliente

  1. En la consola de Google Cloud , ve a la página Instancias de VM.

    Ir a la instancia de VM

  2. Haz clic en Crear instancia.

  3. Establece el Nombre como consumer-client-vm.

  4. Establece la Región en us-west1.

  5. Establece la Zona en us-west1-b.

  6. Establece el tipo de máquina en e2-micro.

  7. Haz clic en Herramientas de redes y, luego, en la sección Interfaces de red, haz clic en Agregar una interfaz de red y configura lo siguiente:

    • Red: consumer-network
    • Subred: consumer-subnet
    • Dirección IPv4 externa: ninguna
  8. Haz clic en Crear.

gcloud

  1. Crear la VM del servidor

    gcloud compute instances create consumer-server-vm \
        --image-project=debian-cloud \
        --image-family=debian-11 \
        --machine-type=e2-micro \
        --zone=us-west1-b \
        --network-interface="subnet=consumer-subnet,no-address" \
        --metadata=startup-script="echo success > /tmp/connection_test && nohup python3 -u -m http.server --directory /tmp 8000 &"
    
  2. Crear la VM del cliente

    gcloud compute instances create consumer-client-vm \
        --image-project=debian-cloud \
        --image-family=debian-11 \
        --machine-type=e2-micro \
        --zone=us-west1-b \
        --network-interface="subnet=consumer-subnet,no-address"
    

Crea una política de firewall para permitir el tráfico de entrada

En esta sección, crearás una política de firewall y agregarás una regla de firewall para permitir el tráfico de entrada a las VMs del consumidor.

Console

  1. En la consola de Google Cloud , ve a la página Políticas de firewall.

    Ir a Políticas de firewall

  2. Haz clic en Crear política de firewall.

  3. En el campo Nombre, ingresa consumer-firewall-policy.

  4. En Permiso de la implementación, selecciona Global y haz clic en Continuar.

  5. Haz clic en Crear regla de firewall, configura los siguientes campos y haz clic en Crear:

    • Prioridad: 101
    • Dirección del tráfico: Entrada
    • Acción en caso de coincidencia: Permitir
    • Filtros de origen > Rangos de IP: 35.235.240.0/20
    • Protocolos y puertos: Selecciona Protocolos y puertos especificados, elige la casilla de verificación TCP y, luego, en Puertos, especifica 22.

    El rango de IPv4 35.235.240.0/20 contiene todas las direcciones IP que Identity-Aware Proxy usa para el reenvío de TCP. Para obtener más información, consulta Prepara el proyecto para el reenvío IAP de TCP.

  6. Para permitir el tráfico en el puerto TCP 8000 en la VM del servidor, haz clic en Crear regla de firewall y configura los siguientes campos:

    • Prioridad: 102
    • Dirección del tráfico: Entrada
    • Acción en caso de coincidencia: Permitir
    • Filtros de origen > Rangos de IP: 10.11.0.0/16
    • Protocolos y puertos: Selecciona Protocolos y puertos especificados, elige la casilla de verificación TCP y, luego, en Puertos, especifica 8000.
    • Haz clic en Create.
  7. Para asociar la política a una red, haz clic en Continuar y, luego, en Asociar.

  8. Selecciona la casilla de verificación consumer-network.

  9. Haz clic en Continuar.

  10. Haz clic en Crear.

gcloud

  1. Crea una política de firewall de red global.

    gcloud compute network-firewall-policies create consumer-firewall-policy \
        --global
    
  2. Asocia la política de firewall con la red de consumidor.

    gcloud compute network-firewall-policies associations create \
        --name=consumer-firewall-policy-assoc \
        --firewall-policy=consumer-firewall-policy \
        --global-firewall-policy \
        --network=consumer-network
    
  3. Crea una regla de permiso de SSH para permitir la conexión SSH a la instancia de VM del cliente a través de Identity-Aware Proxy.

    gcloud compute network-firewall-policies rules create 101 \
        --firewall-policy=consumer-firewall-policy \
        --global-firewall-policy \
        --action=allow \
        --direction=INGRESS \
        --layer4-configs=tcp:22 \
        --src-ip-ranges=35.235.240.0/20 # Google Cloud IAP range
    

    El rango de IPv4 35.235.240.0/20 contiene todas las direcciones IP que IAP usa para el reenvío de TCP. Para obtener más información, consulta Prepara el proyecto para el reenvío IAP de TCP.

  4. Crea una regla de firewall para permitir el tráfico en el puerto TCP 8000 en la VM del servidor.

    gcloud compute network-firewall-policies rules create 102 \
        --firewall-policy=consumer-firewall-policy \
        --global-firewall-policy \
        --action=allow \
        --direction=INGRESS \
        --layer4-configs=tcp:8000 \
        --src-ip-ranges=10.11.0.0/16
    

Crea un grupo de extremos del consumidor

En esta sección, crearás un grupo de extremos de duplicación y una asociación del grupo de extremos de duplicación.

Console

  1. En la consola de Google Cloud , ve a la página Grupos de extremos.

    Ir a Grupos de extremos

  2. Haz clic en Crear grupo de extremos.

  3. En Nombre, ingresa consumer-endpoint-group.

  4. En Propósito, selecciona NSI fuera de banda.

  5. En Grupo de implementación, selecciona En el proyecto.

  6. En Nombre del grupo de implementación, ingresa producer-deployment-group.

  7. Haz clic en Continuar.

  8. Haz clic en Agregar asociación del grupo de extremos.

  9. En Proyecto, selecciona tu proyecto actual.

  10. En Red, selecciona consumer-network.

  11. Haz clic en Crear.

gcloud

  1. Crea el grupo de extremos de duplicación.

    gcloud network-security mirroring-endpoint-groups create consumer-endpoint-group \
        --location=global \
        --mirroring-deployment-group=projects/PROJECT_ID/locations/global/mirroringDeploymentGroups/producer-deployment-group \
        --no-async
    

    Reemplaza PROJECT_ID por el ID de tu proyecto.

  2. Crea la asociación del grupo de extremos de duplicación.

    gcloud network-security mirroring-endpoint-group-associations create consumer-endpoint-group-association \
        --location=global \
        --mirroring-endpoint-group=projects/PROJECT_ID/locations/global/mirroringEndpointGroups/consumer-endpoint-group \
        --network=consumer-network \
        --no-async
    

Crea un perfil de seguridad y un grupo de perfiles de seguridad

Crea un grupo de perfiles de seguridad y un perfil de seguridad personalizado para duplicar el tráfico.

Console

Crea un perfil de seguridad personalizado

  1. En la consola de Google Cloud , ve a la página Perfiles de seguridad.

    Ir a Perfiles de seguridad

  2. En el selector de organización, selecciona tu organización.

  3. En la pestaña Perfiles de seguridad, haz clic en Crear perfil.

  4. En Nombre, ingresa consumer-security-profile.

  5. En Propósito, selecciona NSI fuera de banda.

  6. En Proyecto, selecciona tu proyecto actual.

  7. En Grupo de extremos, selecciona consumer-endpoint-group.

  8. Haz clic en Crear.

Crear un grupo de perfil de seguridad

  1. En la consola de Google Cloud , ve a la página Grupos de perfiles de seguridad.

    Ir a Grupos de perfiles de seguridad

  2. En el selector de organización, selecciona tu organización.

  3. En la pestaña Grupos de perfiles de seguridad, haz clic en Crear grupo de perfiles.

  4. En Nombre, ingresa consumer-security-profile-group.

  5. En Propósito, selecciona NSI fuera de banda.

  6. En Perfil de duplicación personalizado, selecciona consumer-security-profile.

  7. Haz clic en Crear.

gcloud

  1. Crea un perfil de seguridad de duplicación personalizado.

    gcloud network-security security-profiles custom-mirroring create consumer-security-profile \
        --location=global \
        --organization=ORG_ID \
        --mirroring-endpoint-group=projects/PROJECT_ID/locations/global/mirroringEndpointGroups/consumer-endpoint-group \
        --billing-project=PROJECT_ID \
        --no-async
    

    Reemplaza lo siguiente:

    • ORG_ID: el ID de tu organización. Los perfiles de seguridad son recursos a nivel de la organización. Para crearlos, necesitas el rol de administrador de perfiles de seguridad (networksecurity.securityProfileAdmin) a nivel de la organización.
    • PROJECT_ID: el ID de tu proyecto.
  2. Crea un grupo de perfiles de seguridad de duplicación.

    gcloud network-security security-profile-groups create consumer-security-profile-group \
        --location=global \
        --organization=ORG_ID \
        --custom-mirroring-profile=organizations/ORG_ID/locations/global/securityProfiles/consumer-security-profile \
        --billing-project=PROJECT_ID \
        --no-async
    

    Reemplaza lo siguiente:

    • ORG_ID: el ID de tu organización. Los grupos de perfiles de seguridad son recursos a nivel de la organización. Para crearlos, necesitas el rol de administrador de perfiles de seguridad (networksecurity.securityProfileAdmin) a nivel de la organización.
    • PROJECT_ID: el ID de tu proyecto.

Crea una regla de política de firewall para duplicar el tráfico

En esta sección, crearás una regla de duplicación para duplicar el tráfico.

Console

  1. En la consola de Google Cloud , ve a la página Políticas de firewall.

    Ir a Políticas de firewall

  2. Haz clic en consumer-firewall-policy.

  3. Haz clic en la pestaña Reglas de duplicación.

  4. Haz clic en Crear regla de duplicación y configura los siguientes campos:

    • Prioridad: 100
    • Dirección del tráfico: Entrada
    • Acción en caso de coincidencia: Duplicar
    • Grupo de perfiles de seguridad: consumer-security-profile-group
    • Fuente: IPv4
    • Rangos de IP: 10.11.0.0/16
    • Protocolos y puertos: Selecciona Protocolos y puertos especificados, elige la casilla de verificación TCP y, luego, en Puertos, especifica 8000.
  5. Haz clic en Crear.

gcloud

  1. Agrega una regla de firewall para duplicar el tráfico en el puerto TCP 8000 en la VM del servidor.

    gcloud compute network-firewall-policies mirroring-rules create 100 \
        --firewall-policy=consumer-firewall-policy \
        --global-firewall-policy \
        --action=mirror \
        --security-profile-group=organizations/ORG_ID/locations/global/securityProfileGroups/consumer-security-profile-group \
        --direction=INGRESS \
        --layer4-configs=tcp:8000 \
        --src-ip-ranges=10.11.0.0/16
    

    Reemplaza ORG_ID por el ID de tu organización.

Prueba la conexión

En esta sección, enviarás tráfico de red desde la instancia de VM del cliente consumidor a la instancia de VM del servidor consumidor y, luego, verificarás los registros de la instancia de VM del productor para verificar la duplicación.

  1. Ejecuta el siguiente comando para conectarte a la instancia de VM del cliente consumidor a través de SSH y enviar una solicitud a la instancia de VM del servidor consumidor.

    gcloud compute ssh consumer-client-vm \
        --tunnel-through-iap \
        --zone=us-west1-b \
        --command="curl -m 3 -s http://consumer-server-vm:8000/connection_test || echo fail"
    

    Verás el mensaje success cuando ejecutes el comando anterior. Indica que el tráfico se envía del cliente al servidor.

  2. Ejecuta el siguiente comando para verificar los registros de la instancia de VM de productor.

    gcloud compute ssh producer-instance \
        --tunnel-through-iap \
        --zone=us-west1-b \
        --command="cat /var/log/syslog | grep 'NSI MIRRORING'"
    

    Verás un mensaje similar a [NSI MIRRORING] IN=ens4 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=10.10.0.1 DST=10.10.0.2 LEN=136 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=45554 DPT=6081 LEN=116. Indica que la instancia de VM del productor duplica el tráfico cliente-servidor.

Realiza una limpieza

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.

Borra los recursos de consumidor

  1. Desasocia la política de firewall de la red de consumidor y borra la política de firewall.

    Console

    1. En la consola de Google Cloud , ve a la página Políticas de firewall.

      Ir a Políticas de firewall

    2. Haz clic en la política consumer-firewall-policy.

    3. Haz clic en la pestaña Asociaciones.

    4. Selecciona la casilla de verificación de la asociación consumer-network.

    5. Haz clic en Quitar asociación.

    6. Haz clic en Quitar.

    7. En la parte superior de la página, haz clic en Borrar.

    8. Haga clic en Borrar nuevamente para confirmar.

    gcloud

    1. Quita la asociación.

      gcloud compute network-firewall-policies associations delete \
          --name=consumer-firewall-policy-assoc \
          --firewall-policy=consumer-firewall-policy \
          --global-firewall-policy
      
    2. Borra la política de firewall.

      gcloud compute network-firewall-policies delete consumer-firewall-policy \
          --global
      
  2. Borra el grupo de perfiles de seguridad.

    Console

    1. En la consola de Google Cloud , ve a la página Perfiles de seguridad.

      Ir a Perfiles de seguridad

    2. En el selector de organización, selecciona tu organización.

    3. En la pestaña Grupos de perfiles de seguridad, selecciona el grupo de perfiles de seguridad consumer-security-profile-group y, luego, haz clic en Borrar.

    4. Haga clic en Borrar nuevamente para confirmar.

    gcloud

    gcloud network-security security-profile-groups delete consumer-security-profile-group \
        --location=global \
        --organization=ORG_ID \
        --billing-project=PROJECT_ID \
        --quiet
    

    Reemplaza lo siguiente:

    • ORG_ID: Es el ID de tu organización.
    • PROJECT_ID: Es el ID del proyecto.
  3. Borra el perfil de seguridad.

    Console

    1. En la consola de Google Cloud , ve a la página Perfiles de seguridad.

      Ir a Perfiles de seguridad

    2. En el selector de organización, selecciona tu organización.

    3. En la pestaña Perfiles de seguridad, selecciona el perfil de seguridad consumer-security-profile y, luego, haz clic en Borrar.

    4. Haga clic en Borrar nuevamente para confirmar.

    gcloud

    gcloud network-security security-profiles custom-mirroring delete consumer-security-profile \
        --location=global \
        --organization=ORG_ID \
        --billing-project=PROJECT_ID \
        --quiet
    
  4. Borra la asociación del grupo de extremos de duplicación.

    Console

    1. En la consola de Google Cloud , ve a la página Grupos de extremos.

      Ir a Grupos de extremos

    2. Haz clic en consumer-endpoint-group.

    3. Selecciona la asociación consumer-network y haz clic en Borrar.

    4. Haga clic en Borrar nuevamente para confirmar.

    gcloud

    gcloud network-security mirroring-endpoint-group-associations delete consumer-endpoint-group-association \
        --location=global \
        --no-async
    
  5. Borra el grupo de extremos de duplicación.

    Console

    1. En la consola de Google Cloud , ve a la página Grupos de extremos.

      Ir a Grupos de extremos

    2. Selecciona consumer-endpoint-group y haz clic en Borrar.

    3. Haga clic en Borrar nuevamente para confirmar.

    gcloud

    gcloud network-security mirroring-endpoint-groups delete consumer-endpoint-group \
        --location=global \
        --no-async
    
  6. Borra las VMs de cliente y servidor.

    Console

    1. En la consola de Google Cloud , ve a la página Instancias de VM.

      Ir a la instancia de VM

    2. Selecciona las casillas de verificación de consumer-client-vm y consumer-server-vm, y haz clic en Borrar.

    3. Haga clic en Borrar nuevamente para confirmar.

    gcloud

    1. Borra la VM del cliente.

      gcloud compute instances delete consumer-client-vm \
          --zone=us-west1-b \
          --quiet
      
    2. Borra la VM del servidor.

      gcloud compute instances delete consumer-server-vm \
          --zone=us-west1-b \
          --quiet
      
  7. Borra la red y la subred de consumidor.

    Console

    1. En la consola de Google Cloud , ve a la página Redes de VPC.

      Ir a las redes de VPC

    2. Haz clic en consumer-network.

    3. En la pestaña Subredes, selecciona la casilla de verificación de consumer-subnet y haz clic en Borrar.

    4. Haga clic en Borrar nuevamente para confirmar.

    5. Haz clic en Borrar la red de VPC.

    6. En el campo de texto, ingresa consumer-network y haz clic en Borrar.

    gcloud

    1. Borra la subred.

      gcloud compute networks subnets delete consumer-subnet \
          --region=us-west1 \
          --quiet
      
    2. Borra la red de VPC.

      gcloud compute networks delete consumer-network \
          --quiet
      

Borra los recursos del productor

  1. Desasocia la política de firewall de la red de productor y borra la política de firewall.

    Console

    1. En la consola de Google Cloud , ve a la página Políticas de firewall.

      Ir a Políticas de firewall

    2. Haz clic en la política producer-firewall-policy.

    3. Haz clic en la pestaña Asociaciones.

    4. Selecciona la casilla de verificación de la asociación producer-network.

    5. Haz clic en Quitar asociación.

    6. Haz clic en Quitar.

    7. Haz clic en Borrar.

    8. Haz clic en Borrar nuevamente para confirmar.

    gcloud

    1. Quita la asociación.

      gcloud compute network-firewall-policies associations delete \
          --name=producer-firewall-policy-assoc \
          --firewall-policy=producer-firewall-policy \
          --global-firewall-policy
      
    2. Borra la política de firewall.

      gcloud compute network-firewall-policies delete producer-firewall-policy \
          --global
      
  2. Borra la implementación de duplicación y el grupo de implementación de duplicación.

    Console

    1. En la consola de Google Cloud , ve a la página Grupos de implementación.

      Ir a Deployment implementación

    2. Haz clic en producer-deployment-group.

    3. Borrar producer-deployment.

      1. Selecciona la casilla de verificación producer-deployment y haz clic en Borrar.
      2. Haga clic en Borrar nuevamente para confirmar.
    4. Haz clic en el botón Borrar.

    5. Haga clic en Borrar nuevamente para confirmar.

    gcloud

    1. Borra la implementación de duplicación.

      gcloud network-security mirroring-deployments delete producer-deployment \
          --location=us-west1-b \
          --no-async
      
    2. Borra el grupo de implementación de duplicación.

      gcloud network-security mirroring-deployment-groups delete producer-deployment-group \
          --location=global \
          --no-async
      
  3. Borra los recursos del balanceador de cargas.

    Console

    1. En la consola de Google Cloud , ve a la página Balanceo de cargas.

      Ir a Balanceo de cargas

    2. Selecciona la casilla de verificación producer-ilb.

    3. Haz clic en el botón Borrar en la parte superior de la página.

    4. Selecciona la casilla de verificación producer-health-check y haz clic en Borrar el balanceador de cargas y los recursos seleccionados.

    gcloud

    1. Borra la regla de reenvío.

      gcloud compute forwarding-rules delete producer-ilb-fr \
          --region=us-west1 \
          --quiet
      
    2. Quita el servicio de backend.

      gcloud compute backend-services delete producer-backend-service \
          --region=us-west1 \
          --quiet
      
    3. Borra la verificación de estado.

      gcloud compute health-checks delete producer-health-check \
          --region=us-west1 \
          --quiet
      
  4. Borra la instancia de VM del productor.

    Console

    1. En la consola de Google Cloud , ve a la página Instancias de VM.

      Ir a Instancias de VM

    2. Selecciona la casilla de verificación de producer-instance y haz clic en Borrar.

    3. Haga clic en Borrar nuevamente para confirmar.

    gcloud

    gcloud compute instances delete producer-instance \
        --zone=us-west1-b \
        --quiet
    
  5. Borra el grupo de instancias.

    Console

    1. En la consola de Google Cloud , ve a la página Grupos de instancias.

      Ir a Grupos de instancias

    2. Selecciona la casilla de verificación producer-instance-group.

    3. Haz clic en Borrar.

    4. En la ventana de confirmación, haz clic en Borrar.

    gcloud

    gcloud compute instance-groups unmanaged delete producer-instance-group \
        --zone=us-west1-b \
        --quiet
    
  6. Borra la red y la subred del productor.

    Console

    1. En la consola de Google Cloud , ve a la página Redes de VPC.

      Ir a las redes de VPC

    2. Haz clic en producer-network.

    3. En la pestaña Subredes, selecciona la casilla de verificación de producer-subnet y haz clic en Borrar.

    4. Haga clic en Borrar nuevamente para confirmar.

    5. Haz clic en Borrar la red de VPC.

    6. En el campo de texto, ingresa producer-network y haz clic en Borrar.

    gcloud

    1. Borra la subred.

      gcloud compute networks subnets delete producer-subnet \
          --region=us-west1 \
          --quiet
      
    2. Borra la red.

      gcloud compute networks delete producer-network \
          --quiet
      

¿Qué sigue?