Sie können eine klassische VPN-Tunnelverbindung zwischen einem lokalen Standort und Google Cloud konfigurieren, sodass sowohl die Quell- als auch die Ziel-IP-Adressen externe IP-Adressen (nicht RFC 1918) sind. Sie können beispielsweise eine klassische VPN-Verbindung zu einem Remote-Standort so konfigurieren, dass die lokalen IP-Adressbereiche nicht mit der IP-Adresse der Google Cloud-VM in Konflikt stehen.
In dieser Anleitung verwenden Sie ein Google Cloud-Projekt, die Google Cloud Console, eine VM-Instanz, Classic VPN und einige Linux-Befehle. Erstellen Sie zum Testen der Verbindung eine neue VM-Instanz, um Traffic zwischen der VM und einem Remote-Peer zu senden und zu empfangen.
Hinweis
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
- Installieren Sie das
gcloud
-Befehlszeilentool auf Ihrer Workstation. - Konfigurieren Sie dann das
gcloud
-Befehlszeilentool für die Verwendung Ihres Projekts. Ersetzen Sie im folgenden BefehlPROJECT_ID
durch Ihre Projekt-ID:gcloud config set project PROJECT_ID
- Die lokalen Subnetze müssen mit Ihrem lokalen VPN-Gateway verbunden sein.
- Folgen Sie der Anleitung unter Peer-VPN-Gateway konfigurieren, um das Peer-VPN-Gateway zwischen Google Cloud und Ihrem lokalen VPN-Gateway zu konfigurieren.
Neue statische externe IP-Adresse reservieren
In Compute Engine kann eine VM-Instanz jeweils mehrere Netzwerkschnittstellen haben. Die einzelnen Schnittstellen können sowohl interne als auch externe IP-Adressen haben. Weiterleitungsregeln können externe IP-Adressen für das externe Load-Balancing oder interne Adressen für das interne Load-Balancing nutzen. Weitere Informationen zu statischen IP-Adressen finden Sie unter Externe IP-Adressen.
Eine statische externe IP-Adresse ist die IP-Adresse, die so lange für Ihr Projekt reserviert ist, bis Sie diese freigeben. Wenn Sie eine IP-Adresse haben, über die Ihre Kunden oder Nutzer regelmäßig auf Ihren Dienst zugreifen, können Sie diese reservieren, damit nur Ihr Projekt sie nutzen kann. Sie können auch eine sitzungsspezifische externe IP-Adresse in eine statische externe IP-Adresse umwandeln.
Sie können zwei Arten externer IP-Adressen reservieren:
- Regionale IP-Adressen, die von VM-Instanzen mit einer oder mehreren Netzwerkschnittstellen oder von regionalen Load-Balancern verwendet werden.
- Globale IP-Adressen, die für globale Load-Balancer verwendet werden
Eine Liste der regionalen und globalen Load-Balancer finden Sie unter Zusammenfassung der Load-Balancer von Google Cloud.
Reservieren Sie eine statische externe IP-Adresse über das Google Cloud CLI oder über die API. Nachdem Sie die IP-Adresse reserviert haben, weisen Sie sie beim Erstellen der neuen Instanz einer neuen Instanz zu oder weisen Sie sie einer vorhandenen Instanz zu.
Console
Gehen Sie zur Seite Statische Adresse reservieren.
Wählen Sie einen Namen für die neue Adresse.
Geben Sie an, ob es sich um eine IPv4- oder IPv6-Adresse handelt. IPv6-Adressen sind immer global und können nur mit globalen Load-Balancern verwendet werden.
Legen Sie fest, ob diese IP-Adresse regional oder global ist. Wenn Sie eine statische IP-Adresse für eine Instanz oder für einen regionalen Load-Balancer reservieren, wählen Sie Regional aus. Wenn Sie eine statische IP-Adresse für einen globalen Load-Balancer reservieren, wählen Sie Global aus.
Wählen Sie für eine regionale IP-Adresse die Region aus, in der die Adresse erstellt werden soll.
Optional: Wählen Sie eine Ressource aus, die Sie an die IP-Adresse anhängen möchten.
Klicken Sie auf Reservieren, um die IP-Adresse zu reservieren.
gcloud
Zum Reservieren einer statischen externen IP-Adresse mit gcloud compute
verwenden Sie den Befehl compute addresses create
.
Verwenden Sie zum Reservieren einer globalen IP-Adresse die Felder --global
und --ip-version
. Geben Sie für das Feld --ip-version
entweder IPV4
oder IPV6
an. IPv6-Adressen sind immer global und können nur mit globalen Load-Balancern verwendet werden.
Ersetzen Sie ADDRESS_NAME
durch den Namen für diese Adresse.
gcloud compute addresses create ADDRESS_NAME \ --global \ --ip-version [IPV4 | IPV6]
Verwenden Sie das Feld --region
, um eine regionale IP-Adresse zu reservieren:
gcloud compute addresses create ADDRESS_NAME \ --region=REGION
Dabei gilt:
ADDRESS_NAME
ist der Name für diese Adresse.REGION
ist die Region, in der diese Adresse reserviert werden soll. Diese Region sollte mit der Region der Ressource übereinstimmen, der die IP-Adresse zugewiesen ist. Alle regionalen IP-Adressen sind IPv4.
Verwenden Sie den Befehl compute addresses describe
, um das Ergebnis anzeigen zu lassen:
gcloud compute addresses describe ADDRESS_NAME
API
Rufen Sie zum Erstellen einer regionalen IPv4-Adresse die regionale Methode addresses.insert
auf:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
Ihre Anfrage sollte folgenden Text enthalten:
{ "name": "ADDRESS_NAME" }
Dabei gilt:
ADDRESS_NAME
ist der Name der AdresseREGION
ist der Name der Region für diese Anfrage.PROJECT_ID
: Projekt-ID für diese Anfrage.
Rufen Sie für globale statische IPv4-Adressen die Methode globalAddresses.insert
auf:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses
Ihre Anfrage sollte folgenden Text enthalten:
{ "name": "ADDRESS_NAME" }
Rufen Sie für globale statische IPv6-Adressen die Methode globalAddresses.insert
auf:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses
Ihre Anfrage sollte folgenden Text enthalten:
{ "name": "ADDRESS_NAME", "ipVersion": "IPV6" }
Sie können das Ergebnis über die Methode addresses.get
aufrufen.
Terraform
Sie können ein Terraform-Modul verwenden, um eine interne IP-Adresse zu erstellen.
Im folgenden Beispiel haben die Terraform-Argumente Beispielwerte, die Sie ändern können. Im Beispiel werden drei regionale externe IPv4-Adressen erstellt.
Im folgenden Beispiel wird eine globale externe IPv6-Adresse erstellt:
Aktivieren Sie die IP-Weiterleitung.
Sie können die IP-Weiterleitung aktivieren, wenn Sie eine VM erstellen oder das Instanzattribut canIpForward
auf einer vorhandenen VM aktualisieren. Die IP-Weiterleitung ist auf VM-Ebene aktiviert und gilt für alle mit der VM verbundenen Schnittstellen.
IP-Weiterleitung beim Erstellen einer VM aktivieren
In dieser Anleitung wird beschrieben, wie Sie die IP-Weiterleitung beim Erstellen einer VM aktivieren. Wenn Sie die IP-Weiterleitung auf einer vorhandenen VM aktivieren müssen, aktualisieren Sie das Instanzattribut canIpForward
.
Console
- Rufen Sie die Seite VM-Instanzen auf.
Zur Seite „VM-Instanzen“ - Klicken Sie auf Instanz erstellen.
- Prüfen Sie unter Bootlaufwerk, ob Sie ein Linux-Image ausgewählt haben, beispielsweise Debian GNU/Linux.
- Klicken Sie auf Netzwerk, Laufwerke, Sicherheit, Verwaltung, einzelne Mandanten.
- Klicken Sie auf Netzwerk.
- Wählen Sie für die IP-Weiterleitung die Option Aktivieren aus.
- Geben Sie etwaige andere Instanzparameter an.
- Klicken Sie auf Erstellen.
gcloud
Fügen Sie beim Erstellen einer Instanz mit gcloud
das Flag --can-ip-forward
an den Befehl an:
gcloud compute instances create ... --can-ip-forward
API
Verwenden Sie beim Erstellen einer Instanz das Feld canIpForward
, um die IP-Weiterleitung zu aktivieren.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "canIpForward": true, ...other fields }
Dabei gilt:
- PROJECT_ID: die ID des Projekts, in dem die Instanz erstellt wird.
- ZONE: die Google Cloud-Zone, in der die Instanz erstellt wird.
Weitere Informationen finden Sie in der Methode instances.insert
.
Terraform
Sie können die Terraform-Ressource verwenden, um eine VM-Instanz mit aktivierter IP-Weiterleitung zu erstellen.
In diesem Beispiel sind den Terraform-Argumenten Werte zugewiesen, die Sie ändern können.
Route für eingehenden Traffic erstellen
Führen Sie folgende Schritte aus, um eine neue statische Route zu erstellen. Machen Sie sich vorher mit folgenden Punkten vertraut:
Benutzerdefinierte statische Routen dürfen keine Zielbereiche haben, die mit den Zielbereichen beliebiger Subnetzrouten in Ihrem VPC-Netzwerk übereinstimmen oder spezifischer als diese sind.
- Wenn Sie zwei VPC-Netzwerke mit VPC-Netzwerk-Peering verbinden, dürfen Ziele von benutzerdefinierten statischen Routen in einem Netzwerk nicht identisch mit Zielen von Subnetzrouten in beiden Netzwerken bzw. spezifischer als diese Ziele sein. Google Cloud lehnt benutzerdefinierte statische Routen ab, die so mit Subnetzrouten in Konflikt stehen.
Erstellen Sie bei Verwendung eines VPC-Netzwerks im automatischen Modus keine statischen Routen, deren Ziele in den Bereich
10.128.0.0/9
fallen, um Konflikte zu vermeiden. Ausführliche Informationen finden Sie unter Für Netzwerke im automatischen Modus reservierte IP-Bereiche.Ziele für benutzerdefinierte statische Routen dürfen sich nicht mit einem internen zugewiesenen Bereich überschneiden.
Machen Sie sich mit Instanzen als nächste Hops vertraut, bevor Sie eine benutzerdefinierte statische Route erstellen, die eine VM als nächsten Hop verwendet. Wenn Sie eine nächste Hop-Instanz auswählen, prüft Google Cloud nur zum Zeitpunkt der Erstellung der Route, ob eine VM vorhanden ist.
Wenn Sie eine Route mit einem Netzwerk-Tag erstellen, kann sie nur von VMs mit diesem Tag empfangen werden. Die getaggte VMs empfangen jedoch weiterhin auch alle Routen ohne Netzwerk-Tag.
Console
- Rufen Sie in der Google Cloud Console die Seite „Routen“ auf.
Zur Seite „Routen“ - Klicken Sie auf Route erstellen.
- Geben Sie einen Namen und eine Beschreibung für die Route an.
- Wählen Sie ein vorhandenes Netzwerk aus, für das die Route gelten soll.
- Geben Sie einen Ziel-IP-Bereich an, um das Ziel der Route festzulegen.
- Geben Sie eine Priorität für die Route an. Die Priorität wird lediglich zum Ermitteln der Routingreihenfolge verwendet, wenn Routen dieselben Ziele haben. Weitere Informationen finden Sie unter Parameter für statische Routen.
- Damit die Route nur auf Instanzen mit übereinstimmenden Netzwerktags angewendet werden kann, geben Sie diese Tags im Feld Instanztags an. Lassen Sie das Feld leer, damit die Route für alle Instanzen im Netzwerk gilt oder wenn Sie einen internen TCP/UDP-Load-Balancer als nächsten Hop der Route auswählen. Netzwerk-Tags gelten nicht für Routen, die einen internen TCP/UDP-Load-Balancer als nächsten Hop haben.
Wählen Sie einen nächsten Hop für die Route aus:
- Instanz angeben ermöglicht Ihnen, eine Instanz anhand ihres Namens auszuwählen. Der Traffic wird an diese Instanz (oder eine Ersatzinstanz mit demselben Namen in derselben Zone) weitergeleitet, auch wenn sich ihre IP-Adresse ändert.
- IP-Adresse angeben ermöglicht Ihnen, eine IP-Adresse einer vorhandenen Instanz im VPC-Netzwerk einzugeben. Wichtige Einschränkungen für gültige IP-Adressen für den nächsten Hop finden Sie unter Nächste Hops für statische Routen.
Weitere Informationen zu den verschiedenen Typen von nächsten Hops finden Sie unter Nächste Hops für statische Routen.
Klicken Sie auf Erstellen.
gcloud
Erstellen Sie eine neue benutzerdefinierte statische Route.
gcloud compute routes create ROUTE_NAME \ --destination-range=DESTINATION_RANGE \ --network=NETWORK \ NEXT_HOP_SPECIFICATION
Ersetzen Sie die Platzhalter:
- ROUTE_NAME ist der Name der Route.
- DESTINATION_RANGE steht für die Ziel-IP-Adressen, für die diese Route gelten soll. Das breitestmögliche Ziel ist
0.0.0.0/0
. - NETWORK ist der Name des VPC-Netzwerks, das die Route enthält.
- NEXT_HOP_SPECIFICATION steht für den nächsten Hop der benutzerdefinierten statischen Route. Sie dürfen nur einen der folgenden Hops als nächsten Hop angeben. Weitere Informationen zu den verschiedenen Typen von nächsten Hops finden Sie unter Nächste Hops für statische Routen.
--next-hop-instance=INSTANCE_NAME
und--next-hop-instance-zone=ZONE
: Verwenden Sie diesen nächsten Hop, um Traffic anhand des Namens und der Zone an eine vorhandene VM-Instanz weiterzuleiten. Der Traffic wird an die primäre interne IP-Adresse für die Netzwerkschnittstelle der VM gesendet, die sich im selben Netzwerk wie die Route befindet.--next-hop-address=ADDRESS
: Verwenden Sie diesen nächsten Hop, um Traffic an die IP-Adresse einer vorhandenen VM-Instanz weiterzuleiten.
Wenn die benutzerdefinierte statische Route nur für VMs gelten soll, die nach Netzwerk-Tag ausgewählt werden, fügen Sie das Flag --tags
hinzu und geben Sie ein oder mehrere Netzwerk-Tags an. Weitere Informationen zum Zusammenspiel von Netzwerktags und benutzerdefinierten statischen Routen finden Sie unter Anwendbare Routen. Sie können Tags bei jeder benutzerdefinierten statischen Route verwenden.
Weitere Informationen zur Syntax von gcloud
finden Sie in der SDK-Dokumentation.
API
Erstellen Sie eine neue benutzerdefinierte statische Route.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes { "destRange": "DESTINATION_RANGE", "name": "ROUTE_NAME", "network": "NETWORK_NAME", "priority": PRIORITY, "NEXT_HOP_SPECIFICATION": VALUE }
Ersetzen Sie die Platzhalter:
- PROJECT_ID ist die ID des Projekts, in dem Ihre Route erstellt wird.
- DESTINATION_RANGE steht für die Ziel-IP-Adressen, für die diese Route gelten soll. Das breitestmögliche Ziel ist
0.0.0.0/0
. - ROUTE_NAME: ein Name für die Route.
- NETWORK_NAME ist der Name des VPC-Netzwerks, das die Route enthält.
- VALUE von NEXT_HOP_SPECIFICATION steht für den nächsten Hop der benutzerdefinierten statischen Route. Für NEXT_HOP_SPECIFICATION dürfen Sie nur eines der folgenden Felder für den nächsten Hop angeben:
nextHopIp
,nextHopInstance
. Weitere Informationen zu den verschiedenen Typen von nächsten Hops finden Sie unter Nächste Hops für statische Routen.
Weitere Informationen finden Sie in der Methode routes.insert
.
Terraform
Sie können eine statische Route mit einem Terraform-Modul erstellen.
Mit dieser statischen Route wird eine Standardroute zum Internet erstellt.
Klassischen VPN-Tunnel mit statischem Routing erstellen
Der VPN-Einrichtungsassistent ist die einzige Google Cloud Console-Option zum Erstellen eines klassischen VPN-Gateways. Der Assistent umfasst alle erforderlichen Konfigurationsschritte, um ein klassisches VPN-Gateway, Tunnel, BGP-Sitzungen und eine externe VPN-Gateway-Ressource zu erstellen. Bestimmte Schritte können Sie aber auch später ausführen, z. B. die BGP-Sitzungen konfigurieren.
Console
Gateway konfigurieren
Rufen Sie in der Google Cloud Console die Seite VPN auf.
Wenn Sie zum ersten Mal ein Gateway erstellen, klicken Sie auf VPN-Verbindung erstellen.
Wählen Sie den VPN-Einrichtungsassistenten aus.
Wählen Sie die Optionsschaltfläche Klassisches VPN aus.
Klicken Sie auf Weiter.
Geben Sie auf der Seite VPN-Verbindung erstellen die folgenden Gateway-Einstellungen an:
- Name: Der Name des VPN-Gateways. der Name kann später nicht mehr geändert werden.
- Beschreibung: (Optional) Fügen Sie eine Beschreibung hinzu.
- Netzwerk: Geben Sie ein vorhandenes VPC-Netzwerk an, in dem das VPN-Gateway und der Tunnel erstellt werden sollen.
- Region: Cloud VPN-Gateways und Tunnel sind regionale Objekte. Wählen Sie eine Google Cloud-Region aus, in der sich das Gateway befinden soll. Instanzen und andere Ressourcen in unterschiedlichen Regionen können den Tunnel für ausgehenden Traffic entsprechend der Reihenfolge der Routen verwenden. Für eine optimale Leistung sollten sich das Gateway und der Tunnel in derselben Region wie relevante Google Cloud-Ressourcen befinden.
- IP-Adresse: Erstellen Sie eine regionale externe IP-Adresse oder wählen Sie eine vorhandene Adresse aus.
Tunnel konfigurieren
Geben Sie für den neuen Tunnel im Abschnitt Tunnel die folgenden Einstellungen an:
- Name: Der Name des VPN-Tunnels. der Name kann später nicht mehr geändert werden.
- Beschreibung: Geben Sie optional eine Beschreibung ein.
- Remote-Peer-IP-Adresse: Geben Sie die externe IP-Adresse des Peer-VPN-Gateways an.
- IKE-Version: Wählen Sie die geeignete IKE-Version aus, die vom Peer-VPN-Gateway unterstützt wird. IKEv2 wird bevorzugt, wenn es vom Peer-Gerät unterstützt wird.
- Vorinstallierter IKE-Schlüssel: Geben Sie für die Authentifizierung einen vorinstallierten Schlüssel (gemeinsames Secret) an. Der vorinstallierte Schlüssel für den Cloud VPN-Tunnel muss mit dem Secret übereinstimmen, das Sie beim Konfigurieren des Tunnelgegenstücks auf dem Peer-VPN-Gateway angegeben haben. Folgen Sie dieser Anleitung, um einen kryptografisch starken vorinstallierten Schlüssel zu generieren.
- Richtlinienbasierte Tunnel auswählen
- Wählen Sie unter Weiterleitungsoptionen die Option Richtlinienbasiert aus.
- Erstellen Sie unter IP-Bereiche des Remote-Netzwerks eine durch Leerzeichen getrennte Liste der IP-Adressbereiche, die vom lokalen Traffic bei der Einrichtung des lokalen VPN verwendet werden.
- Geben Sie im Feld Lokale IP-Bereiche den externen IP-Adressbereich ein, den Sie zuvor mit dem Subnetzpräfix
/32
erstellt haben. - Klicken Sie auf Fertig.
- Klicken Sie auf Erstellen.
gcloud
Führen Sie die folgende Befehlssequenz aus, um ein Cloud VPN-Gateway zu erstellen. Ersetzen Sie in den Befehlen Folgendes:
PROJECT_ID
: die Projekt-IDNETWORK
: der Name Ihres Google Cloud-NetzwerksREGION
: die Google Cloud-Region, in der Sie das Gateway und den Tunnel erstellenGW_NAME
: der Name des GatewaysGW_IP_NAME
: ein Name für die externe IP-Adresse, die vom Gateway verwendet wird- (Optional)
--target-vpn-gateway-region
ist die Region des klassischen VPN-Gateways, in der der Vorgang ausgeführt werden soll. Der Wert muss mit--region
übereinstimmen. Wenn sie nicht angegeben ist, wird diese Option automatisch festgelegt. Diese Option überschreibt für diesen Befehlsaufruf den Standardwert des Attributs compute/region.
Gateway-Ressourcen konfigurieren
Erstellen Sie das Zielobjekt für das VPN-Gateway:
gcloud compute target-vpn-gateways create GW_NAME \ --network=NETWORK \ --region=REGION \ --project=PROJECT_ID
Reservieren Sie eine regionale externe (statische) IP-Adresse.
gcloud compute addresses create GW_IP_NAME \ --region=REGION \ --project=PROJECT_ID
Notieren Sie die IP-Adresse, damit Sie sie bei der Konfiguration Ihres Peer-VPN-Gateways verwenden können:
gcloud compute addresses describe GW_IP_NAME \ --region=REGION \ --project=PROJECT_ID \ --format='flattened(address)'
Erstellen Sie drei Weiterleitungsregeln. Mit diesen Regeln wird Google Cloud angewiesen, Traffic vom Typ ESP (IPsec), UDP 500 und UDP 4500 an das Gateway zu senden:
gcloud compute forwarding-rules create fr-GW_NAME-esp \ --load-balancing-scheme=EXTERNAL \ --network-tier=PREMIUM \ --ip-protocol=ESP \ --address=GW_IP_NAME \ --target-vpn-gateway=GW_NAME \ --region=REGION \ --project=PROJECT_ID
gcloud compute forwarding-rules create fr-GW_NAME-udp500 \ --load-balancing-scheme=EXTERNAL \ --network-tier=PREMIUM \ --ip-protocol=UDP \ --ports=500 \ --address=GW_IP_NAME \ --target-vpn-gateway=GW_NAME \ --region=REGION \ --project=PROJECT_ID
gcloud compute forwarding-rules create fr-GW_NAME-udp4500 \ --load-balancing-scheme=EXTERNAL \ --network-tier=PREMIUM \ --ip-protocol=UDP \ --ports=4500 \ --address=GW_IP_NAME \ --target-vpn-gateway=GW_NAME \ --region=REGION \ --project=PROJECT_ID
Cloud VPN-Tunnel erstellen
Ersetzen Sie in den Befehlen Folgendes:
TUNNEL_NAME
: ein Name für den TunnelON_PREM_IP
: die externe IP-Adresse des Peer-VPN-GatewaysIKE_VERS
:1
für IKEv1 oder2
für IKEv2SHARED_SECRET
: Ihr vorinstallierter Schlüssel (gemeinsames Secret). Der vorinstallierte Schlüssel für den Cloud VPN-Tunnel muss mit dem Secret übereinstimmen, das Sie beim Konfigurieren des Tunnelgegenstücks auf dem Peer-VPN-Gateway angegeben haben. Folgen Sie dieser Anleitung, um einen kryptografisch starken vorinstallierten Schlüssel zu generieren.
Für richtlinienbasiertes VPN:
LOCAL_IP_RANGES
: eine durch Kommas getrennte Liste der Google Cloud-IP-Adressbereiche. Sie können beispielsweise den CIDR-Block für jedes Subnetz in einem VPC-Netzwerk bereitstellen. Dies ist aus der Sicht von Cloud VPN die linke Seite.REMOTE_IP_RANGES
: eine durch Kommas getrennte Liste der IP-Adressbereiche des Peer-Netzwerks. Dies ist aus Sicht von Cloud VPN die rechte Seite.
Führen Sie zum Konfigurieren eines richtlinienbasierten VPN-Tunnels folgenden Befehl aus:
gcloud compute vpn-tunnels create TUNNEL_NAME \ --peer-address=ON_PREM_IP \ --ike-version=IKE_VERS \ --shared-secret=SHARED_SECRET \ --local-traffic-selector=LOCAL_IP_RANGES \ --remote-traffic-selector=REMOTE_IP_RANGES \ --target-vpn-gateway=GW_NAME \ --region=REGION \ --project=PROJECT_ID
Für routenbasiertes VPN sind sowohl die lokalen als auch die Remote-Trafficauswahlen
0.0.0.0/0
, wie unter Routingoptionen und Trafficauswahlen definiert.Führen Sie zum Konfigurieren eines routenbasierten VPN-Tunnels folgenden Befehl aus:
gcloud compute vpn-tunnels create TUNNEL_NAME \ --peer-address=ON_PREM_IP \ --ike-version=IKE_VERS \ --shared-secret=SHARED_SECRET \ --local-traffic-selector=0.0.0.0/0 \ --remote-traffic-selector=0.0.0.0/0 \ --target-vpn-gateway=GW_NAME \ --region=REGION \ --project=PROJECT_ID
Erstellen Sie eine statische Route für jeden Remote-IP-Adressbereich, den Sie im vorherigen Schritt in der Option
--remote-traffic-selector
angegeben haben. Wiederholen Sie diesen Befehl für jeden Remote-IP-Adressbereich. Ersetzen SieROUTE_NAME
durch einen eindeutigen Namen für die Route undREMOTE_IP_RANGE
durch den entsprechenden Remote-IP-Adressbereich.gcloud compute routes create ROUTE_NAME \ --destination-range=REMOTE_IP_RANGE \ --next-hop-vpn-tunnel=TUNNEL_NAME \ --network=NETWORK \ --next-hop-vpn-tunnel-region=REGION \ --project=PROJECT_ID
VM zum Senden und Empfangen von Traffic konfigurieren
Gehen Sie so vor, um die Einrichtung abzuschließen und zu testen, ob Sie Traffic von der VM senden und empfangen können:
Traffic empfangen
- Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
- Suchen Sie in der Liste der VM-Instanzen nach der zuvor erstellten VM und klicken Sie auf SSH.
Erstellen Sie einen IP-Adressalias für die VM unter Verwendung der zuvor reservierten öffentlichen IP-Adresse. Sie können Traffic zur VM empfangen, nachdem Sie diesen Schritt ausgeführt haben.
Führen Sie dazu diesen Befehl aus:
sudo ip address add EXTERNAL_IP_ADDRESS/32 dev eth0
Ersetzen Sie
EXTERNAL_IP_ADDRESS
durch die zuvor reservierte öffentliche IP-Adresse.
Traffic senden
- Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
- Suchen Sie in der Liste der VM-Instanzen nach der zuvor erstellten VM und klicken Sie auf SSH.
Führen Sie den folgenden Befehl aus, um zu testen, ob Sie eine externe IP-Adresse anpingen können:
$ ping -I EXTERNAL_IP_ADDRESS REMOTE_PEER_IP_ADDRESS PING 10.0.0.1 (10.0.0.1) from EXTERNAL_IP_ADDRESS : 56(84) bytes of data. 64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=4.46 ms 64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=1.11 ms
Ersetzen Sie
REMOTE_PEER_IP_ADDRESS
durch eine IP-Adresse aus dem Subnetz des Remote-Peers.Damit die VM diese Schnittstelle beim Senden von Traffic an den VPN-Tunnel automatisch verwenden kann, können Sie eine
iptables
-Regel erstellen.Führen Sie beispielsweise den folgenden Befehl aus, um eine
iptables
-Regel zu erstellen:$ sudo iptables -t nat -A POSTROUTING --destination REMOTE_PEER_SUBNET -j SNAT --to-source EXTERNAL_IP_ADDRESS
Ersetzen Sie
REMOTE_PEER_SUBNET
durch das Subnetz des Remote-Peers.Führen Sie folgende Befehle aus, um den Cloud VPN-Tunnel zu testen:
$ ping REMOTE_PEER_IP_ADDRESS PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data. 64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=3.48 ms 64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=1.42 ms
$ ping EXTERNAL_IP_ADDRESS PING 35.195.72.19 (35.195.72.19) 56(84) bytes of data. 64 bytes from 35.195.72.19: icmp_seq=1 ttl=64 time=0.033 ms 64 bytes from 35.195.72.19: icmp_seq=2 ttl=64 time=0.062 ms