Nächster Hop-Typ (nicht getaggt und getaggt), nächste Hop-Adresse und nächstes Hop-Gateway von statischen IPv6-Routen verwenden

1. Einführung

Benutzerdefinierte statische Routen beeinflussen das Standard-Routingverhalten in einer VPC. Benutzerdefinierte IPv6-Routen unterstützen jetzt neue Next-Hop-Attribute: next-hop-gateway, next-hop-instance und next-hop-address. In diesem Codelab wird beschrieben, wie Sie benutzerdefinierte IPv6-Routen mit diesen neuen Next-Hop-Optionen verwenden, wobei zwei VPCs über eine VM-Instanz mit mehreren NICs verbunden sind. Außerdem zeigen Sie, wie Sie ULA- und GUA-Adressen kombinieren und mithilfe der neuen Funktion für benutzerdefinierte Routen die Erreichbarkeit des ULA-VPC für das öffentliche Internet ermöglichen.

Lerninhalte

  • So erstellen Sie eine benutzerdefinierte IPv6-Route mit einem nächsten Hop vom Typ „Nächster Hop-Instanz“.
  • So erstellen Sie eine benutzerdefinierte IPv6-Route mit dem nächsten Hop „next-hop-gateway“.
  • So erstellen Sie eine benutzerdefinierte IPv6-Route mit einer next-hop-address als nächsten Hop.

Voraussetzungen

  • Google Cloud-Projekt

2. Hinweis

Projekt für das Codelab aktualisieren

In diesem Codelab werden $variables verwendet, um die Implementierung der gcloud-Konfiguration in Cloud Shell zu unterstützen.

Führen Sie in Cloud Shell die folgenden Schritte aus:

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

Gesamtarchitektur des Labs

eae86f3e371e74b8.png

Um beide Arten von Nexthops für benutzerdefinierte Routen zu demonstrieren, erstellen Sie drei VPCs: ein Client-VPC mit GUA-Adressierung, ein Server-VPC mit ULA-Adressierung und ein zweites Server-VPC mit GUA-Adressierung.

Damit die Client-VPC auf den ULA-Server zugreifen kann, verwenden Sie eine benutzerdefinierte Route, die sowohl die Next-Hop-Instanz als auch die Next-Hop-Adresse auf eine Multi-NIC-Gateway-Instanz verweist. Um Zugriff auf den GUA-Server zu gewähren (nachdem Sie die Standardroute ::/0 gelöscht haben), verwenden Sie eine benutzerdefinierte Route mit einem Next-Hop-Gateway, das auf das Standard-Internetgateway verweist, um das Routing über das Internet zu ermöglichen.

3. VPC-Einrichtung für den Client

Client-VPC erstellen

Führen Sie in Cloud Shell folgende Schritte aus:

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

Client-Subnetz erstellen

Führen Sie in Cloud Shell folgende Schritte aus:

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

Speichern Sie das zugewiesene GUA-Subnetz mit diesem Befehl in einer Umgebungsvariablen.

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

Clientinstanz starten

Führen Sie in Cloud Shell folgende Schritte aus:

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

Firewallregel für Client-VPC-Traffic hinzufügen

Führen Sie in Cloud Shell folgende Schritte aus:

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 

Firewallregel hinzufügen, um IAP für die Clientinstanz zuzulassen

Führen Sie in Cloud Shell folgende Schritte aus:

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 

SSH-Zugriff auf die Clientinstanz bestätigen

Melden Sie sich in Cloud Shell bei der Clientinstanz an:

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

Wenn der Vorgang erfolgreich war, wird ein Terminalfenster der Clientinstanz angezeigt. Beenden Sie die SSH-Sitzung, um mit dem Codelab fortzufahren.

4. VPC-Einrichtung für ULA-Server

VPC für ULA-Server erstellen

Führen Sie in Cloud Shell folgende Schritte aus:

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

ULA-Serversubnetze erstellen

Führen Sie in Cloud Shell folgende Schritte aus:

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

Speichern Sie das zugewiesene ULA-Subnetz mit diesem Befehl in einer Umgebungsvariablen.

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

Server-VM mit einer internen ULA-IPv6-Adresse starten

Führen Sie in Cloud Shell folgende Schritte aus:

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

