En este instructivo, se describe cómo configurar una política de firewall de red global para permitir el tráfico interno entre subredes de VM en una red de VPC personalizada.
Crea una red de VPC personalizada con subredes
En esta sección, crearás una red de VPC de modo personalizado con dos subredes IPv4.
Console
En la consola de Google Cloud , ve a la página Redes de VPC.
Haz clic en Crear red de VPC.
En Nombre, ingresa
vpc-fw-rules.En Descripción, ingresa
VPC network for the firewall rules tutorial.En Modo de creación de subred, selecciona Personalizado.
En la sección Subred nueva, especifica los siguientes parámetros de configuración para una subred:
- Nombre:
subnet-fw-rules-server - Región:
us-central1 (Iowa) - Rango IPv4:
10.0.0.0/24 - Acceso privado a Google: activado
- Nombre:
Haz clic en Listo.
Haz clic en Agregar subred y especifica los siguientes parámetros de configuración:
- Nombre:
subnet-fw-rules-client - Región:
us-central1 (Iowa) - Rango IPv4:
192.168.10.0/24 - Acceso privado a Google: activado
- Nombre:
Haz clic en Listo.
Haz clic en Crear.
gcloud
Para crear una red de VPC, ejecuta el siguiente comando:
gcloud compute networks create vpc-fw-rules \ --subnet-mode=custom \ --description="VPC network for the firewall rules tutorial"
Opcional: En el cuadro de diálogo Autorizar Cloud Shell, haz clic en Autorizar.
Para crear una subred, ejecuta el siguiente comando:
gcloud compute networks subnets create subnet-fw-rules-server \ --network=vpc-fw-rules \ --region=us-central1 \ --range=10.0.0.0/24 \ --enable-private-ip-google-access
Para crear otra subred, ejecuta el siguiente comando:
gcloud compute networks subnets create subnet-fw-rules-client \ --network=vpc-fw-rules \ --region=us-central1 \ --range=192.168.10.0/24 \ --enable-private-ip-google-access
De forma predeterminada, la red de VPC tiene dos reglas IPv4 implícitas:
- Una regla de salida
allowcon destino0.0.0.0/0y la prioridad más baja posible (65,535) que permite que cualquier instancia envíe tráfico a cualquier destino, excepto el tráfico que bloquea Google Cloud. - Una entrada de
denycon origen0.0.0.0/0y la prioridad más baja posible (65535) que protege todas las instancias, ya que bloquea las conexiones entrantes.
Para obtener más información, consulta Reglas implícitas.
Crea VMs del cliente y del servidor
En esta sección, crearás dos VMs de Linux sin direcciones IP externas en las subredes de la red de VPC que creaste en la sección anterior.
Crea la VM del servidor
Console
Para crear la VM del servidor, sigue estos pasos:
En la consola de Google Cloud , ve a la página Crear una instancia.
En el panel Configuración de la máquina, haz lo siguiente:
- En Nombre, ingresa
vm-fw-rules-server. - En Región, selecciona
us-central1 (Iowa).
- En Nombre, ingresa
En el menú de navegación, haz clic en Herramientas de redes.
- En la sección Interfaces de red, haz clic en
defaulty especifica los siguientes parámetros de configuración:- Red:
vpc-fw-rules - Subred:
subnet-fw-rules-server IPv4 (10.0.0.0/24) - Dirección IPv4 externa: ninguna
- Red:
- Haz clic en Listo.
- En la sección Interfaces de red, haz clic en
Haz clic en Crear.
gcloud
Para crear la VM del servidor, ejecuta el siguiente comando:
gcloud compute instances create vm-fw-rules-server \
--network=vpc-fw-rules \
--zone=us-central1-a \
--subnet=subnet-fw-rules-server \
--stack-type=IPV4_ONLY \
--no-address
Crea la VM del cliente
Console
Para crear la VM del cliente, sigue estos pasos:
En la consola de Google Cloud , ve a la página Crear una instancia.
En el panel Configuración de la máquina, haz lo siguiente:
- En Nombre, ingresa
vm-fw-rules-client. - En Región, selecciona
us-central1 (Iowa).
- En Nombre, ingresa
En el menú de navegación, haz clic en Herramientas de redes.
- En la sección Interfaces de red, haz clic en
defaulty especifica los siguientes parámetros de configuración:- Red:
vpc-fw-rules - Subred:
subnet-fw-rules-client IPv4 (192.168.10.0/24) - Dirección IPv4 externa: ninguna
- Red:
- Haz clic en Listo.
- En la sección Interfaces de red, haz clic en
Haz clic en Crear.
gcloud
Para crear la VM del cliente, ejecuta el siguiente comando:
gcloud compute instances create vm-fw-rules-client \
--network=vpc-fw-rules \
--zone=us-central1-a \
--subnet=subnet-fw-rules-client \
--stack-type=IPV4_ONLY \
--no-address
Crea un Cloud Router y una puerta de enlace de Cloud NAT
En la sección anterior, creaste dos VMs de Linux sin direcciones IPv4 públicas. Para permitir que esas VMs accedan a la Internet pública, debes crear un Cloud Router y una puerta de enlace de Cloud NAT.
Console
En la Google Cloud consola, ve a la página de Cloud NAT.
Haz clic en Comenzar o Crear la puerta de enlace NAT.
En Nombre de la puerta de enlace, ingresa
gateway-fw-rules.Para Tipo de NAT, selecciona Pública.
En la sección Seleccionar Cloud Router, especifica los siguientes parámetros de configuración:
- Red:
vpc-fw-rules - Región:
us-central1 - Cloud Router: crear router nuevo.
- En Nombre, ingresa
router-fw-rules. - Haz clic en Crear.
- En Nombre, ingresa
- Red:
Haz clic en Crear.
gcloud
Para crear un Cloud Router, ejecuta el siguiente comando:
gcloud compute routers create router-fw-rules \ --network=vpc-fw-rules \ --region=us-central1
Para crear una puerta de enlace de Cloud NAT, ejecuta el siguiente comando:
gcloud compute routers nats create gateway-fw-rules \ --router=router-fw-rules \ --region=us-central1 \ --auto-allocate-nat-external-ips \ --nat-all-subnet-ip-ranges
Crea una política de firewall de red global
En esta sección, crearás una política de firewall de red global con lo siguiente:
- Una regla de salida con
0.0.0.0./0como destino. Registros habilitados. Los registros de reglas de firewall te permiten inspeccionar, verificar y analizar los efectos de tus reglas de firewall.
Console
En la consola de Google Cloud , ve a la página Políticas de firewall.
Haz clic en Crear política de firewall.
En la sección Configurar la política, en Nombre de la política, ingresa
fw-policy.En Permiso de la implementación, selecciona Global y haz clic en Continuar.
Para crear reglas para tu política, en la sección Agregar reglas, haz clic en Agregar regla.
- En Prioridad, ingresa
65534. - En Dirección del tráfico, selecciona Salida.
- En Registros, selecciona Activar.
- En la sección Destino, en Tipo de destino, selecciona Todas las instancias de la red.
- En la sección Destino, para Rangos de IP, ingresa
0.0.0.0/0. - En la sección Protocolo y puertos, selecciona Permitir todo.
- Haz clic en Crear.
- En Prioridad, ingresa
Haz clic en Continuar.
Para asociar una red de VPC con la política, en la sección Asociar política con redes de VPC, haz clic en Asociar.
Selecciona la casilla de verificación de
vpc-fw-rulesy haz clic en Asociar.Haz clic en Continuar.
Haz clic en Crear.
gcloud
Para crear una política de firewall, ejecuta el siguiente comando:
gcloud compute network-firewall-policies create fw-policy \ --globalPara crear una regla de firewall que permita el tráfico a todos los destinos y que habilite los registros, ejecute el siguiente comando:
gcloud compute network-firewall-policies rules create 65534 \ --firewall-policy=fw-policy \ --direction=EGRESS \ --action=ALLOW \ --dest-ip-ranges=0.0.0.0/0 \ --layer4-configs=all \ --global-firewall-policy \ --enable-loggingPara asociar la política de firewall con la red de VPC, ejecuta el siguiente comando:
gcloud compute network-firewall-policies associations create \ --firewall-policy=fw-policy \ --network=vpc-fw-rules \ --name=pol-association-fw-rules \ --global-firewall-policy
Agrega una regla de firewall para IAP
En la sección anterior, creaste VMs de Linux sin direcciones IP externas. En esta sección, habilitarás Identity-Aware Proxy (IAP) para permitir el acceso de administrador a las instancias de VM que no tienen direcciones IP externas.
Para permitir que IAP se conecte a tus instancias de VM, crea una regla de firewall que cumpla con lo siguiente:
- Se aplica a todas las instancias de VM a las que deseas acceder mediante IAP.
- Permite el tráfico de entrada desde el rango de IP
35.235.240.0/20. Este rango contiene todas las direcciones IP que IAP usa para el reenvío de TCP.Para las VMs IPv6, usa el siguiente rango de IP:
2600:2d00:1:7::/64. - Permite conexiones a todos los puertos a los que deseas acceder a través
del reenvío IAP de TCP, por ejemplo, el puerto
22para SSH y el puerto3389para RDP.
Console
Para permitir el acceso de RDP y SSH a todas las instancias de VM en la red vpc-fw-rules, haz lo siguiente:
En la consola de Google Cloud , ve a la página Políticas de firewall.
En la sección Políticas de firewall de red, haz clic en
fw-policy.Haz clic en Crear regla.
En Prioridad, ingresa
500.En Dirección del tráfico, selecciona Ingress.
En Registros, selecciona Activar.
En la sección Destino, en Tipo de destino, selecciona Todas las instancias de la red.
En la sección Origen, en Rangos de IP, ingresa
35.235.240.0/20.En la sección Protocolos y puertos, selecciona Protocolos y puertos especificados.
Selecciona la casilla de verificación TCP y, en Puertos, ingresa
22y3389separados por comas.Haz clic en Crear.
gcloud
Para permitir el acceso de RDP y SSH a todas las instancias de VM en la red vpc-fw-rules, ejecuta el siguiente comando:
gcloud compute network-firewall-policies rules create 500 \
--firewall-policy=fw-policy \
--direction=INGRESS \
--action=ALLOW \
--src-ip-ranges=35.235.240.0/20 \
--global-firewall-policy \
--layer4-configs tcp:22,tcp:3389 \
--enable-logging
Instala el servidor Apache
En esta sección, instalarás el servidor Apache en la VM del servidor.
En la Google Cloud consola, ve a la página Instancias de VM.
En la columna Conectar de la VM de
vm-fw-rules-server, haz clic en SSH.En el cuadro de diálogo SSH en el navegador, haz clic en Autorizar y espera a que se establezca la conexión.
Para instalar el paquete
apache2, en el símbolo del sistema, ejecuta el siguiente comando:sudo apt update && sudo apt -y install apache2
Después de instalar Apache, el sistema operativo inicia el servidor Apache de forma automática.
Para verificar que Apache esté en ejecución, ejecuta el siguiente comando:
sudo systemctl status apache2 --no-pager
Para reemplazar la página web predeterminada del servidor web Apache, ejecuta el siguiente comando:
echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' | sudo tee /var/www/html/index.htmlCierra el cuadro de diálogo SSH en el navegador.
Prueba la conexión
Después de instalar el servidor Apache en la VM del servidor, conéctate a la VM del servidor desde la VM del cliente con la dirección IP interna de la VM del servidor.
En la Google Cloud consola, ve a la página Instancias de VM.
En la columna IP interna de la VM de
vm-fw-rules-server, copia la dirección IP interna de la VM.En la columna Conectar de la VM de
vm-fw-rules-client, haz clic en SSH.En el cuadro de diálogo SSH en el navegador, haz clic en Autorizar y espera a que se establezca la conexión.
Para verificar la conexión, ejecuta el siguiente comando:
curl INTERNAL_IP -m 2
Reemplaza
INTERNAL_IPpor la dirección IP de la VM devm-fw-rules-server.Se espera el mensaje
Connection timed outporque cada VM crea una regla de firewall de entrada implícita que deniega todo el tráfico. Para permitir el tráfico, agrega una regla de entrada a la política de firewall.Cierra el cuadro de diálogo SSH en el navegador.
Actualiza la política de firewall de red global para permitir el tráfico interno
En esta sección, actualizarás la política de firewall de red global para permitir el tráfico interno desde la subred de la VM del cliente.
Console
En la consola de Google Cloud , ve a la página Políticas de firewall.
En la sección Políticas de firewall de red, haz clic en
fw-policy.Haz clic en Crear regla.
En Prioridad, ingresa
501.En Dirección del tráfico, selecciona Ingress.
En Registros, selecciona Activar.
En la sección Destino, en Tipo de destino, selecciona Todas las instancias de la red.
En la sección Origen, en Rangos de IP, ingresa
192.168.10.0/24.Recuerda que el rango de IP
192.168.10.0/24se asigna a subnet-fw-rules-client.En la sección Destino, en Tipo de IP, selecciona IPv4. En Rangos de IP, especifica
10.0.0.0/24.Recuerda que el rango de IP
10.0.0.0/24se asigna a subnet-fw-rules-server.Haz clic en Crear.
gcloud
Para actualizar la política de firewall, ejecuta el siguiente comando:
gcloud compute network-firewall-policies rules create 501 \
--firewall-policy=fw-policy \
--direction=INGRESS \
--action=ALLOW \
--src-ip-ranges=192.168.10.0/24 \
--dest-ip-ranges=10.0.0.0/24 \
--layer4-configs=all \
--global-firewall-policy \
--enable-logging
Prueba la conexión
Después de crear la política de firewall, conéctate a la VM del servidor desde la VM del cliente con la dirección IP interna de la VM del servidor.
En la Google Cloud consola, ve a la página Instancias de VM.
En la columna IP interna de la VM de
vm-fw-rules-server, copia la dirección IP interna de la VM.En la columna Conectar de la VM de
vm-fw-rules-client, haz clic en SSH.En el cuadro de diálogo SSH en el navegador, haz clic en Autorizar y espera a que se establezca la conexión.
Para verificar la conexión, ejecuta el siguiente comando:
curl INTERNAL_IP -m 2
Reemplaza
INTERNAL_IPpor la dirección IP de la VM devm-fw-rules-server.El mensaje esperado es
<!doctype html><html><body><h1>Hello World!</h1></body></html>.Cierra el cuadro de diálogo SSH en el navegador.
Para ver los registros de firewall, consulta Visualiza registros.