Public NAT

Mit Public NAT können Ihre Google Cloud VM-Instanzen (virtuelle Maschinen) mit dem Internet kommunizieren. Dazu wird jeder VM, die Public NAT verwendet, um ausgehende Verbindungen zum Internet herzustellen, eine Reihe freigegebener externer IPv4-Adressen und Quellports zugewiesen.

Mit Public NAT können VM-Instanzen ohne externe IPv4-Adressen mit IPv4-Zielen im Internet kommunizieren. Mit Public NAT können Ihre VM-Instanzen mit externen oder internen IPv6-Adressen auch eine Verbindung zu IPv4-Zielen im Internet herstellen (Vorabversion).

Spezifikationen

Public NAT unterstützt die Netzwerkadressübersetzung (NAT) für Folgendes:

  • Von IPv4 zu IPv4 oder NAT44. Weitere Informationen finden Sie unter NAT44 in Public NAT.

  • Von IPv6 zu IPv4 oder NAT64 (Vorabversion). Public NAT unterstützt NAT64 für Compute Engine-VM-Instanzen. Bei GKE-Knoten, serverlosem Traffic und regionalen Internet-NEGs wird mit Public NAT nur IPv4-Traffic übersetzt. Weitere Informationen finden Sie unter NAT64 in Public NAT.

Allgemeine Spezifikationen

Für IPv4-Quellpakete können Sie Public NAT so konfigurieren, dass NAT für Pakete bereitgestellt wird, die gesendet werden über:

  • Die primäre interne IP-Adresse der Compute Engine VM-Schnittstelle, sofern der Netzwerkschnittstelle keine externe IP-Adresse zugewiesen ist. Wenn der Netzwerkschnittstelle eine externe IP-Adresse zugewiesen ist, führt Google Cloud automatisch eine 1:1-NAT für Pakete aus, deren Quellen mit der primären internen IP-Adresse der Schnittstelle übereinstimmen, da die Netzwerkschnittstelle die Google Cloud Anforderungen für den Internetzugriff erfüllt. Wenn eine externe IP-Adresse einer Schnittstelle zugewiesen ist, hat das immer Vorrang und 1:1-NAT wird ohne Public NAT ausgeführt.

  • Ein Alias-IP-Bereich, der der Netzwerkschnittstelle der VM zugewiesen ist. Auch wenn der Netzwerkschnittstelle eine externe IP-Adresse zugewiesen ist, können Sie ein Cloud NAT-Gateway für öffentliches NAT konfigurieren, um NAT für Pakete bereitzustellen, deren Quellen aus einem Alias-IP-Bereich der Schnittstelle stammen. Wenn eine externe IP-Adresse einer Schnittstelle zugewiesen ist, wird für Alias-IP-Adressen nie 1:1-NAT ausgeführt.

  • Bei GKE-Clustern (Google Kubernetes Engine) kann Public NAT auch dann Dienste bereitstellen, wenn der Cluster unter bestimmten Umständen externe IP-Adressen hat. Weitere Informationen finden Sie unter GKE-Interaktion.

Für IPv6-Quellpakete können Sie Public NAT so konfigurieren, dass NAT für Pakete bereitgestellt wird, die aus dem externen oder internen /96-Adressbereich der reinen IPv6-Netzwerkschnittstelle der VM gesendet werden (Vorabversion).

Public NAT ermöglicht ausgehende Verbindungen und die eingehenden Antworten auf diese Verbindungen. Jedes Cloud NAT-Gateway für Public NAT führt Quell-NAT bei ausgehendem Traffic und Ziel-NAT für etablierte Antwortpakete aus.

Public NAT erlaubt keine unerwünschten eingehenden Anfragen aus dem Internet, auch wenn Firewallregeln diese Anfragen andernfalls zulassen würden. Weitere Informationen finden Sie unter Anwendbare RFCs.

Jedes Cloud NAT-Gateway für Public NAT ist einem einzelnen VPC-Netzwerk, einer Region und einem Cloud Router zugeordnet. Das Cloud NAT-Gateway und der Cloud Router bieten eine Steuerungsebene. Sie sind nicht an der Datenebene beteiligt, sodass Pakete nicht über das Cloud NAT-Gateway oder den Cloud Router geleitet werden.