Firewallregel hinzufügen, um den Zugriff auf den Server vom Client aus zuzulassen

Führen Sie in Cloud Shell folgende Schritte aus:

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 

Firewallregel hinzufügen, um IAP zuzulassen

Führen Sie in Cloud Shell folgende Schritte aus:

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 

Apache in der ULA-Serverinstanz installieren

Melden Sie sich in Cloud Shell bei der Clientinstanz an:

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

Führen Sie in der Shell der Server-VM den folgenden Befehl aus:

sudo apt update && sudo apt -y install apache2

Prüfen, ob Apache ausgeführt wird

sudo systemctl status apache2

Standardwebseite überschreiben

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

Beenden Sie die SSH-Sitzung, um mit dem Codelab fortzufahren.

5. VPC-Einrichtung für GUA-Server

VPC für den GUA-Server erstellen

Führen Sie in Cloud Shell folgende Schritte aus:

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

GUA-Serversubnetze erstellen

Führen Sie in Cloud Shell folgende Schritte aus:

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

Speichern Sie das zugewiesene GUA-Subnetz mit diesem Befehl in einer Umgebungsvariablen.

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

Server-VM mit einer GUA-IPv6-Adresse starten

Führen Sie in Cloud Shell folgende Schritte aus:

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

Firewallregel hinzufügen, um den Zugriff innerhalb des Subnetzes zuzulassen

Führen Sie in Cloud Shell folgende Schritte aus:

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 

Firewallregel hinzufügen, um IAP zuzulassen

Führen Sie in Cloud Shell folgende Schritte aus:

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 

SSH-Zugriff auf die GUA-Serverinstanz bestätigen und Apache installieren

Melden Sie sich in Cloud Shell bei der Clientinstanz an:

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

Führen Sie in der Shell der Server-VM den folgenden Befehl aus:

sudo apt update && sudo apt -y install apache2

Prüfen, ob Apache ausgeführt wird

sudo systemctl status apache2

Standardwebseite überschreiben

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

Beenden Sie die SSH-Sitzung, um mit dem Codelab fortzufahren.

6. Gateway-Instanz erstellen

Standardroute der Client-VPC löschen

Vorbereiten der Weiterleitung von ULA-v6-Traffic an die Instanz mit mehreren NICs und Deaktivieren des Internet-Ausgabe-Routings. Löschen Sie die Standardroute ::/0, die auf das Standard-Internetgateway verweist.

Führen Sie in Cloud Shell folgende Schritte aus:

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

Gateway-VM mit mehreren NICs starten

Führen Sie in Cloud Shell folgende Schritte aus:

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

Gateway-Instanz konfigurieren

Melden Sie sich in Cloud Shell in der Gateway-Instanz an. Während der Instanzstart kann es einige Minuten dauern, bis eine SSH-Verbindung hergestellt werden kann:

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

