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

Statische benutzerdefinierte Routen beeinflussen das Standardroutingverhalten 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. Dazu werden zwei VPCs verwendet, die über eine VM-Instanz mit mehreren NICs verbunden sind. Außerdem wird gezeigt, wie ULA- und GUA-Adressierung kombiniert wird und wie die ULA-VPC über die neue Funktion für benutzerdefinierte Routen für das öffentliche Internet erreichbar gemacht wird.

Lerninhalte

  • So erstellen Sie eine benutzerdefinierte IPv6-Route mit einer Next-Hop-Instanz als nächsten Hop.
  • So erstellen Sie eine benutzerdefinierte IPv6-Route mit einem Next-Hop-Gateway als nächsten Hop.
  • So erstellen Sie eine benutzerdefinierte IPv6-Route mit einer Next-Hop-Adresse 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 erleichtern.

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 benutzerdefinierten Routen-Next Hops zu demonstrieren, erstellen Sie drei VPCs: eine Client-VPC, die GUA-Adressierung verwendet, eine Server-VPC, die ULA-Adressierung verwendet, und eine zweite Server-VPC, die GUA-Adressierung verwendet.

Damit die Client-VPC auf den ULA-Server zugreifen kann, verwenden Sie eine benutzerdefinierte Route, bei der sowohl „next-hop-instance“ als auch „next-hop-address“ auf eine Multi-NIC-Gateway-Instanz verweisen. Um Zugriff auf den GUA-Server zu ermöglichen (nachdem die Standardroute ::/0 gelöscht wurde), verwenden Sie eine benutzerdefinierte Route mit „next-hop-gateway“, die auf das Standard-Internetgateway verweist, um das Routing über das Internet zu ermöglichen.

3. VPC des Kunden einrichten

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

Weisen Sie das zugewiesene GUA-Subnetz mit diesem Befehl einer Umgebungsvariablen zu:

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 die Verbindung erfolgreich hergestellt wurde, wird ein Terminalfenster der Clientinstanz angezeigt. Beenden Sie die SSH-Sitzung, um mit dem Codelab fortzufahren.

4. ULA-Server-VPC einrichten

ULA-Server-VPC 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-Server-Subnetze 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

Weisen Sie das zugewiesene ULA-Subnetz mit diesem Befehl einer Umgebungsvariablen zu:

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 zum Zulassen von IAP hinzufügen

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 auf einer 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. GUA-Server-VPC einrichten

GUA-Server-VPC 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-Server-Subnetze 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

Weisen Sie das zugewiesene GUA-Subnetz mit diesem Befehl einer Umgebungsvariablen zu:

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

Server-VM mit einer global eindeutigen 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 zu ermöglichen

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 zum Zulassen von IAP hinzufügen

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

Zur Vorbereitung auf die Umleitung von ULA v6-Traffic an die Instanz mit mehreren NICs und zur Deaktivierung des Internet-Egress-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

Multi-NIC-VM für Gateway starten

Führen Sie in Cloud Shell folgende Schritte aus: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 an der Gateway-Instanz an. Es kann einige Minuten dauern, bis die SSH-Verbindung hergestellt wird, da die Instanz hochfährt:

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