Routen und Firewallregeln

Public NAT basiert auf Routen, deren nächster Hop das Standard-Internetgateway ist. Eine Standardroute erfüllt diese Anforderung in der Regel. Weitere Informationen finden Sie unter Interaktionen mit Routen.

Für Public NAT gelten keine Cloud NGFW-Regeln. Firewallregeln werden direkt auf die Netzwerkschnittstellen von Compute Engine-VMs angewendet, nicht auf Cloud NAT-Gateways für Public NAT.

Sie müssen keine spezifischen Firewallregeln erstellen, die Verbindungen zu oder von NAT-IP-Adressen zulassen. Wenn ein Cloud NAT-Gateway für öffentliches NAT NAT für die Netzwerkschnittstelle einer VM bereitstellt, werden geltende Firewallregeln für ausgehenden Traffic als Pakete für diese Netzwerkschnittstelle vor NAT ausgewertet. Firewallregeln für eingehenden Traffic werden ausgewertet, nachdem Pakete von NAT verarbeitet wurden.

Anwendbarkeit des Subnetz-IP-Adressbereichs

Sie können ein Cloud NAT-Gateway für öffentliches NAT konfigurieren, um NAT für IPv4-Subnetzadressbereiche, IPv6-Subnetzadressbereiche oder beides bereitzustellen. Bei IPv4-Subnetzadressbereichen übersetzt das Gateway den Traffic von der primären internen IP-Adresse der VM-Netzwerkschnittstelle, von Alias-IP-Bereichen oder von beiden. Bei IPv6-Subnetzadressbereichen übersetzt das Gateway Traffic aus dem externen oder internen IPv6-Adressbereich /96 der Netzwerkschnittstelle (Vorabversion).

Sie können das Cloud NAT-Gateway für IPv4-Subnetz-Adressbereiche so konfigurieren, dass NAT für Folgendes bereitgestellt wird:

  • Primäre und sekundäre IPv4-Adressbereiche aller Subnetze in der Region. Ein einzelnes Cloud NAT-Gateway bietet NAT für die primären internen IP-Adressen und alle Alias-IP-Bereiche berechtigter VMs, deren Netzwerkschnittstellen ein IPv4-Subnetz in der Region verwenden.

  • Primäre IPv4-Adressbereiche aller Subnetze in der Region. Ein einzelnes Cloud NAT-Gateway bietet NAT für die primären internen IP-Adressen und Alias-IP-Bereiche aus den primären IP-Adressbereichen der aktiven VMs, deren Netzwerkschnittstellen ein IPv4-Subnetz in der Region verwenden. Sie können zusätzliche Cloud NAT-Gateways für Public NAT in der Region erstellen, um NAT für Alias-IP-Bereiche aus den sekundären IP-Adressbereichen des Subnetzes von geeigneten VMs bereitzustellen.

  • Benutzerdefinierte Subnetzliste Ein einzelnes Cloud NAT-Gateway bietet NAT für die primären internen IP-Adressen und alle Alias-IP-Bereiche berechtigter VMs, deren Netzwerkschnittstellen ein IPv4-Subnetz aus einer Liste von angegebenen Subnetzen verwenden.

  • Benutzerdefinierte IPv4-Adressbereiche des Subnetzes Sie können unter Kontingente und Limits für Public NAT so viele Cloud NAT-Gateways für Public NAT wie erforderlich erstellen. Sie entscheiden, welche primären oder sekundären IP-Adressbereiche von jedem Gateway bereitgestellt werden sollen.

Sie können das Cloud NAT-Gateway für IPv6-Subnetz-Adressbereiche so konfigurieren, dass es NAT für Folgendes bereitstellt (Vorabversion):

  • Externe und interne IPv6-Adressbereiche aller Subnetze in der Region. Ein einzelnes Cloud NAT-Gateway bietet NAT für alle externen und internen IPv6-Adressbereiche in der Region.
  • Benutzerdefinierte Subnetzliste Ein einzelnes Cloud NAT-Gateway bietet NAT für die externen und internen IPv6-Adressbereiche der von Ihnen angegebenen Subnetze.