Führen Sie in der Gateway-VM-Shell den folgenden Befehl aus, um die IPv6-Weiterleitung zu aktivieren und RAs mit aktivierter Weiterleitung zu akzeptieren (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

IPv6-Routingtabelle in der Instanz prüfen

ip -6 route show

Beispielausgabe mit ULA- und GUA-Subnetzrouten, wobei die Standardroute auf die GUA-Schnittstelle verweist

::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

Beenden Sie die SSH-Sitzung, um mit dem Codelab fortzufahren.

7. Routen zur Gateway-Instanz erstellen und testen (mit dem Namen der Instanz)

In diesem Abschnitt fügen Sie sowohl dem Client- als auch dem Server-VPC Routen hinzu, indem Sie den Namen der Gateway-Instanz als nächsten Hop verwenden.

Notieren Sie sich die Serveradressen.

Führen Sie in Cloud Shell folgende Schritte aus:

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

Dadurch werden sowohl die Namen der Serverinstanzen als auch ihre IPv6-Präfixe ausgegeben. Beispielausgabe:

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

Notieren Sie sich beide Adressen, da Sie sie später in Curl-Befehlen von der Clientinstanz verwenden werden. Leider können sie nicht einfach in Umgebungsvariablen gespeichert werden, da sie nicht über SSH-Sitzungen übertragen werden.

Curl-Befehl vom Client an die ULA-Serverinstanz ausführen

Sie können das Verhalten sehen, bevor Sie neue Routen hinzufügen. Führen Sie einen cURL-Befehl von der Clientinstanz an die Serverinstanz 1 aus.

Melden Sie sich in Cloud Shell bei der Clientinstanz an:

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

Führen Sie in der Clientinstanz einen Curl-Befehl mit der ULA-IPv6-Adresse der Instanz „server1“ aus. Der Befehl legt eine kurze Zeitüberschreitung von 5 Sekunden fest, damit Curl nicht zu lange wartet.

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

Bei diesem Curl-Befehl sollte ein Zeitüberschreitungsfehler auftreten, da das Client-VPC noch keine Route zum Server-VPC hat.

Lass uns versuchen, das zu beheben. Beenden Sie die SSH-Sitzung.

Benutzerdefinierte Route in der Client-VPC hinzufügen

Da im Client-VPC eine Route zum ULA-Präfix fehlt. Fügen wir sie jetzt hinzu.

Führen Sie in Cloud Shell folgende Schritte aus:

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

Stellen Sie eine SSH-Verbindung zur Clientinstanz her:

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

Führen Sie in der Clientinstanz noch einmal den Curl-Vorgang zur Serverinstanz aus. (Der Befehl legt eine kurze Zeitüberschreitung von 5 Sekunden fest, damit curl nicht zu lange wartet.)

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

Bei diesem Curl-Befehl tritt weiterhin ein Zeitüberschreitungsfehler auf, da die VPC „server1“ noch keine Route zurück zur Client-VPC über die Gateway-Instanz hat.

Beenden Sie die SSH-Sitzung, um mit dem Codelab fortzufahren.

Benutzerdefinierte Route in der VPC des ULA-Servers hinzufügen

Führen Sie in Cloud Shell folgende Schritte aus:

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

Stellen Sie eine SSH-Verbindung zur Clientinstanz her:

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

Führen Sie in der Clientinstanz noch einmal den Curl-Vorgang zur Serverinstanz aus.

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

Dieser curl-Befehl ist jetzt erfolgreich und zeigt, dass Sie eine End-to-End-Erreichbarkeit von der Clientinstanz zur ULA-Serverinstanz haben. Diese Konnektivität ist derzeit nur mit benutzerdefinierten IPv6-Routen mit der nächsten Hop-Instanz als nächsten Hop möglich.

Beispielausgabe

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

Beenden Sie die SSH-Sitzung, um mit dem Codelab fortzufahren.

8. Routen zur Gateway-Instanz erstellen und testen (mit der Adresse der Instanz)

In diesem Abschnitt fügen Sie sowohl dem Client- als auch dem Server-VPC Routen hinzu, indem Sie die IPv6-Adresse der Gateway-Instanz als nächsten Hop verwenden.

Vorherige Routen löschen

Stellen wir die Umgebung wieder her, bevor wir benutzerdefinierte Routen hinzugefügt haben. Löschen Sie dazu die benutzerdefinierten Routen, die den Instanznamen verwenden.

Führen Sie in Cloud Shell folgende Schritte aus:

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

Curl-Befehl vom Client an die ULA-Serverinstanz ausführen

Führen Sie einen Curl-Befehl von der Clientinstanz an die Serverinstanz 1 aus, um zu prüfen, ob die vorherigen Routen erfolgreich gelöscht wurden.

Melden Sie sich in Cloud Shell bei der Clientinstanz an:

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

Führen Sie in der Clientinstanz einen Curl-Befehl mit der ULA-IPv6-Adresse der Instanz „server1“ aus. Der Befehl legt eine kurze Zeitüberschreitung von 5 Sekunden fest, damit Curl nicht zu lange wartet.

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

Bei diesem Curl-Befehl sollte ein Zeitlimit auftreten, da das Client-VPC keine Route mehr zum Server-VPC hat.

IPv6-Adressen der Gateway-Instanz abrufen

Wir müssen die IPv6-Adressen der Gateway-Instanz abrufen, bevor wir Routen mit next-hop-address schreiben können.

Führen Sie in Cloud Shell folgende Schritte aus:

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

Benutzerdefinierte Route in der Client-VPC hinzufügen

Wir können die Route im Client-VPC jetzt wieder mit dem ULA-Präfix hinzufügen, aber die GUA-Adresse des Gateways als nächsten Hop verwenden.

Führen Sie in Cloud Shell folgende Schritte aus:

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

Stellen Sie eine SSH-Verbindung zur Clientinstanz her:

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

Führen Sie in der Clientinstanz noch einmal den Curl-Vorgang zur Serverinstanz aus.

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

Wie erwartet, tritt bei diesem Curl-Befehl weiterhin ein Zeitüberschreitungsfehler auf, da das VPC „server1“ noch keine Route zurück zum Client-VPC über die Gateway-Instanz hat.

Beenden Sie die SSH-Sitzung, um mit dem Codelab fortzufahren.

Benutzerdefinierte Route in der VPC des ULA-Servers hinzufügen

Führen Sie in Cloud Shell folgende Schritte aus:

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

Stellen Sie eine SSH-Verbindung zur Clientinstanz her:

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

Führen Sie in der Clientinstanz noch einmal den Curl-Vorgang zur Serverinstanz aus.

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

Dieser curl-Befehl ist jetzt erfolgreich und zeigt, dass Sie eine End-to-End-Erreichbarkeit von der Clientinstanz zur ULA-Serverinstanz haben. Diese Konnektivität ist derzeit nur mit benutzerdefinierten IPv6-Routen mit Next-Hop-Adressen als Next-Hops möglich.

Beispielausgabe

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

Beenden Sie die SSH-Sitzung, um mit dem Codelab fortzufahren.

9. Route zum Internetgateway erstellen und testen

Da Sie dieses Lab bereits eingerichtet haben, testen wir auch die Funktion der neuen Next-Hop-Eigenschaft: next-hop-gateway.

cURL-Befehl vom Client an die GUA-Serverinstanz ausführen

Sie können das Verhalten sehen, bevor Sie neue Routen hinzufügen. Führen Sie einen Curl-Befehl von der Clientinstanz an die IP-Adresse von Server 2 aus.

Melden Sie sich in Cloud Shell bei der Clientinstanz an:

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

Führe in der Clientinstanz einen Curl-Vorgang zum IPv6-Endpunkt aus.

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

Bei diesem Curl-Befehl sollte ein Zeitüberschreitungsfehler auftreten, da das Client-VPC nur eine eigene Subnetzroute und eine Route zum VPC von Server1 hat. Damit Sie den GUA-Bereich der VPC von Server 2 erreichen können, müssen Sie das Standard-Internetgateway über eine benutzerdefinierte Route verwenden.

Beenden Sie die SSH-Sitzung, um mit dem Codelab fortzufahren.

Benutzerdefinierte Gateway-Route im Client-VPC hinzufügen

Führen Sie in Cloud Shell folgende Schritte aus:

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

Stellen Sie eine SSH-Verbindung zur Clientinstanz her:

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

Wiederholen Sie die gleiche curl-Anfrage in der Clientinstanz.

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

Mit diesem Curl-Befehl sollte jetzt die benutzerdefinierte Begrüßungsnachricht zurückgegeben werden, was darauf hinweist, dass Sie die IPv6-Adresse des anderen Servers über das Standard-Internet-Gateway erfolgreich erreichen konnten.

Beispielausgabe:

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

Beenden Sie die SSH-Sitzung, um mit dem Abschnitt zur Bereinigung des Labs fortzufahren.

10. Bereinigen

Instanzen bereinigen

Führen Sie in Cloud Shell folgende Schritte aus:

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

Subnetze bereinigen

Führen Sie in Cloud Shell folgende Schritte aus:

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

Firewallregeln bereinigen

Führen Sie in Cloud Shell folgende Schritte aus:

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

Benutzerdefinierte Routen bereinigen

Führen Sie in Cloud Shell folgende Schritte aus:

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

VPCs bereinigen

Führen Sie in Cloud Shell folgende Schritte aus:

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. Glückwunsch

Sie haben statische benutzerdefinierte IPv6-Routen mit nächsten Hops verwendet, die auf „next-hop-gateway“, „next-hop-instance“ und „next-hop-address“ festgelegt sind. Außerdem haben Sie die End-to-End-IPv6-Kommunikation mithilfe dieser Routen validiert.

Nächste Schritte

Sehen Sie sich einige dieser Codelabs an:

Weitere Lesematerialien und Videos

Referenzdokumente