Cómo usar la instancia de próximo salto (sin etiquetar y etiquetada), la dirección de próximo salto y la puerta de enlace de próximo salto de las rutas estáticas IPv6

1. Introducción

Las rutas personalizadas estáticas influyen en el comportamiento de enrutamiento predeterminado en una VPC. Las rutas personalizadas de IPv6 ahora admiten nuevos atributos de próximo salto: next-hop-gateway, next-hop-instance y next-hop-address. En este codelab, se describe cómo usar rutas personalizadas de IPv6 con estas nuevas opciones de próximo salto a través de dos VPC conectadas por una instancia de VM con varias NICs. También demostrarás cómo combinar el direccionamiento de ULA y GUA, y cómo proporcionar accesibilidad a la VPC de ULA a Internet pública con la nueva capacidad de rutas personalizadas.

Qué aprenderás

  • Cómo crear una ruta personalizada IPv6 con una instancia de próximo salto.
  • Cómo crear una ruta personalizada IPv6 con una puerta de enlace de próximo salto.
  • Cómo crear una ruta personalizada IPv6 con un siguiente salto de next-hop-address

Requisitos

  • Proyecto de Google Cloud

2. Antes de comenzar

Actualiza el proyecto para que sea compatible con el codelab

En este codelab, se usan variables para facilitar la implementación de la configuración de gcloud en Cloud Shell.

Dentro de Cloud Shell, haz lo siguiente:

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
export projectname=$(gcloud config list --format="value(core.project)")

Arquitectura general del lab

eae86f3e371e74b8.png

Para demostrar ambos tipos de próximos saltos de rutas personalizadas, crearás 3 VPC: una VPC de cliente que usa direcciones GUA, una VPC de servidor que usa direcciones ULA y una segunda VPC de servidor que usa direcciones GUA.

Para que la VPC del cliente acceda al servidor de la ULA, utilizarás una ruta personalizada con la instancia de próximo salto y la dirección de próximo salto que apunten a una instancia de puerta de enlace con varias NIC. Para proporcionar acceso al servidor de GUA (después de borrar la ruta predeterminada ::/0), utilizarás una ruta personalizada con next-hop-gateway que apunte a la puerta de enlace de Internet predeterminada para proporcionar el enrutamiento a través de Internet.

3. Configuración de la VPC del cliente

Crea la VPC del cliente

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute networks create client-vpc \
    --project=$projectname \
    --subnet-mode=custom \
    --mtu=1500 --bgp-routing-mode=regional

Crea la subred del cliente

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute networks subnets create client-subnet  \
    --network=client-vpc \
    --project=$projectname \
    --range=192.168.1.0/24 \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=external \
    --region=us-central1

Registra la subred de GUA asignada en una variable de entorno con este comando.

export client_subnet=$(gcloud compute networks subnets \
    describe client-subnet \
    --project $projectname \
    --format="value(externalIpv6Prefix)" \
    --region us-central1)

Inicia la instancia del cliente

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute instances create client-instance \
    --subnet client-subnet \
    --stack-type IPV4_IPV6 \
    --zone us-central1-a \
    --project=$projectname

Agrega una regla de firewall para el tráfico de la VPC del cliente

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute firewall-rules create allow-gateway-client \
    --direction=INGRESS --priority=1000 \
    --network=client-vpc --action=ALLOW \
    --rules=tcp --source-ranges=$client_subnet \
    --project=$projectname 

Agrega una regla de firewall para permitir IAP en la instancia del cliente

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute firewall-rules create allow-iap-client \
    --direction=INGRESS --priority=1000 \
    --network=client-vpc --action=ALLOW \
    --rules=tcp:22 --source-ranges=35.235.240.0/20 \
    --project=$projectname 

Confirma el acceso SSH a la instancia de cliente

Dentro de Cloud Shell, accede a la instancia del cliente:

gcloud compute ssh client-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Si la operación se realiza correctamente, verás una ventana de terminal de la instancia del cliente. Sal de la sesión de SSH para continuar con el codelab.