Mehrere Cloud NAT-Gateways

Sie können mehrere Cloud NAT-Gateways für Public NAT in derselben Region eines VPC-Netzwerks haben, wenn eine der folgenden Bedingungen erfüllt ist:

  • Jedes Gateway ist für ein anderes Subnetz konfiguriert.

  • Innerhalb eines einzelnen Subnetzes ist jedes Gateway für einen anderen IP-Adressbereich konfiguriert. Sie können ein Cloud NAT-Gateway für Public NAT mithilfe einer benutzerdefinierten Cloud NAT-Zuordnung einem bestimmten Subnetz oder IP-Adressbereich zuordnen.

Solange sich Ihre zugeordneten NAT-Gateways nicht überschneiden, können Sie so viele Cloud NAT-Gateways für Public NAT erstellen, wie Sie benötigen. Dabei gelten die Kontingente und Limits für Public NAT. Weitere Informationen finden Sie unter Beschränkungen von Cloud NAT-Gateways.

Bandbreite

Die Verwendung eines Cloud NAT-Gateways für Public NAT ändert nichts an der Größe der von einer VM verwendeten ausgehenden oder eingehenden Bandbreite. Informationen zu Bandbreitenspezifikationen, die je nach Maschinentyp variieren, finden Sie unter Netzwerkbandbreite in der Compute Engine-Dokumentation.

VMs mit mehreren Netzwerkschnittstellen

Wenn Sie eine VM mit mehreren Netzwerkschnittstellen konfigurieren, muss sich jede Schnittstelle in einem separaten VPC-Netzwerk befinden. Daher gilt Folgendes:

  • Ein Cloud NAT-Gateway für Public NAT kann nur auf eine einzelne Netzwerkschnittstelle einer VM angewendet werden. Separate Cloud NAT-Gateways für Public NAT können NAT auf derselben VM bereitstellen, wobei jedes Gateway für eine separate Schnittstelle gilt.
  • Eine Schnittstelle einer VM mit mehreren Netzwerkschnittstellen kann eine externe IPv4-Adresse haben, wodurch diese Schnittstelle nicht für Public NAT infrage kommt. Eine andere Schnittstelle kann jedoch für NAT infrage kommen, wenn diese Schnittstelle keine externe IPv4-Adresse hat und Sie ein Cloud NAT-Gateway für Public NAT konfiguriert haben, das auf den entsprechenden IP-Adressbereich des Subnetzes angewendet werden soll. Für IPv6 werden sowohl externe als auch interne IPv6-Adressen unterstützt (Vorabversion).

NAT-IP-Adressen und -Ports

Wenn Sie ein Cloud NAT-Gateway für Public NAT erstellen, können Sie festlegen, dass das Gateway automatisch regionale externe IP-Adressen zuweist. Alternativ können Sie dem Gateway manuell eine feste Anzahl regionaler externer IP-Adressen zuweisen.

Beachten Sie bei einem Cloud NAT-Gateway für Public NAT mit automatischer NAT-IP-Adresszuweisung Folgendes:

  • Sie können die Netzwerkdienststufen (Premium- oder Standardstufe) auswählen, von denen das Cloud NAT-Gateway die IP-Adressen zuweist.
  • Wenn Sie die Stufe für ein Cloud NAT-Gateway für Public NAT ändern, für das automatisch NAT-IP-Adressen zugewiesen wurden, Google Cloud werden alle zugewiesenen IP-Adressen für dieses Gateway freigegeben und alle Portzuweisungen werden zurückgenommen.

    Es werden automatisch neue IP-Adressen aus der neu ausgewählten Stufe zugewiesen und allen Endpunkten werden neue Portzuweisungen bereitgestellt.

Für ein bestimmtes Cloud NAT-Gateway für Public NAT können Sie IP-Adressen auch manuell zuweisen, entweder von der Premium- oder der Standardstufe oder von beiden, sofern bestimmte Bedingungen erfüllt sind.

Weitere Informationen zur Zuweisung von NAT-IP-Adressen finden Sie unter Öffentliche NAT-IP-Adressen.

