Netzwerkadressübersetzung mit privater NAT einrichten und verwalten
Auf dieser Seite erfahren Sie, wie Sie Network Address Translation (NAT) mithilfe von Inter-VPC NAT, einer Funktion für private NAT, konfigurieren. Lesen Sie vor dem Einrichten von Inter-VPC-NAT die Übersicht über private NAT.
Beschränkungen
- Inter-VPC-NAT unterstützt keine endpunktunabhängige Zuordnung.
- Inter-VPC-NAT mit projektübergreifender Unterstützung ist in der Vorschau nicht verfügbar.
- Logging-Unterstützung für Inter-VPC NAT ist in der Vorschau nicht verfügbar.
- In der Vorschau werden private NAT-Gateways in der Google Cloud Console in der Liste der NAT-Gateways angezeigt. Sie müssen ein vorhandenes privates NAT-Gateway jedoch nur mit der gcloud CLI aktualisieren. Wenn Sie ein vorhandenes privates NAT-Gateway über die Google Cloud Console aktualisieren, kann dies zu einer falschen Konfiguration führen.
- Das Draining von IP-Adressbereichen wird in der Vorschau nicht unterstützt.
- Sie können Inter-VPC-NAT nicht verwenden, um einen bestimmten primären oder sekundären IP-Adressbereich für ein bestimmtes Subnetz zu übersetzen. Ein privates NAT-Gateway führt NAT für alle IP-Adressbereiche für ein bestimmtes Subnetz oder eine Liste von Subnetzen aus.
- Nach dem Erstellen kann die Größe des privaten NAT-Subnetzes nicht mehr erhöht oder verringert werden. Sie können jedoch mehrere private NAT-Subnetzbereiche für ein bestimmtes Gateway angeben.
- Inter-VPC-NAT unterstützt maximal 64.000 gleichzeitige Verbindungen pro Endpunkt.
- Inter-VPC-NAT unterstützt nur TCP- und UDP-Verbindungen.
- Inter-VPC-NAT unterstützt Netzwerkadressübersetzung (Network Address Translation, NAT) nur zwischen VPC-Spokes (Network Connectivity Center) und nicht mit Virtual Private Cloud-Netzwerken, die über VPC-Netzwerk-Peering verbunden sind.
- Eine VM-Instanz in einem VPC-Netzwerk kann nur auf Ziele in einem nicht überlappenden Subnetzwerk in einem Peering-Netzwerk und nicht in einem sich überschneidenden Subnetzwerk zugreifen.
Hinweise
Führen Sie die folgenden Aufgaben aus, bevor Sie eine private NAT einrichten.
IAM-Berechtigungen abrufen
Die Rolle Compute-Netzwerkadministrator (roles/compute.networkAdmin
) gibt Ihnen die Berechtigung, ein NAT-Gateway auf Cloud Router zu erstellen, NAT-IP-Adressen zu reservieren und zuzuweisen sowie Subnetzwerke (Subnetze) anzugeben, deren Traffic die Netzwerkadressübersetzung durch das NAT-Gateway verwenden soll.
Google Cloud einrichten
Zuvor sollten Sie jedoch die folgenden Elemente in Google Cloud einrichten.
- Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
- Installieren Sie die Google Cloud CLI.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
-
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
- Installieren Sie die Google Cloud CLI.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
In der Anleitung für das Google Cloud CLI auf dieser Seite wird davon ausgegangen, dass Sie Ihre Projekt-ID festgelegt haben, bevor Sie Befehle verwenden.
Sie können eine Projekt-ID mit dem folgenden Befehl festlegen:
gcloud config set project PROJECT_ID
Sie können auch eine Projekt-ID anzeigen lassen, die bereits festgelegt ist:
gcloud config list --format='text(core.project)'
NAT-Subnetz mit dem Zweck PRIVATE_NAT erstellen
Bevor Sie die Inter-VPC-NAT konfigurieren, erstellen Sie ein NAT-Subnetz mit dem Zweck PRIVATE_NAT
.
Das private NAT-Gateway verwendet IP-Adressbereiche aus diesem Subnetz, um NAT auszuführen. Achten Sie darauf, dass sich dieses Subnetz nicht mit einem vorhandenen Subnetz in einem der VPC-Spokes überschneidet, die mit demselben Network Connectivity Center-Hub verbunden sind.
Sie können in diesem Subnetz keine Ressource erstellen. Dieses Subnetz wird nur für private NAT verwendet.
Console
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Klicken Sie auf den Namen eines VPC-Netzwerks, um die Detailseite des VPC-Netzwerks aufzurufen.
Klicken Sie auf Subnetz hinzufügen. Führen Sie im Dialogfeld Subnetz hinzufügen die folgenden Schritte aus:
- Geben Sie einen Namen für das Subnetz an.
- Wählen Sie eine Region aus.
- Wählen Sie unter Zweck die Option Private NAT aus.
Geben Sie einen IP-Adressbereich ein. Dies ist der primäre IPv4-Bereich für das Subnetz.
Wenn Sie einen Bereich auswählen, der keine RFC 1918-Adresse ist, prüfen Sie, ob der Bereich mit einer vorhandenen Konfiguration in Konflikt steht. Weitere Informationen zu gültigen IPv4-Subnetzbereichen finden Sie unter IPv4-Subnetzbereiche.
Klicken Sie auf Hinzufügen.
gcloud
Verwenden Sie den Befehl compute networks subnet create
, um das Subnetz zu erstellen.
gcloud beta compute networks subnets create NAT_SUBNET \ --network=NETWORK \ --region=REGION \ --range=IP_RANGE \ --purpose=PRIVATE_NAT
Ersetzen Sie Folgendes:
NAT_SUBNET
: der Name des privaten NAT-Subnetzbereichs, der erstellt werden soll.NETWORK
: Das Netzwerk, zu dem das Subnetzwerk gehört.REGION
: Region des zu erstellenden Subnetzwerks. Wenn keine Angabe erfolgt, werden Sie möglicherweise aufgefordert, eine Region auszuwählen (nur im interaktiven Modus).IP_RANGE
: der diesem Subnetz zugewiesene IP-Bereich im CIDR-Format. Achten Sie darauf, dass IP_RANGE die doppelte Größe der pro VM erforderlichen Ports berücksichtigt.
Private NAT-Konfigurationen erstellen
Inter-VPC-NAT verwendet ein privates NAT-Gateway, das in Verbindung mit Network Connectivity Center verwendet wird, um NAT zwischen VPC-Netzwerken auszuführen.
Inter-VPC-NAT einrichten
Damit die Kommunikation zwischen zwei VPC-Netzwerken mit überlappenden Subnetz-IP-Bereichen möglich ist, müssen die VPC-Netzwerke als VPC-Spokes konfiguriert sein, die mit demselben Network Connectivity Center-Hub verbunden sind. Weitere Informationen zum Erstellen von VPC-Spokes finden Sie unter VPC-Spokes erstellen.
Nachdem Sie die VPC-Netzwerke als VPC-Spokes konfiguriert haben, erstellen Sie ein privates NAT-Gateway mit einer benutzerdefinierten NAT-Regel, die NAT für Traffic zwischen den VPC-Spokes ausführt.
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud NAT.
Klicken Sie auf Erste Schritte oder NAT-Gateway erstellen.
Geben Sie einen Gatewaynamen ein.
Wählen Sie für NAT-Typ die Option Privat aus.
Wählen Sie ein VPC-Netzwerk für das NAT-Gateway aus.
Wählen Sie die Region für das NAT-Gateway aus.
Wählen Sie einen Cloud Router in der Region aus oder erstellen Sie einen.
Wählen Sie für Cloud NAT-Zuordnung in der Liste Quelle die Option Benutzerdefiniert aus.
Wählen Sie ein Subnetz aus, in dem Sie NAT ausführen möchten.
Wählen Sie in der Liste IP-Bereiche die Option Alle primären und sekundären Bereiche aus.
Wenn Sie weitere Bereiche angeben möchten, klicken Sie auf Subnetz und IP-Bereich hinzufügen.
Klicken Sie auf Regel hinzufügen.
Geben Sie in das Feld Regelnummer einen Wert zwischen
1
und65000
ein.Wählen Sie in der Liste Abgleich den entsprechenden Network Connectivity Center-Hub aus.
Wählen Sie einen privaten NAT-Subnetzbereich aus oder erstellen Sie einen.
Klicken Sie auf Fertig und dann auf Erstellen.
gcloud
Erstellen Sie einen Cloud Router im VPC-Spoke, für den Sie NAT ausführen möchten. Verwenden Sie den Befehl
compute routers create
.gcloud compute routers create ROUTER_NAME \ --network=NETWORK --region=REGION
Ersetzen Sie Folgendes:
ROUTER_NAME
: der Name des Routers, der erstellt werden soll.NETWORK
: das VPC-Netzwerk für diesen Router.REGION
: Region des zu erstellenden Routers. Wenn keine Angabe erfolgt, werden Sie möglicherweise aufgefordert, eine Region auszuwählen (nur für den interaktiven Modus).
Erstellen Sie ein privates NAT-Gateway. Geben Sie dazu die Subnetze des Quell-VPC-Spokes an, für den Sie NAT ausführen möchten.
Verwenden Sie den Befehl
compute routers nats create
, wobei das Flag--type
aufPRIVATE
gesetzt ist.gcloud beta compute routers nats create NAT_CONFIG \ --router=ROUTER_NAME --type=PRIVATE --region=REGION \ --nat-custom-subnet-ip-ranges=SUBNETWORK:ALL|[SUBNETWORK_1:ALL ...] | \ [--nat-all-subnet-ip-ranges]
Ersetzen Sie Folgendes:
NAT_CONFIG
: der Name der privaten NAT-Konfiguration, die erstellt werden soll.ROUTER_NAME
: der Name des Routers, der mit diesem Gateway verwendet werden soll. Der Router ist derselbe, den Sie im vorherigen Schritt erstellt haben. Achten Sie darauf, dass diesem Router keine andere Ressource zugeordnet ist.SUBNETWORK
: der Name des Subnetzes oder die Liste der Subnetze, die das Gateway verwenden dürfen. Sie können auch eine Liste von Subnetzen in einem kommagetrennten Format angeben, z. B. SUBNETWORK_1, SUBNETWORK_2 usw. Google Cloud führt NAT immer für alle Subnetz-IP-Bereiche für das angegebene Subnetz oder die Liste der Subnetze durch.
Erstellen Sie eine NAT-Regel im privaten NAT-Gateway, um NAT für Traffic auszuführen, der über die Quell-VPC an einen der Peer-VPC-Spokes gesendet wird, die an einen übereinstimmenden Network Connectivity Center-Hub angehängt sind. Basierend auf der NAT-Regel weist das private NAT-Gateway NAT-IP-Adressen aus dem privaten NAT-Subnetz zu, um NAT für den Traffic auszuführen.
Führen Sie den Befehl
compute routers nats rules create
aus.gcloud beta compute routers nats rules create NAT_RULE_NUMBER \ --router=ROUTER_NAME --region=REGION \ --nat=NAT_CONFIG \ --match='nexthop.hub == "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/hubs/HUB"' \ --source-nat-active-ranges=NAT_SUBNET ...
Ersetzen Sie Folgendes:
NAT_RULE_NUMBER
: die Nummer, die die zu erstellende Regel eindeutig identifiziert.NAT_CONFIG
: der Name Ihrer privaten NAT-Konfiguration für die zu erstellende Regel. Die Konfiguration entspricht der im vorherigen Schritt.PROJECT_ID
: die global eindeutige Kennung für das Projekt, in dem sich Ihr Router befindet.HUB
: der Name des entsprechenden Network Connectivity Center-Hubs.NAT_SUBNET
: der Name des privaten NAT-Subnetzes, das Sie zuvor erstellt haben. Sie können auch eine Liste von Subnetzen in einem kommagetrennten Format angeben.
Inter-VPC-NAT mit statischer Portzuweisung einrichten
Inter-VPC-NAT verwendet standardmäßig die dynamische Portzuweisung. Sie können Inter-VPC-NAT jedoch so konfigurieren, dass die statische Portzuweisung verwendet wird.
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud NAT.
Klicken Sie auf Erste Schritte oder NAT-Gateway erstellen.
Geben Sie einen Gatewaynamen ein.
Wählen Sie für NAT-Typ die Option Privat aus.
Wählen Sie ein VPC-Netzwerk für das NAT-Gateway aus.
Wählen Sie die Region für das NAT-Gateway aus.
Wählen Sie einen Cloud Router in der Region aus oder erstellen Sie einen.
Geben Sie die Cloud NAT-Zuordnungsdetails an und erstellen Sie eine NAT-Regel. Weitere Informationen finden Sie unter Inter-VPC-NAT einrichten.
Klicken Sie auf Erweiterte Konfiguration.
Entfernen Sie das Häkchen bei Dynamische Portzuweisung aktivieren.
Geben Sie den Wert für Mindestanzahl von Ports pro VM-Instanz an. Der Standardwert ist
64
.Klicken Sie auf Fertig und dann auf Erstellen.
gcloud
Verwenden Sie den Befehl compute routers nats create
mit dem Flag --no-enable-dynamic-port-allocation
.
gcloud beta compute routers nats create NAT_CONFIG \ --router=ROUTER_NAME --type=PRIVATE --region=REGION \ --nat-custom-subnet-ip-ranges=SUBNETWORK:ALL|[SUBNETWORK_1:ALL,SUBNETWORK_2:ALL,...] \ --no-enable-dynamic-port-allocation \ [--min-ports-per-vm=VALUE]
Ersetzen Sie Folgendes:
NAT_CONFIG
: der Name der privaten NAT-Konfiguration, die erstellt werden soll.ROUTER_NAME
: der Name des Routers, der mit diesem Gateway verwendet werden soll.SUBNETWORK
: der Name des Subnetzes oder die Liste der Subnetze, die das Gateway verwenden dürfen.Sie können auch eine Liste von Subnetzen in einem kommagetrennten Format angeben, z. B. SUBNETWORK_1, SUBNETWORK_2 usw. Google Cloud führt NAT immer für alle Subnetz-IP-Bereiche für das angegebene Subnetz oder die Liste der Subnetze durch.
VALUE
: die Mindestanzahl von Ports pro VM, die das Gateway zuweisen soll. Wenn keine Angabe erfolgt, weist Google Cloud den Standardwert64
zu.
NAT-Konfiguration ansehen
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud NAT.
Klicken Sie auf den Namen des NAT-Gateways, um NAT-Gatewaydetails, Zuordnungsinformationen und Konfigurationsdetails aufzurufen.
Den NAT-Status finden Sie in der Spalte Status des NAT-Gateways.
gcloud
Mit den folgenden Befehlen können Sie die NAT-Konfigurationsdetails aufrufen:
Sehen Sie sich die Konfiguration des privaten NAT-Gateways an.
gcloud compute routers nats describe NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION
Ersetzen Sie Folgendes:
NAT_CONFIG
: Der Name Ihrer NAT-Konfiguration.NAT_ROUTER
: Der Name Ihres Cloud Routers.REGION
: Region der NAT, die beschrieben werden soll. Wenn keine Angabe erfolgt, werden Sie möglicherweise aufgefordert, eine Region auszuwählen (nur für den interaktiven Modus).
Sehen Sie sich die Zuordnung der IP-Portbereiche an, die den Schnittstellen jeder VM zugewiesen sind.
gcloud compute routers get-nat-mapping-info NAT_ROUTER \ --region=REGION
Rufen Sie den Status des privaten NAT-Gateways auf.
gcloud compute routers get-status NAT_ROUTER \ --region=REGION
NAT-Konfigurationen für Inter-VPC aktualisieren
Nachdem Sie das private NAT-Gateway eingerichtet haben, können Sie die Gateway-Konfiguration entsprechend Ihren Anforderungen aktualisieren. In den folgenden Abschnitten werden die Aufgaben aufgeführt, die Sie zum Aktualisieren Ihres privaten NAT-Gateways ausführen können.
Mit Inter-VPC-NAT verknüpfte Subnetze ändern
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud NAT.
Klicken Sie auf Ihr NAT-Gateway.
Klicken Sie auf
Bearbeiten.Wählen Sie für Cloud NAT-Zuordnung in der Liste Quelle die Option Benutzerdefiniert aus.
Wählen Sie ein neues Subnetz aus der Liste der verfügbaren Subnetze aus.
Wenn Sie weitere Bereiche angeben möchten, klicken Sie auf Subnetz und IP-Bereich hinzufügen und wählen Sie ein anderes Subnetz aus.
Klicken Sie auf Speichern.
gcloud
gcloud beta compute routers nats update NAT_CONFIG \ --router=ROUTER_NAME \ --region=REGION \ --nat-custom-subnet-ip-ranges=SUBNETWORK:ALL|[SUBNETWORK_1:ALL,SUBNETWORK_2:ALL,..]
Ersetzen Sie Folgendes:
NAT_CONFIG
: der Name der privaten NAT-Konfiguration, die aktualisiert werden soll.ROUTER_NAME
: der Name des Routers, der mit diesem Gateway verwendet werden soll.SUBNETWORK
ist der Name des zu verwendenden Subnetzes.
Mit Inter-VPC-NAT verknüpfte Subnetze löschen
Sie können bestimmte Subnetze aus dem NAT-Gateway entfernen, die nicht mehr verwendet werden.
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud NAT.
Klicken Sie auf Ihr NAT-Gateway.
Klicken Sie auf
Bearbeiten.Löschen Sie das Subnetz, das Sie aus der NAT-Zuordnung entfernen möchten.
Klicken Sie auf Speichern.
NAT-Konfiguration löschen
Durch das Löschen einer Gateway-Konfiguration wird die NAT-Konfiguration von einem Cloud Router entfernt. Der Router selbst wird dadurch nicht gelöscht.
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud NAT.
Klicken Sie das Kästchen neben der Gatewaykonfiguration an, die Sie löschen möchten.
Klicken Sie im
Menü auf Löschen.
gcloud
gcloud compute routers nats delete NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION
Ersetzen Sie Folgendes:
NAT_CONFIG
: Der Name Ihrer NAT-Konfiguration.NAT_ROUTER
: Der Name Ihres Cloud Routers.REGION
: Region der zu löschenden NAT. Wenn keine Angabe erfolgt, werden Sie möglicherweise aufgefordert, eine Region auszuwählen (nur für den interaktiven Modus).
Nächste Schritte
- Logging und Monitoring für Cloud NAT konfigurieren.
- Häufige Probleme mit NAT-Konfigurationen beheben