4. Configuración de la VPC del servidor de la ULA

Crea la VPC del servidor de ULA

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute networks create server-vpc1 \
    --project=$projectname \
    --subnet-mode=custom --mtu=1500 \
    --bgp-routing-mode=regional \
    --enable-ula-internal-ipv6

Crea las subredes del servidor de ULA

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute networks subnets create server-subnet1 \
    --network=server-vpc1 \
    --project=$projectname \
    --range=192.168.0.0/24 \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=internal \
    --region=us-central1

Registra la subred de ULA asignada en una variable de entorno con este comando.

export server_subnet1=$(gcloud compute networks subnets \
    describe server-subnet1 \
    --project $projectname \
    --format="value(internalIpv6Prefix)" \
    --region us-central1)

Inicia la VM del servidor con una dirección IPv6 interna de ULA

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute instances create server-instance1 \
    --subnet server-subnet1 \
    --stack-type IPV4_IPV6 \
    --zone us-central1-a \
    --project=$projectname

Agrega una regla de firewall para permitir el acceso al servidor desde el cliente

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute firewall-rules create allow-client-server1 \
    --direction=INGRESS --priority=1000 \
    --network=server-vpc1 --action=ALLOW \
    --rules=tcp --source-ranges=$client_subnet \
    --project=$projectname 

Agrega una regla de firewall para permitir IAP

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute firewall-rules create allow-iap-server1 \
    --direction=INGRESS --priority=1000 \
    --network=server-vpc1 --action=ALLOW \
    --rules=tcp:22 \
    --source-ranges=35.235.240.0/20 \
    --project=$projectname 

Instala Apache en la instancia del servidor de la ULA

Dentro de Cloud Shell, accede a la instancia del cliente:

gcloud compute ssh server-instance1 \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Dentro del shell de la VM del servidor, ejecuta el siguiente comando:

sudo apt update && sudo apt -y install apache2

Verifica que Apache esté en ejecución

sudo systemctl status apache2

Reemplaza la página web predeterminada

echo '<!doctype html><html><body><h1>Hello World! From Server1!</h1></body></html>' | sudo tee /var/www/html/index.html

Sal de la sesión de SSH para continuar con el codelab.

5. Configuración de la VPC del servidor de GUA

Crea la VPC del servidor de GUA

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute networks create server-vpc2 \
    --project=$projectname \
    --subnet-mode=custom --mtu=1500 \
    --bgp-routing-mode=regional

Crea las subredes del servidor de GUA

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute networks subnets create server-subnet2 \
    --network=server-vpc2 \
    --project=$projectname \
    --range=192.168.0.0/24 \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=external \
    --region=us-central1

Registra la subred de GUA asignada en una variable de entorno con este comando.

export server_subnet2=$(gcloud compute networks subnets \
    describe server-subnet2 \
    --project $projectname \
    --format="value(externalIpv6Prefix)" \
    --region us-central1)

Inicia la VM del servidor con una dirección IPv6 de GUA

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute instances create server-instance2 \
    --subnet server-subnet2 \
    --stack-type IPV4_IPV6 \
    --zone us-central1-a \
    --project=$projectname

Agrega una regla de firewall para permitir el acceso dentro de la subred

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute firewall-rules create allow-client-server2 \
    --direction=INGRESS \
    --priority=1000 \
    --network=server-vpc2 \
    --action=ALLOW \
    --rules=tcp --source-ranges=$client_subnet \
    --project=$projectname 

Agrega una regla de firewall para permitir IAP

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute firewall-rules create allow-iap-server2 \
    --direction=INGRESS \
    --priority=1000 \
    --network=server-vpc2 \
    --action=ALLOW \
    --rules=tcp:22 \
    --source-ranges=35.235.240.0/20 \
    --project=$projectname 

Confirma el acceso SSH a la instancia del servidor de la GUA y, luego, instala Apache

Dentro de Cloud Shell, accede a la instancia del cliente:

gcloud compute ssh server-instance2 \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Dentro del shell de la VM del servidor, ejecuta el siguiente comando:

sudo apt update && sudo apt -y install apache2

Verifica que Apache esté en ejecución

sudo systemctl status apache2

Reemplaza la página web predeterminada

echo '<!doctype html><html><body><h1>Hello World! From Server2!</h1></body></html>' | sudo tee /var/www/html/index.html

Sal de la sesión de SSH para continuar con el codelab.

6. Crea una instancia de Gateway

Borra la ruta predeterminada de la VPC del cliente

Se prepara para redireccionar el tráfico de ULA v6 a la instancia con varias NICs y para inhabilitar el enrutamiento de salida a Internet. Borra la ruta predeterminada ::/0 que apunta a la puerta de enlace de Internet predeterminada.

Dentro de Cloud Shell, haz lo siguiente:

export client_defroutename=$(gcloud compute routes list \
--project $projectname \
--format='value(name)' \
--filter="network:client-vpc AND destRange~'::/0'")

gcloud compute routes delete $client_defroutename \
--project $projectname \
--quiet

Inicia la VM de puerta de enlace con varias NICs

Dentro de Cloud Shell, haz lo siguiente:Dentro de Cloud Shell, haz lo siguiente:

gcloud compute instances create gateway-instance \
    --project=$projectname \
    --zone=us-central1-a \
--network-interface=stack-type=IPV4_IPV6,subnet=client-subnet,no-address \
--network-interface=stack-type=IPV4_IPV6,subnet=server-subnet1,no-address \
    --can-ip-forward

Configura la instancia de la puerta de enlace

Dentro de Cloud Shell, accede a la instancia de puerta de enlace (es posible que la conexión SSH tarde unos minutos en establecerse correctamente mientras se inicia la instancia):

gcloud compute ssh gateway-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Dentro del shell de la VM de la puerta de enlace, ejecuta el siguiente comando para habilitar el reenvío de IPv6 y seguir aceptando RA con el reenvío habilitado (accept_ra = 2):

sudo sysctl -w net.ipv6.conf.ens4.accept_ra=2
sudo sysctl -w net.ipv6.conf.ens5.accept_ra=2
sudo sysctl -w net.ipv6.conf.ens4.accept_ra_defrtr=1
sudo sysctl -w net.ipv6.conf.all.forwarding=1

Verifica la tabla de enrutamiento de IPv6 en la instancia

ip -6 route show

Ejemplo de resultado que muestra las rutas de subred de ULA y GUA, con la ruta predeterminada que apunta a la interfaz de GUA.

::1 dev lo proto kernel metric 256 pref medium
2600:1900:4000:7a7f:0:1:: dev ens4 proto kernel metric 256 expires 83903sec pref medium
2600:1900:4000:7a7f::/65 via fe80::4001:c0ff:fea8:101 dev ens4 proto ra metric 1024 expires 88sec pref medium
fd20:3df:8d5c::1:0:0 dev ens5 proto kernel metric 256 expires 83904sec pref medium
fd20:3df:8d5c::/64 via fe80::4001:c0ff:fea8:1 dev ens5 proto ra metric 1024 expires 84sec pref medium
fe80::/64 dev ens5 proto kernel metric 256 pref medium
fe80::/64 dev ens4 proto kernel metric 256 pref medium
default via fe80::4001:c0ff:fea8:101 dev ens4 proto ra metric 1024 expires 88sec pref medium

Sal de la sesión de SSH para continuar con el codelab.

7. Crea y prueba rutas a la instancia de puerta de enlace (con el nombre de la instancia)

En esta sección, agregarás rutas a las VPCs del cliente y del servidor usando el nombre de la instancia de puerta de enlace como siguiente salto.

Toma nota de las direcciones del servidor

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute instances list \
   --project $projectname \
   --filter="name~server-instance" \
--format='value[separator=","](name,networkInterfaces[0].ipv6Address,networkInterfaces[0].ipv6AccessConfigs[0].externalIpv6)'