Sie können die Anzahl der Quellports konfigurieren, die jedes Cloud NAT-Gateway für öffentliches NAT auf jeder VM reserviert, für die NAT-Dienste bereitgestellt werden sollen. Sie können die statische Portzuweisung konfigurieren, wobei für jede VM dieselbe Anzahl von Ports reserviert ist, oder für die dynamische Portzuweisung, wobei die Anzahl der reservierten Ports zwischen dem von Ihnen angegebenen Mindest- und Höchstwert variieren kann.

Die VMs, für die NAT bereitgestellt werden soll, richten sich nach den Subnetz-IP-Adressbereichen, für deren Bereitstellung das Gateway konfiguriert ist.

Weitere Informationen zu Ports finden Sie unter Ports.

Anwendbare RFCs

Public NAT unterstützt die endpunktunabhängige Zuordnung und die endpunktabhängige Filterung, wie in RFC 5128 definiert. Sie können die endpunktunabhängige Zuordnung aktivieren oder deaktivieren. Standardmäßig ist die endpunktunabhängige Zuordnung deaktiviert, wenn Sie ein NAT-Gateway erstellen.

Endpunktunabhängige Zuordnung bedeutet Folgendes: Wenn eine VM Pakete über ein bestimmtes Paar aus interner IP-Adresse und Port an verschiedene Ziele sendet, ordnet das Gateway alle diese Pakete demselben Paar aus NAT-IP-Adresse und Port zu, unabhängig vom Ziel der Pakete. Weitere Informationen und Auswirkungen auf die endpunktunabhängige Zuordnung finden Sie unter Gleichzeitige Portwiederverwendung und endpunktunabhängige Zuordnung.

Endpunktabhängige Filterung bedeutet, dass Antwortpakete aus dem Internet nur dann eingehen dürfen, wenn sie von einer IP-Adresse und einem Port stammen, an die eine VM bereits Pakete gesendet hat. Die Filterung ist endpunktabhängig, unabhängig vom Typ der Endpunktzuordnung. Dieses Feature ist immer aktiviert und kann vom Nutzer nicht konfiguriert werden.

Weitere Informationen zur Beziehung zwischen Ports und Verbindungen finden Sie unter Ports und Verbindungen sowie im Beispiel für NAT-Ablauf.

Public NAT ist eine Port-eingeschränkte Cone-NAT, wie in RFC 3489 definiert.

NAT-Durchlauf

Wenn die endpunktunabhängige Zuordnung aktiviert ist, ist öffentliches NAT mit gängigen NAT-Durchlaufprotokollen wie STUN und TURN kompatibel, wenn Sie Ihre eigenen STUN- oder TURN-Server bereitstellen:

  • STUN (Session Traversal Utilities for NAT, RFC 5389) ermöglicht die direkte Kommunikation zwischen VMs hinter NAT, wenn ein Kommunikationskanal eingerichtet wurde.
  • TURN (Traversal Using Relays around NAT, RFC 5766) ermöglicht die Kommunikation zwischen VMs hinter NAT über einen Drittanbieter-Server, auf dem dieser Server eine externe IP-Adresse hat. Jede VM stellt eine Verbindung zur externen IP-Adresse des Servers her und dieser Server leitet die Kommunikation zwischen den beiden VMs weiter. TURN ist robuster, verbraucht jedoch mehr Bandbreite und Ressourcen.

NAT-Zeitlimits

Public NAT legt Zeitlimits für Protokollverbindungen fest. Informationen zu diesen Zeitlimits und ihren Standardwerten finden Sie unter NAT-Zeitlimits.

NAT44 in Public NAT

Das folgende Diagramm zeigt eine grundlegende Public-NAT-Konfiguration für IPv4-Traffic:

Beispiel für die öffentliche NAT-IPv4-Übersetzung
Beispiel für öffentliche NAT-Übersetzung (zum Vergrößern anklicken)