Führen Sie in der Shell der Gateway-VM den folgenden Befehl aus, um die IPv6-Weiterleitung zu aktivieren und weiterhin Router Advertisements (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 auf 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. Dabei verwenden Sie den Namen der Gateway-Instanz als nächsten Hop.

Serveradressen notieren

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

In der Ausgabe sollten sowohl die Namen der Serverinstanzen als auch ihre IPv6-Präfixe enthalten sein. 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 aus verwenden werden. Leider können Umgebungsvariablen nicht einfach zum Speichern dieser Informationen verwendet werden, da sie nicht über SSH-Sitzungen übertragen werden.

cURL-Befehl vom Client zur ULA-Serverinstanz ausführen

So können Sie das Verhalten sehen, bevor Sie neue Routen hinzufügen. Führen Sie einen cURL-Befehl von der Clientinstanz zur 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 Server1-Instanz aus. Mit dem Befehl wird ein kurzes Zeitlimit von 5 Sekunden festgelegt, damit curl nicht zu lange wartet.

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

Für diesen curl-Befehl sollte ein Zeitlimit überschritten werden, da die Client-VPC noch keine Route zur Server-VPC hat.

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

Benutzerdefinierte Route in der Client-VPC hinzufügen

Da im VPC-Client 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 den Curl-Befehl in der Clientinstanz noch einmal aus. (Mit dem Befehl wird ein kurzes Zeitlimit von 5 Sekunden festgelegt, damit curl nicht zu lange wartet.)

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

Für diesen curl-Befehl tritt weiterhin ein Zeitüberschreitungsfehler auf, da für die VPC von server1 noch keine Route über die Gateway-Instanz zurück zur Client-VPC vorhanden ist.

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

Benutzerdefinierte Route in der ULA Server-VPC 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 den Curl-Befehl für die Serverinstanz noch einmal aus.

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

Dieser curl-Befehl wird jetzt erfolgreich ausgeführt. Das bedeutet, dass die Clientinstanz die ULA-Serverinstanz erreichen kann. Diese Verbindung ist jetzt nur noch über benutzerdefinierte IPv6-Routen mit Next-Hop-Instanz als nächste 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.

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. Dabei verwenden Sie die IPv6-Adresse der Gateway-Instanz als nächsten Hop.

Vorherige Routen löschen

Wir stellen die Umgebung auf den Zustand vor dem Hinzufügen benutzerdefinierter Routen wieder her, indem wir die benutzerdefinierten Routen löschen, 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 zur ULA-Serverinstanz ausführen

Führen Sie einen curl-Befehl von der Clientinstanz zur Serverinstanz 1 aus, um zu bestätigen, dass 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 Server1-Instanz aus. Mit dem Befehl wird ein kurzes Zeitlimit von 5 Sekunden festgelegt, damit curl nicht zu lange wartet.

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

Für diesen curl-Befehl sollte ein Zeitlimit überschritten werden, da die Client-VPC keine Route mehr zur Server-VPC hat.

IPv6-Adressen der Gateway-Instanz abrufen

Wir benötigen die IPv6-Adressen der Gateway-Instanz, bevor wir Routen schreiben können, die „next-hop-address“ verwenden.

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 mit dem ULA-Präfix wieder hinzufügen, aber stattdessen 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 den Curl-Befehl in der Clientinstanz noch einmal 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 die VPC von 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 ULA Server-VPC 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 den Curl-Befehl für die Serverinstanz noch einmal aus.

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

Dieser curl-Befehl wird jetzt erfolgreich ausgeführt. Das bedeutet, dass die Clientinstanz die ULA-Serverinstanz erreichen kann. Diese Verbindung ist jetzt nur noch durch die Verwendung von benutzerdefinierten IPv6-Routen mit „next-hop-address“ als nächste 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

Wenn Sie dieses Lab eingerichtet haben, testen wir auch die Funktionalität der neuen Next-Hop-Eigenschaft: „next-hop-gateway“.

cURL-Befehl vom Client zur GUA-Serverinstanz ausführen

So können Sie das Verhalten sehen, bevor Sie neue Routen hinzufügen. Führen Sie einen curl-Befehl von der Client-Instanz zur IP-Adresse von server2 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 für den IPv6-Endpunkt aus.

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

Für diesen curl-Befehl sollte ein Zeitlimit überschritten werden, da die Client-VPC nur eine eigene Subnetzroute und eine Route zur VPC von server1 hat. Damit Sie den GUA-Bereich von server2 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 in der 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 denselben curl-Befehl in der Clientinstanz.

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

Dieser curl-Befehl sollte nun erfolgreich die benutzerdefinierte Begrüßungsnachricht zurückgeben. Das bedeutet, dass Sie die IPv6-Adresse des anderen Servers über das Standard-Internetgateway 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 den Bereinigungsabschnitt des Labs durchzugehen.

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 den nächsten Hops „next-hop-gateway“, „next-hop-instance“ und „next-hop-address“ erfolgreich verwendet. Sie haben auch die End-to-End-IPv6-Kommunikation über diese Routen validiert.

Nächste Schritte

Hier finden Sie einige Codelabs:

Weitere Informationen und Videos

Referenzdokumente