Esto debería generar los nombres de las instancias del servidor y sus prefijos IPv6. Resultado de ejemplo

server-instance1,fd20:3df:8d5c:0:0:0:0:0,
server-instance2,,2600:1900:4000:71fd:0:0:0:0

Toma nota de ambas direcciones, ya que las usarás más adelante en los comandos curl de la instancia del cliente. Lamentablemente, las variables de entorno no se pueden usar fácilmente para almacenar estos datos, ya que no se transfieren a través de sesiones SSH.

Ejecuta el comando curl desde el cliente a la instancia del servidor de ULA

Para ver el comportamiento antes de agregar rutas nuevas Ejecuta un comando curl desde la instancia del cliente hacia la instancia del servidor 1.

Dentro de Cloud Shell, accede a la instancia del cliente:

gcloud compute ssh client-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Dentro de la instancia del cliente, realiza un curl con la dirección IPv6 de ULA de la instancia server1 (el comando establece un tiempo de espera corto de 5 s para evitar que curl espere demasiado).

curl -m 5.0 -g -6 'http://[ULA-ipv6-address-of-server1]:80/'

Este comando curl debería agotar el tiempo de espera porque la VPC del cliente aún no tiene una ruta hacia la VPC del servidor.

Intentemos solucionarlo. Por ahora, sal de la sesión de SSH.

Agrega una ruta personalizada en la VPC del cliente

Dado que la VPC del cliente no tiene una ruta hacia el prefijo de ULA. Agreguémoslo ahora.

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute routes create client-to-server1-route \
   --project=$projectname \
   --destination-range=$server_subnet1 \
   --network=client-vpc \
   --next-hop-instance=gateway-instance \
   --next-hop-instance-zone=us-central1-a

Vuelve a establecer la conexión SSH con la instancia de cliente:

gcloud compute ssh client-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Dentro de la instancia del cliente, vuelve a intentar el comando curl en la instancia del servidor. (el comando establece un tiempo de espera corto de 5 s para evitar que curl espere demasiado).

curl -m 5.0 -g -6 'http://[ULA-ipv6-address-of-server1]:80/'

Este comando curl aún agota el tiempo de espera porque la VPC de server1 aún no tiene una ruta de regreso hacia la VPC del cliente a través de la instancia de puerta de enlace.

Sal de la sesión de SSH para continuar con el codelab.

Agrega una ruta personalizada en la VPC del servidor de ULA

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute routes create server1-to-client-route \
   --project=$projectname \
   --destination-range=$client_subnet \
   --network=server-vpc1 \
   --next-hop-instance=gateway-instance \
   --next-hop-instance-zone=us-central1-a

Vuelve a establecer la conexión SSH con la instancia de cliente:

gcloud compute ssh client-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Dentro de la instancia del cliente, intenta ejecutar curl en la instancia del servidor una vez más.

curl -m 5.0 -g -6 'http://[ULA-ipv6-address-of-server1]:80/'

Este comando curl ahora se ejecuta correctamente y muestra que tienes accesibilidad de extremo a extremo desde la instancia del cliente hacia la instancia del servidor de ULA. Esta conectividad solo es posible ahora a través del uso de rutas personalizadas IPv6 con instancias de siguiente salto como siguientes saltos.

Resultado de muestra

<user id>@client-instance:~$ curl -m 5.0 -g -6 'http://[fd20:3df:8d5c:0:0:0:0:0]:80/'
<!doctype html><html><body><h1>Hello World! From Server1!</h1></body></html>

Sal de la sesión de SSH para continuar con el codelab.

8. Crea y prueba rutas a la instancia de puerta de enlace (con la dirección de la instancia)

En esta sección, agregarás rutas a las VPCs del cliente y del servidor usando la dirección IPv6 de la instancia de puerta de enlace como el siguiente salto.

Cómo borrar rutas anteriores

