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 estáticas personalizadas influyen en el comportamiento de enrutamiento predeterminado en una VPC. Las rutas personalizadas 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 mediante dos VPC conectadas por una instancia de VM con varias NIC. También demostrarás cómo combinar la asignación de ULA y GUA, y proporcionar accesibilidad a la VPC de ULA a la Internet pública con la nueva función de ruta personalizada.

Qué aprenderás

  • Cómo crear una ruta IPv6 personalizada con un siguiente salto de instancia de siguiente salto
  • Cómo crear una ruta IPv6 personalizada con un siguiente salto de puerta de enlace
  • Cómo crear una ruta IPv6 personalizada con un siguiente salto de dirección de próximo salto

Requisitos

  • Proyecto de Google Cloud

2. Antes de comenzar

Actualiza el proyecto para admitir el codelab

En este codelab, se usan $variables para ayudar a implementar la configuración de gcloud en Cloud Shell.

En 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 ruta personalizada, 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 ULA, usará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), usarás una ruta personalizada con next-hop-gateway que apunte a la puerta de enlace de Internet predeterminada para proporcionar enrutamiento a través de Internet.

3. Configuración de la VPC del cliente

Crea la VPC del cliente

En 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

En 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)

Cómo iniciar la instancia de cliente

En 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

En 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

En 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

En Cloud Shell, accede a la instancia de cliente:

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

Si se realiza correctamente, verás una ventana de terminal desde 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 ULA

Crea la VPC del servidor de ULA

En 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 ULA

En 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 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)

Cómo iniciar una VM de servidor con una dirección IPv6 interna de ULA

En 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

En 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

En 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 ULA

En Cloud Shell, accede a la instancia de cliente:

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

Dentro de la 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

En 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

En 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)

Cómo iniciar una VM de servidor con una dirección IPv6 de GUA

En 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

En 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

En 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 de SSH a la instancia del servidor de GUA y, luego, instala Apache

En Cloud Shell, accede a la instancia de cliente:

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

Dentro de la 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 puerta de enlace

Borra la ruta predeterminada de la VPC del cliente

Para preparar el redireccionamiento del tráfico de ULA v6 a la instancia de varias NIC y para inhabilitar el enrutamiento de salida a Internet. Borra la ruta predeterminada ::/0 que apunta a la puerta de enlace de Internet predeterminada.

En 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

Cómo iniciar una VM de puerta de enlace con varias NIC

En 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 puerta de enlace

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

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

Dentro de la 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 IPv6 en la instancia

ip -6 route show

Ejemplo de salida 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 VPC del cliente y del servidor usando el nombre de la instancia de puerta de enlace como siguiente salto.

Anota las direcciones del servidor

En 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 mostrar los nombres de las instancias del servidor y sus prefijos IPv6. Resultado de muestra

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

Anota ambas direcciones, ya que las usarás más adelante en los comandos curl desde la instancia del cliente. Lamentablemente, las variables de entorno no se pueden usar fácilmente para almacenarlas, ya que no se transfieren a través de sesiones de 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 de cliente hacia server-instance1.

En Cloud Shell, accede a la instancia de 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 ULA de la instancia de server1 (el comando establece un tiempo de espera corto de 5 segundos para evitar que curl espere demasiado tiempo).

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. Sal de la sesión de SSH por ahora.

Agrega una ruta personalizada en la VPC del cliente

Dado que a la VPC del cliente le falta una ruta hacia el prefijo ULA. Agreguemos eso ahora.

En 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 una conexión SSH a 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 curl a la instancia del servidor. (el comando establece un tiempo de espera corto de 5 segundos para evitar que curl espere demasiado tiempo).

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

Este comando curl aún se agota porque la VPC de server1 aún no tiene una ruta de regreso a 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

En 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 una conexión SSH a 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 realizar el curl a 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 realiza correctamente, lo que demuestra que tienes accesibilidad de extremo a extremo desde la instancia del cliente a la instancia del servidor de ULA. Esta conectividad solo es posible ahora a través del uso de rutas personalizadas IPv6 con next-hop-instance como siguiente salto.

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 VPC del cliente y del servidor usando la dirección IPv6 de la instancia de puerta de enlace como siguiente salto.

Borra rutas anteriores

Para restablecer el entorno a la configuración anterior a la adición de rutas personalizadas, borra las rutas personalizadas que usan el nombre de la instancia.

En 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 de cliente hacia server-instance1.

En Cloud Shell, accede a la instancia de 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 ULA de la instancia de server1 (el comando establece un tiempo de espera corto de 5 segundos para evitar que curl espere demasiado tiempo).

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.

Cómo obtener las direcciones IPv6 de la instancia de puerta de enlace

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

En 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 ULA, pero usando la dirección GUA de la puerta de enlace como siguiente salto.

En 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 una conexión SSH a 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 curl a 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 se agota porque la VPC de server1 aún no tiene una ruta de regreso a 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

En 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 una conexión SSH a 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 realizar el curl a 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 realiza correctamente, lo que demuestra que tienes accesibilidad de extremo a extremo desde la instancia del cliente a la instancia del servidor de ULA. Esta conectividad solo es posible ahora mediante el uso de rutas personalizadas IPv6 con next-hop-address como siguiente salto.

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 configurada esta lab, también probemos 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 del servidor2.

En 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 hacia el extremo 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 llegar al rango de GUA de la VPC del servidor2, 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

En 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 una conexión SSH a 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 curl.

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

Este comando curl ahora debería mostrar el mensaje de saludo personalizado, lo que indica que puedes 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 ir a la sección de limpieza del lab.

10. Limpia

Limpia instancias

En 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 subredes

En 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

En 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

Limpia las rutas personalizadas

En 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

Cómo limpiar las VPC

En 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 las rutas estáticas IPv6 personalizadas con los siguientes saltos configurados 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 adicionales y videos

Documentos de referencia