In diesem Fall gilt Folgendes:

  • Das Gateway nat-gw-us-east ist so konfiguriert, dass es auf den primären IP-Adressbereich von subnet-1 in der Region us-east1 angewendet wird. Eine VM, deren Netzwerkschnittstelle keine externe IP-Adresse hat, kann Traffic über die primäre interne IP-Adresse oder einen Alias-IP-Bereich aus dem primären IP-Adressbereich von subnet-1, 10.240.0.0/16, an das Internet senden.

  • Eine VM, deren Netzwerkschnittstelle keine externe IP-Adresse hat und deren primäre interne IP-Adresse sich in subnet-2 befindet, kann nicht auf das Internet zugreifen, da kein Cloud NAT-Gateway auf einen IP-Adressbereich dieses Subnetzes angewendet wird.

  • Das Gateway nat-gw-eu ist so konfiguriert, dass es auf den primären IP-Adressbereich von subnet-3 in der Region europe-west1 angewendet wird. Eine VM, deren Netzwerkschnittstelle keine externe IP-Adresse hat, kann Traffic über die primäre interne IP-Adresse oder einen Alias-IP-Bereich aus dem primären IP-Adressbereich von subnet-3, 192.168.1.0/24, an das Internet senden.

Beispielworkflow

Im vorherigen Diagramm muss eine VM mit der primären internen IP-Adresse 10.240.0.4 ohne externe IP-Adresse ein Update von der externen IP-Adresse 203.0.113.1 herunterladen. Im Diagramm ist das nat-gw-us-east-Gateway so konfiguriert:

  • Mindestanzahl an Ports pro Instanz: 64
  • Zwei manuell zugewiesene NAT-IP-Adressen: 192.0.2.50 und 192.0.2.60
  • NAT für den primären IP-Adressbereich von subnet-1 bereitgestellt

Public NAT folgt dem Portreservierungsverfahren, um die folgenden Tupel aus NAT-Quell-IP-Adresse und Quellport für jede der VMs im Netzwerk zu reservieren. Das Cloud NAT-Gateway für Public NAT reserviert beispielsweise 64 Quellports für die VM mit der internen IP-Adresse 10.240.0.4. Die NAT-IP-Adresse 192.0.2.50 hat 64 nicht reservierte Ports. Deshalb reserviert das Gateway die folgenden 64 Tupel aus NAT-Quell-IP-Adresse und Quellport für diese VM:

  • 192.0.2.50:34000 bis 192.0.2.50:34063

Wenn die VM ein Paket mit dem TCP-Protokoll an den Update-Server 203.0.113.1 auf dem Zielport 80 sendet, geschieht Folgendes:

  • Die VM sendet ein Anfragepaket mit folgenden Attributen:

    • Quell-IP-Adresse: 10.240.0.4, die primäre interne IP-Adresse der VM
    • Quellport: 24000, der sitzungsspezifische Quellport, der vom Betriebssystem der VM ausgewählt wurde
    • Zieladresse: 203.0.113.1, die externe IP-Adresse des Update-Servers
    • Zielport: 80, der Zielport für HTTP-Traffic zum Update-Server
    • Protokoll: TCP
  • Das Gateway nat-gw-us-east führt SNAT (Source Network Address Translation) für ausgehenden Traffic aus und schreibt die NAT-Quell-IP-Adresse und den Quellport des Anfragepakets um. Das geänderte Paket wird an das Internet gesendet, wenn das VPC-Netzwerk (Virtual Private Cloud) eine Route für das Ziel 203.0.113.1 hat, dessen nächster Hop das Standard-Internetgateway ist. Eine Standardroute erfüllt diese Anforderung in der Regel.

    • NAT-Quell-IP-Adresse: 192.0.2.50 von einem der reservierten Tupel aus NAT-Quell-IP-Adresse und Quellport
    • Quellport: 34022, ein nicht verwendeter Quellport aus einem der reservierten Quellport-Tupel der VM
    • Zieladresse: 203.0.113.1, unverändert
    • Zielport: 80, unverändert
    • Protokoll: TCP, unverändert
  • Wenn der Update-Server ein Antwortpaket sendet, kommt dieses Paket mit folgenden Attributen am nat-gw-us-east Gateway an:

    • Quell-IP-Adresse: 203.0.113.1, die externe IP-Adresse des Update-Servers
    • Quellport: 80, die HTTP-Antwort vom Update-Server
    • Zieladresse: 192.0.2.50, entspricht der ursprünglichen NAT-Quell-IP-Adresse des Anfragepakets
    • Zielport: 34022, entspricht dem Quellport des Anfragepakets
    • Protokoll: TCP, unverändert
  • Das Gateway nat-gw-us-east führt DNAT für das Antwortpaket aus und schreibt die Zieladresse und den Zielport des Antwortpakets um, damit das Paket an die VM gesendet wird:

    • Quell-IP-Adresse: 203.0.113.1, unverändert
    • Quellport: 80, unverändert
    • Zieladresse: 10.240.0.4, die primäre interne IP-Adresse der VM
    • Zielport: 24000, entspricht dem ursprünglichen sitzungsspezifischen Quellport des Anfragepakets
    • Protokoll: TCP, unverändert