Restablezcamos el entorno a su estado anterior a la adición de cualquier ruta personalizada borrando las rutas personalizadas que usan el nombre de la instancia.

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute routes delete client-to-server1-route  --quiet --project=$projectname
gcloud compute routes delete server1-to-client-route  --quiet --project=$projectname

Ejecuta el comando curl desde el cliente a la instancia del servidor de ULA

Para confirmar que las rutas anteriores se borraron correctamente, ejecuta un comando curl desde la instancia del cliente hacia la instancia del servidor 1.

Dentro de Cloud Shell, accede a la instancia del cliente:

gcloud compute ssh client-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Dentro de la instancia del cliente, realiza un curl con la dirección IPv6 de ULA de la instancia server1 (el comando establece un tiempo de espera corto de 5 s para evitar que curl espere demasiado).

curl -m 5.0 -g -6 'http://[ULA-ipv6-address-of-server1]:80/'

Este comando curl debería agotar el tiempo de espera porque la VPC del cliente ya no tiene una ruta hacia la VPC del servidor.

Obtén las direcciones IPv6 de la instancia de puerta de enlace

Deberemos obtener las direcciones IPv6 de la instancia de puerta de enlace antes de poder escribir rutas que usen next-hop-address.

Dentro de Cloud Shell, haz lo siguiente:

export gateway_ula_address=$(gcloud compute instances \
   describe gateway-instance \
   --project $projectname  \
   --format='value(networkInterfaces[1].ipv6Address)')

export gateway_gua_address=$(gcloud compute instances \
   describe gateway-instance \
   --project $projectname  \
   --format='value(networkInterfaces[0].ipv6AccessConfigs[0].externalIpv6)')

Agrega una ruta personalizada en la VPC del cliente

Ahora podemos volver a agregar la ruta en la VPC del cliente con el prefijo de ULA, pero usando la dirección GUA de la puerta de enlace como siguiente salto.

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute routes create client-to-server1-route \
   --project=$projectname \
   --destination-range=$server_subnet1 \
   --network=client-vpc \
   --next-hop-address=$gateway_gua_address

Vuelve a establecer la conexión SSH con la instancia de cliente:

gcloud compute ssh client-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Dentro de la instancia del cliente, vuelve a intentar el comando curl en la instancia del servidor.

curl -m 5.0 -g -6 'http://[ULA-ipv6-address-of-server1]:80/'

Como se esperaba, este comando curl aún agota el tiempo de espera porque la VPC de server1 aún no tiene una ruta de regreso hacia la VPC del cliente a través de la instancia de puerta de enlace.

Sal de la sesión de SSH para continuar con el codelab.

Agrega una ruta personalizada en la VPC del servidor de ULA

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute routes create server1-to-client-route \
   --project=$projectname \
   --destination-range=$client_subnet \
   --network=server-vpc1 \
   --next-hop-address=$gateway_ula_address

Vuelve a establecer la conexión SSH con la instancia de cliente:

gcloud compute ssh client-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Dentro de la instancia del cliente, intenta ejecutar curl en la instancia del servidor una vez más.

curl -m 5.0 -g -6 'http://[ULA-ipv6-address-of-server1]:80/'

Este comando curl ahora se ejecuta correctamente y muestra que tienes accesibilidad de extremo a extremo desde la instancia del cliente hacia la instancia del servidor de ULA. Esta conectividad solo es posible ahora a través del uso de rutas personalizadas de IPv6 con next-hop-address como próximos saltos.

Resultado de muestra

<user id>@client-instance:~$ curl -m 5.0 -g -6 'http://[fd20:3df:8d5c:0:0:0:0:0]:80/'
<!doctype html><html><body><h1>Hello World! From Server1!</h1></body></html>

Sal de la sesión de SSH para continuar con el codelab.

9. Crea y prueba la ruta a la puerta de enlace de Internet

Mientras tienes configurado este lab, probemos también la funcionalidad de la nueva propiedad de próximo salto: next-hop-gateway.

Ejecuta el comando curl desde el cliente a la instancia del servidor de GUA

Para ver el comportamiento antes de agregar rutas nuevas Ejecuta un comando curl desde la instancia del cliente hacia la dirección IP de server2.

Dentro de Cloud Shell, accede a la instancia del cliente:

gcloud compute ssh client-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Dentro de la instancia del cliente, realiza una solicitud curl hacia el extremo de IPv6.

curl -m 5.0 -g -6 'http://[GUA-ipv6-address-of-server2]:80/'

Este comando curl debería agotar el tiempo de espera porque la VPC del cliente solo tiene su propia ruta de subred y una ruta a la VPC del servidor1. Para poder acceder al rango de GUA de la VPC de server2, debes usar la puerta de enlace de Internet predeterminada a través de una ruta personalizada.

Sal de la sesión de SSH para continuar con el codelab.

Agrega una ruta de puerta de enlace personalizada en la VPC del cliente

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute routes create client-to-server2-route \
   --project=$projectname \
   --destination-range=$server_subnet2 \
   --network=client-vpc \
   --next-hop-gateway=default-internet-gateway

Vuelve a establecer la conexión SSH con la instancia de cliente:

gcloud compute ssh client-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Dentro de la instancia del cliente, repite el mismo comando curl.

curl -m 5.0 -g -6 'http://[GUA-ipv6-address-of-server2]:80/'

Este comando curl ahora debería devolver el mensaje de saludo personalizado, lo que indica que pudiste acceder correctamente a la dirección IPv6 del otro servidor a través de la puerta de enlace de Internet predeterminada.

Resultado de muestra:

<user id>@client-instance:~$ curl -m 5.0 -g -6 'http://[2600:1900:4000:71fd:0:0:0:0]:80/'
<!doctype html><html><body><h1>Hello World! From Server2!</h1></body></html>

Sal de la sesión de SSH para completar la sección de limpieza del lab.

10. Limpia

Limpia las instancias

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute instances delete client-instance --zone us-central1-a --quiet --project=$projectname

gcloud compute instances delete server-instance1 --zone us-central1-a --quiet --project=$projectname

gcloud compute instances delete server-instance2 --zone us-central1-a --quiet --project=$projectname

gcloud compute instances delete gateway-instance --zone us-central1-a --quiet --project=$projectname

Limpia las subredes

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute networks subnets delete client-subnet --region=us-central1 --quiet --project=$projectname

gcloud compute networks subnets delete server-subnet1 --region=us-central1 --quiet --project=$projectname

gcloud compute networks subnets delete server-subnet2 --region=us-central1 --quiet --project=$projectname

Cómo limpiar reglas de firewall

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute firewall-rules delete allow-iap-client  --quiet --project=$projectname
gcloud compute firewall-rules delete allow-iap-server1  --quiet --project=$projectname
gcloud compute firewall-rules delete allow-iap-server2  --quiet --project=$projectname
gcloud compute firewall-rules delete allow-gateway-client  --quiet --project=$projectname
gcloud compute firewall-rules delete allow-client-server1  --quiet --project=$projectname
gcloud compute firewall-rules delete allow-client-server2  --quiet --project=$projectname

Cómo limpiar rutas personalizadas

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute routes delete client-to-server1-route  --quiet --project=$projectname
gcloud compute routes delete client-to-server2-route  --quiet --project=$projectname
gcloud compute routes delete server1-to-client-route  --quiet --project=$projectname

Limpia las VPC

Dentro de Cloud Shell, haz lo siguiente:

gcloud compute networks delete client-vpc --quiet --project=$projectname
gcloud compute networks delete server-vpc1 --quiet --project=$projectname
gcloud compute networks delete server-vpc2 --quiet --project=$projectname

11. Felicitaciones

Usaste correctamente rutas estáticas personalizadas de IPv6 con saltos siguientes establecidos en next-hop-gateway , next-hop-instance y next-hop-address. También validaste la comunicación IPv6 de extremo a extremo con esas rutas.

Próximos pasos

Consulta algunos codelabs sobre los siguientes temas:

Lecturas y videos adicionales

Documentos de referencia