NAT64 in Public NAT

Mit NAT64 können reine IPv6-VM-Instanzen mit IPv4-Zielen im Internet kommunizieren. Public NAT unterstützt NAT64 sowohl für externe als auch für interne IPv6-Adressen. Wenn Sie NAT64 konfigurieren möchten, müssen Sie auch DNS64 konfigurieren.

Wenn Sie DNS64 in Cloud DNS konfigurieren, wird Folgendes aktiviert:

  • Wenn eine reine IPv6-VM-Instanz eine Anfrage an das Internet sendet, prüft Cloud DNS, ob für das Ziel der Anfrage ein AAAA-Eintrag vorhanden ist. Wenn der Eintrag vorhanden ist, wird eine IPv6-Adresse zurückgegeben und die reine IPv6-VM-Instanz kann eine Verbindung zum IPv6-Ziel herstellen.
  • Wenn DNS64 aktiviert ist und der AAAA-Eintrag nicht gefunden wird, sucht der DNS64-Server stattdessen nach A-Einträgen. Nachdem ein A-Eintrag gefunden wurde, synthetisiert der DNS64-Server eine IPv6-Adresse, indem er das Präfix 64:ff9b::/96 an die IPv4-Adresse anhängt, die aus dem A-Eintrag abgerufen wurde.

    Wenn die Ziel-IPv4-Adresse beispielsweise 203.0.113.1 ist, gibt der Server 64:ff9b::cb00:7101 zurück. Dabei ist cb00:7101 die Hexadezimaldarstellung von 203.0.113.1.

Wenn die Anfrage das Cloud NAT-Gateway mit aktiviertem NAT64 erreicht, führt das Gateway eine SNAT aus. Dazu geschieht Folgendes:

  • Ersetzt die IPv6-Adresse und den Port der Quelle durch eine der externen IPv4-Adressen und Ports, die dem Gateway zugewiesen sind.
  • Die synthetisierte IPv6-Zieladresse, z. B. 64:ff9b::cb00:7101, wird in die ursprüngliche IPv4-Adresse umgewandelt, indem die letzten 32 Bits der synthetisierten Adresse verwendet werden.

    Das Cloud NAT-Gateway verwendet auch die letzten 32 Bit der synthetisierten IPv6-Adresse, um zu bestimmen, wie das Anfragepaket an das Internet weitergeleitet wird. Wenn eine reine IPv6-VM-Instanz ein Paket an ein Ziel sendet, das mit dem Präfix 64:ff9b::/96 beginnt, wendet das Gateway die IPv4-Routingtabelle des VPC-Netzwerks auf die IPv4-Zieladresse an. Wenn die IPv4-Routingtabelle eine Route für die Ziel-IPv4-Adresse hat, deren nächster Hop das Standard-Internetgateway ist, wird das geänderte Paket an das Internet gesendet.

Wenn die Antwort empfangen wird, führt das Cloud NAT-Gateway DNAT aus. Dazu geschieht Folgendes:

  • Fügen Sie der Quell-IP-Adresse des Antwortpakets das Präfix 64:ff9b::/96 vor.
  • Die Zieladresse und der Zielport des Antwortpakets werden neu geschrieben, damit das Paket an die VM gesendet wird.

Nächste Schritte