IP-Adressen und Ports

Auf dieser Seite wird beschrieben, wie Cloud NAT-Gateways IP-Adressen verwenden und Quellports zu Compute Engine-VM-Instanzen und Google Kubernetes Engine-Knoten (GKE) zuweisen, die die Gateways verwenden.

Bevor Sie diese Informationen lesen, machen Sie sich mit der Cloud NAT-Übersicht vertraut.

Öffentliche NAT-IP-Adressen

Eine öffentliche NAT-IP-Adresse ist eine regionale externe IP-Adresse, die über das Internet weitergeleitet werden kann. Eine VM ohne externe IP-Adresse, die sich in einem Subnetzwerk (Subnetz) befindet, das von einem öffentlichen NAT-Gateway bereitgestellt wird, verwendet beim Senden von Paketen an ein Ziel im Internet eine öffentliche NAT-IP-Adresse.

Verwenden Sie eine der folgenden Methoden, um einem öffentlichen NAT-Gateway IP-Adressen für die Network Address Translation (NAT) zuzuweisen:

  • Automatische NAT-IP-Adresszuweisung: Wenn Sie diese Methode oder die Google Cloud-Standardeinstellungen auswählen, fügt die öffentliche NAT Ihrem Gateway automatisch regionale externe IP-Adressen auf Grundlage der folgenden Kriterien hinzu:

    • Die ausgewählte Netzwerkstufe
    • Die Anzahl der VMs, die das Gateway verwenden
    • Die Anzahl der Ports, die für jede VM reserviert sind

    Eine öffentliche NAT entfernt eine NAT-IP-Adresse automatisch, wenn keine Quellports an dieser NAT-IP-Adresse mehr benötigt werden.

    Die automatische NAT-IP-Adresszuweisung bietet folgende Merkmale:

    • Wenn ein öffentliches NAT-Gateway eine NAT-IP-Adresse hinzufügt, wird eine statische (reservierte) regionale externe IP-Adresse in der Netzwerkstufe erstellt, die Sie bei der Konfiguration des Gateways ausgewählt haben. Wenn Sie beispielsweise die Premium-Stufe ausgewählt haben, erstellt das öffentliche NAT-Gateway die IP-Adresse in dieser Stufe. Die unterstützten Netzwerkstufen sind die Premium-Stufe (Standardoption) und die Standardstufe.

      Die automatisch hinzugefügten NAT-IP-Adressen finden Sie in der Liste der statischen externen IP-Adressen. Diese Adressen werden nicht auf die Kontingente pro Projekt angerechnet.

    • Wenn Sie die Netzwerkstufe eines öffentlichen NAT-Gateways ändern, werden die vorhandenen IP-Adressen für dieses Gateway freigegeben und ein neuer Satz von IP-Adressen der ausgewählten Stufe zugewiesen.
    • Mit der automatischen Zuordnung können Sie nicht die nächste zugewiesene IP-Adresse vorhersagen. Wenn Sie die möglichen NAT-IP-Adressen vorab kennen (z. B. zum Erstellen einer Zulassungsliste), sollten Sie stattdessen die manuelle NAT-IP-Adresszuweisung verwenden.
    • Wenn automatisch hinzugefügte NAT-IP-Adressen nicht mehr verwendet werden, werden sie entfernt. Die öffentliche NAT hebt die Zuweisung einer Adresse jedoch nur dann auf, wenn die letzte, der Adresse zugewiesene VM keine Ports mehr verwendet. Wenn also die Anzahl der VMs mit öffentlicher NAT sinkt, sehen Sie möglicherweise keine Reduzierung der IP-Adressen . Der Grund dafür ist, dass Cloud NAT VMs nicht dynamisch von einer IP-Adresse einer anderen neu zuweist, da eine Neuzuweisung bestehende Verbindungen stören würde. Solange mindestens eine VM eine IP-Adresse verwendet, bleibt die IP-Adresse aktiv und es können neue VMs zugewiesen werden.

      Wenn Sie VMs manuell einer anderen IP-Adresse neu zuweisen möchten, um die Nutzung von IP-Adressen zu minimieren, verwenden Sie manuelle NAT-IP-Adresszuweisungen. Die manuelle NAT-IP-Adresszuweisung ermöglicht das Leeren von öffentlichen NAT-IP-Adressen.

    • Wenn Sie später zur manuellen NAT-IP-Adresszuweisung wechseln, werden die automatisch reservierten regionalen externen IP-Adressen gelöscht. Weitere Informationen finden Sie unter Zuweisungsmethode umstellen.

  • Manuelle NAT-IP-Adresszuweisung. Wenn Sie diese Option auswählen, werden statische (reservierte) regionale externe IP-Adressen erstellt und manuell dem öffentlichen NAT-Gateway zugewiesen. Sie können IP-Adressen der Premium-Stufe, der Standardstufe oder aus beiden – abhängig von den conditions – manuell zuweisen.

    • Um die Anzahl der manuell zugewiesenen NAT-IP-Adressen zu erhöhen oder zu verringern, müssen Sie das Cloud NAT-Gateway bearbeiten.
    • Wenn Sie die manuelle NAT-IP-Adresszuweisung verwenden, müssen Sie die Anzahl der regionalen externen IP-Adressen berechnen, die Sie für das öffentliche NAT-Gateway benötigen. Wenn das Gateway keine NAT-IP-Adressen mehr hat, verwirft die öffentliche NAT Pakete. Verworfene Pakete werden protokolliert, wenn Sie das Fehler-Logging mit Cloud NAT-Logging aktivieren.
    • Beispiele zur Berechnung finden Sie im Beispiel zur Portreservierung.

Die maximale Anzahl von automatisch zugewiesenen oder manuell zugewiesenen NAT-IP-Adressen finden Sie unter Cloud NAT-Limits.

IP-Adressen der Premium-Stufe- und der Standardstufe manuell zuweisen

Wenn Sie ein öffentliches NAT-Gateway mit der manuellen Methode der NAT-IP-Adresszuweisung erstellen, können Sie eine Mischung aus IP-Adressen der Premium-Stufe- und der Standardstufe zuweisen, solange die IP-Adressen unterschiedlicher Netzwerkstufen nicht derselben Regel angehören (einschließlich der Standardregel).

Innerhalb einer Regel (einschließlich der Standardregel) müssen alle IP-Adressen, die aktiven Bereichen zugewiesen sind, derselben Netzwerkstufe angehören. Wenn Sie versuchen, IP-Adressen unterschiedlicher Stufen als Teil derselben Regel zu verwenden, lehnt Google Cloud die Konfiguration ab.

Zuweisungsmethode wechseln

Sie können ein öffentliches NAT-Gateway von der automatischen NAT-IP-Adresszuweisung auf die manuelle NAT-IP-Adresszuweisung umstellen. Die NAT-IP-Adressen bleiben jedoch nicht erhalten. Obwohl automatisch zugewiesene NAT-IP-Adressen statisch sind, können sie nicht in eine manuelle NAT-IP-Adresszuweisung übernommen werden. Sie können beispielsweise kein öffentliches NAT-Gateway mit automatisch zugewiesenen NAT-IP-Adressen verwenden und später dieselben Adressen verwenden, wenn Sie zu manuell zugewiesenen NAT-IP-Adressen wechseln.

Die Gruppe regionaler externer IP-Adressen, die die öffentliche NAT für die automatische NAT-IP-Adresszuweisung verwendet, unterscheidet sich von den regionalen externen IP-Adressen, die Sie manuell auswählen können.

Öffentliche NAT-IP-Adressen per Drain beenden

Wenn Sie ein öffentliches NAT-Gateway mit manueller NAT-IP-Adresszuweisung konfigurieren, können Sie auswählen, was passiert, wenn Sie die Anzahl der vom Gateway verwendeten NAT-IP-Adressen reduzieren müssen:

  • Wenn Sie eine manuell zugewiesene NAT-IP-Adresse entfernen, werden bestehende NAT-Verbindungen sofort unterbrochen.

  • Sie können stattdessen eine manuell zugewiesene NAT-IP-Adresse per Drain beenden. Durch das Draining wird das öffentliche NAT-Gateway angewiesen, die NAT-IP-Adresse nicht mehr für neue Verbindungen zu verwenden, aber weiterhin für bestehende Verbindungen zu verwenden. Bestehende Verbindungen dürfen normal beendet werden und müssen nicht abrupt abgebrochen werden. Informationen zum Draining einer IP-Adresse, die einem öffentlichen NAT-Gateway ohne NAT-Regeln zugeordnet ist, finden Sie unter Mit NAT-Regeln verknüpfte externe IP-Adressen per Drain beenden. Informationen zum Draining einer IP-Adresse, die einem NAT-Gateway zugeordnet ist, das NAT-Regeln verwendet, finden Sie unter NAT-Regeln aktualisieren.

Private NAT-IP-Adressen

Private NAT erfordert zwei VPC-Netzwerke (Virtual Private Cloud), die jeweils als VPC-Spoke auf demselben Network Connectivity Center-Hub konfiguriert sind. Weitere Informationen zu VPC-Spokes und Network Connectivity Center finden Sie unter VPC-Spokes – Übersicht.

Eine private NAT-Adresse ist eine regionale interne IPv4-Adresse, die aus dem primären IPv4-Adressbereich eines privaten NAT-Subnetzes stammt, das sich in derselben Region und demselben VPC-Netzwerk wie ein privates NAT-Gateway befindet. Eine private NAT-IP-Adresse kann über das Internet nicht weitergeleitet werden. IP-Adressen aus primären IPv4-Adressbereichen privater NAT-Subnetze können nur von privaten NAT-Gateways verwendet werden. Wenn Sie ein privates NAT-Subnetz erstellen möchten, fügen Sie mit der Google Cloud CLI und dem Flag --purpose=PRIVATE_NAT ein Nur-IPv4-Subnetz hinzu.

Nachdem Sie ein privates NAT-Gateway zur Bereitstellung von NAT-Diensten für ein Subnetz in einem VPC-Netzwerk, das mit einem Network Connectivity Center-Hub verbunden ist, konfiguriert haben, können VMs mit Netzwerkschnittstellen in diesem Subnetz Pakete an Ressourcen senden, die sich in anderen VPC-Spokes des Hubs befinden. Bei ausgehendem Traffic ändert Google Cloud die Quell-IP-Adresse in eine IP-Adresse aus dem privaten NAT-Subnetz, das dem Gateway zugeordnet ist.

Private NAT-IP-Adressen zeichnen sich durch folgende Merkmale aus:

  • Private NAT-IP-Adressen können einem privaten NAT-Gateway nicht automatisch zugewiesen werden. Stattdessen geben Sie beim Erstellen einer Regel in einem privaten NAT-Gateway das private NAT-Subnetz oder die privaten NAT-Subnetze manuell an. Private NAT-Subnetze müssen sich im selben VPC-Netzwerk und in derselben Region wie das Gateway befinden. Das Gateway verwendet nur IP-Adressen aus den primären IPv4-Adressbereichen der privaten NAT-Subnetze.
  • Verwenden Sie die folgende Formel, um zu ermitteln, wie viele NAT-IP-Adressen jedes private NAT-Subnetz bereitstellen kann: 2(32 - PREFIX_LENGTH) - 4, wobei PREFIX_LENGTH die Subnetzmaskenlänge des primären IPv4-Adressbereichs des privaten NAT-Subnetzes ist. Im primären IPv4-Adressbereich jedes Subnetzes sind Vier IP-Adressen nicht verwendbar.

Ports

Jede NAT-IP-Adresse in einem Cloud NAT-Gateway (sowohl öffentliche NAT als auch private NAT) bietet 64.512 TCP-Quellports und 64.512 UDP-Quellports. TCP und UDP unterstützen jeweils 65.536 Ports pro IP-Adresse, aber Cloud NAT verwendet nicht die ersten 1.024 bekannten (privilegierten) Ports.

Wenn ein Cloud NAT-Gateway für ein Paket, das von einer VM gesendet wird, eine Quellnetzwerkadressübersetzung (Source Network Address Translation, SNAT) durchführt, werden die NAT-Quell-IP-Adresse und der Quellport des Pakets geändert.

Beim Erstellen eines Cloud NAT-Gateways wählen Sie aus, ob die statische Portzuweisung oder die dynamische Portzuweisung verwendet werden soll. Wenn Sie den Portzuweisungsmodus ändern, werden alle vorhandenen Verbindungen, die das öffentliche NAT-Gateway verwenden, geschlossen und müssen neu hergestellt werden.

Wenn Sie Ihrem öffentlichen NAT-Gateway manuell mehrere statische (reservierte) regionale externe IP-Adressen zugewiesen haben, kann eine einzelne VM, die das Gateway verwendet, die erforderlichen Ports von einer der zugewiesenen NAT-IP-Adressen abrufen – sogar von mehreren NAT-IP-Adressen gleichzeitig.

Statische Portzuweisung

Wenn Sie die statische Portzuweisung konfigurieren, geben Sie eine Mindestanzahl von Ports pro VM-Instanz an. Wenn Sie keine Mindestanzahl von Ports für die VM angeben, verwendet Google Cloud den Standardwert.

Die statische Portzuweisung ist für öffentliche NAT standardmäßig aktiviert. Private NAT hingegen verwendet standardmäßig die dynamische Portzuweisung.

Da allen VMs die gleiche Anzahl von Ports zugewiesen ist, funktioniert die statische Portzuweisung am besten, wenn alle VMs einen ähnlichen ausgehenden Traffic nutzen. Wenn einige VMs mehr Ports als andere verwenden, sind die Ports im Cloud NAT-Gateway möglicherweise nicht ausgelastet. Wenn die Nutzung ausgehenden Traffics variiert, sollten Sie die dynamische Portzuweisung konfigurieren.

Wenn Sie die endpunktunabhängige Zuordnung für Ihr öffentliches NAT-Gateway konfigurieren möchten, müssen Sie die statische Portzuweisung verwenden. Die endpunktunabhängige Zuordnung ist für private NAT-Gateways nicht verfügbar.

Dynamische Portzuweisung

Wenn Sie die dynamische Portzuweisung konfigurieren, geben Sie eine Mindestanzahl von Ports pro VM-Instanz und eine maximale Anzahl von Ports pro VM-Instanz an.

Die dynamische Portzuweisung ist für private NAT standardmäßig aktiviert. Für eine öffentliche NAT müssen Sie die dynamische Portzuweisung manuell konfigurieren.

Wenn Sie die dynamische Portzuweisung konfigurieren, kann das gleiche Cloud NAT-Gateway je nach Nutzung der VM eine unterschiedliche Anzahl von Ports pro VM zuweisen. Anfänglich wird einer VM die Mindestanzahl an Ports pro VM-Instanz zugewiesen. Wenn eine VM fast alle zugewiesenen Ports erschöpft, wird die Anzahl der der VM zugewiesenen Ports verdoppelt. Die VM kann mehr Ports bis zur maximalen Anzahl von Ports pro VM-Instanz anfordern. Wenn die Portnutzung erheblich abnimmt, werden die Ports freigegeben und können anderen VMs zugewiesen werden, die dasselbe NAT-Gateway verwenden.

Die dynamische Portzuweisung hat folgende Vorteile:

  • Die Anzahl der zugewiesenen, aber nicht verwendeten Ports wird reduziert.

  • Das NAT-Gateway überwacht die Portnutzung jeder VM und ändert die Anzahl der Ports, die jeder VM zugewiesen werden, nach Bedarf. Sie müssen nicht die Portnutzung überwachen oder die NAT-Gateway-Konfiguration anpassen.

Bevor Sie die dynamische Portzuweisung verwenden, sollten Sie Folgendes beachten:

  • Wenn die endpunktunabhängige Zuordnung auf dem Cloud NAT-Gateway aktiviert ist, können Sie keine dynamische Portzuweisung konfigurieren. Wenn Sie die endpunktunabhängige Zuordnung benötigen, verwenden Sie die statische Portzuweisung.

  • Während zusätzliche Ports VMs zugewiesen werden, kann es zu Zeitüberschreitungen oder Latenzen bei der Verbindung kommen. Strategien zum Verhindern von Verbindungsabbrüchen finden Sie unter Verworfene Verbindungen mit dynamischer Portzuweisung reduzieren.

Portzuweisungsmethode wechseln

Sie können für ein bestimmtes Cloud NAT-Gateway zwischen der statischen und der dynamischen Portzuweisung wechseln.

Beim Wechsel zur dynamischen Portzuweisungsmethode werden die vorhandenen NAT-Verbindungen nur dann unterbrochen, wenn eine der folgenden Bedingungen erfüllt ist:

  • Sie legen die maximale Anzahl von Ports pro VM auf einen Wert fest, der kleiner als die Mindestanzahl von Ports pro VM ist, die in der vorherigen NAT-Konfiguration (mit statischer Portzuweisung) angegeben wurde.

    Wenn in der vorherigen Konfiguration die Mindestanzahl von Ports pro VM auf mehr als 1024 festgelegt wurde und Sie 1024 als maximale Anzahl von Ports pro VM in der neuen Konfiguration angeben, werden die vorhandenen Verbindungen unterbrochen, da die erste Bedingung Vorrang hat.

  • Sie legen die maximale Anzahl von Ports pro VM auf einen Wert unter 1024 fest.

Wenn keine der vorherigen Bedingungen erfüllt ist, werden vorhandene NAT-Verbindungen nicht durch den Wechsel zur dynamischen Portzuweisung unterbrochen.

Das Deaktivieren der dynamischen Portzuweisung und der Wechsel zur statischen Portzuweisung ist störend und alle aktiven NAT-Verbindungen werden unterbrochen.

Verfahren für die Portreservierung

Cloud NAT verwendet das folgende Verfahren, um Tupel aus NAT-Quell-IP-Adresse und Quellport für jede VM bereitzustellen, die das Cloud NAT-Gateway (sowohl das öffentliche NAT- als auch das private NAT-Gateway) bedient.

  1. Cloud NAT bestimmt die internen VM-IP-Adressen, für die NAT ausgeführt werden soll. Die internen IP-Adressen der VM werden durch die Subnetz-IP-Adressbereiche bestimmt, für deren Bereitstellung das Gateway konfiguriert ist.

    • Wenn das öffentliche NAT-Gateway so konfiguriert ist, dass es NAT für den primären IP-Adressbereich des von der Netzwerkschnittstelle der VM verwendeten Subnetzes ausführt, führt das Gateway NAT für die primäre interne IP-Adresse der VM und für alle Alias-IP-Bereiche der VM aus dem primären IP-Adressbereich des Subnetzes aus.

    • Wenn das öffentliche NAT-Gateway so konfiguriert ist, dass es NAT für einen sekundären IP-Adressbereich des Subnetzes ausführt, das von der Netzwerkschnittstelle der VM verwendet wird, führt das Gateway NAT für alle Alias-IP-Bereiche aus dem sekundären IP-Adressbereich dieses Subnetzes aus.

    Da ein privates NAT-Gateway so konfiguriert ist, dass es NAT für alle IP-Adressbereiche des Subnetzes ausführt, das von der Netzwerkschnittstelle der VM verwendet wird, führt das Gateway NAT für alle IP-Bereiche aus diesem Subnetz aus.

  2. Cloud NAT passt die Mindestanzahl an Ports pro VM-Instanz bei Bedarf an. Wenn die statische Portzuweisung konfiguriert ist und das Gateway NAT für Alias-IP-Bereiche ausführt, die mehr als eine Adresse haben (Netzmaske kleiner als /32), passt Cloud NAT die Mindestanzahl an Ports pro VM an das Maximum dieser beiden Werte an:

    • Die von Ihnen angegebene Mindestanzahl an Ports pro VM-Instanz

    • Die Zahl 1.024

    In allen anderen Situationen, einschließlich wenn die dynamische Portzuweisung konfiguriert ist, fährt das Cloud NAT-Gateway mit dem nächsten Schritt fort, wobei die angegebene Mindestanzahl an Ports pro VM-Instanz als Eingabe verwendet wird. Wenn Sie keine Mindestanzahl von Ports pro VM-Instanz angeben, wird der Standardwert verwendet: 64 für die statische Portzuweisung und 32 für die dynamische Portzuweisung.

  3. Cloud NAT reserviert Tupel aus NAT-Quell-IP-Adresse und Quellport für jede VM. Das Cloud NAT-Gateway verwendet die vorgegebene oder angepasste Mindestanzahl an Ports pro VM-Instanz aus dem vorherigen Schritt, um die Anzahl der Tupel aus NAT-Quell-IP-Adresse und Quellport zu berechnen, die der VM zugewiesen werden sollen.

    Für öffentliche NAT weist Google Cloud Tupel aus NAT-Quell-IP-Adresse und Quellport mit Vielfachen von zwei Potenzen zu, sodass die Anzahl der Tupel aus NAT-Quell-IP-Adresse und Quellport größer oder gleich der von Ihnen angegebenen Mindestanzahl von Ports pro VM-Instanz ist.

    Bei privater NAT weist Google Cloud aus Gründen der Zuverlässigkeit die doppelte Anzahl der erforderlichen Mindestports pro VM zu. Achten Sie darauf, dass das Subnetz, dem die private NAT IP-Adressen und Ports zuweist, die richtige Größe hat.

    • Wenn das Cloud NAT-Gateway zwei oder mehr NAT-IP-Adressen verwendet, können die Tupel aus NAT-Quell-IP-Adresse und Quellport mehr als eine NAT-IP-Adresse umfassen. Eine einzelne NAT-IP-Adresse hat möglicherweise nicht genügend verfügbare Quellports, um die Anzahl der Tupel aus Quell-IP-Adresse und Quellport zu berücksichtigen, die eine VM benötigt.

    • Das Cloud NAT-Gateway weist jeder VM Tupel aus Quell-IP-Adresse und Quellport zu.

      • Wenn Sie die statische Portzuweisung konfiguriert haben, ist die Anzahl der Tupel aus Quell-IP-Adresse und Quellport unveränderlich. Jede VM darf während eines Traffic-Bursts nicht mehr als die ihr zugewiesene Anzahl von Tupeln aus Quell-IP-Adresse und Quellport verwenden.

      • Wenn Sie die dynamische Portzuweisung konfiguriert haben, kann sich die Anzahl der Tupel aus Quell-IP-Adresse und Quellport je nach Bedarf ändern. Wenn eine VM die aktuelle Portzuweisung fast aufgebraucht hat, weist Cloud NAT zusätzliche Ports bis zum angegebenen Wert der maximalen Anzahl an Ports pro VM-Instanz zu. Wenn die Portnutzung der VM unter einen Schwellenwert sinkt, werden die Ports freigegeben und können anderen VMs zugewiesen werden.

Anzahl der Ports pro VM erhöhen

Wenn Sie ein Cloud NAT-Gateway mit statischer Portzuordnung konfiguriert haben, wird der Traffic nicht unterbrochen, wenn Sie die Mindestanzahl der Ports pro VM auf dem Gateway erhöhen.

Wenn Sie ein Cloud NAT-Gateway mit dynamischer Portzuweisung konfiguriert haben und die Mindestanzahl, die maximale oder beide Ports pro VM erhöhen, werden die vorhandenen NAT-Verbindungen nicht unterbrochen oder der über das NAT-Gateway fließende Traffic wird unterbrochen.

Beachten Sie Folgendes, wenn Sie die Anzahl der Ports oder VM erhöhen:

  • Wenn Sie eine öffentliche NAT mit manueller NAT-IP-Adresszuweisung verwenden, müssen Sie die Anzahl der erforderlichen NAT-Quell-IP-Adressen berechnen. Bevor Sie die Mindestanzahl von Ports pro VM erhöhen, weisen Sie dem öffentlichen NAT-Gateway mindestens so viele NAT-IP-Adressen zu.

  • Wenn Sie eine öffentliche NAT mit automatischer NAT-IP-Adresszuweisung verwenden und die Mindestanzahl von Ports pro VM erhöhen, erwirbt und weist das öffentliche NAT-Gateway automatisch mehr regionale externe IP-Adressen zu.

  • Wenn Sie eine private NAT verwenden, muss das Subnetz, aus dem das Gateway IP-Adressen zuweist, eine ausreichende Anzahl von IP-Adressen haben.

Anzahl der Ports pro VM

Wenn Sie ein Cloud NAT-Gateway mit statischer Portzuordnung konfiguriert haben und die Mindestanzahl an Ports pro VM auf dem Gateway reduzieren, wird kein Verbindungsausgleich ausgeführt. Bereits eingerichtete NAT-Verbindungen werden sofort unterbrochen und Clients müssen neue TCP-Verbindungen herstellen.

Wenn Sie ein Cloud NAT-Gateway mit dynamischer Portzuweisung konfiguriert haben, gelten die folgenden Anweisungen:

  • Die Reduzierung der Mindestanzahl von Ports pro VM unterbricht nicht die vorhandenen NAT-Verbindungen oder stört den Traffic, der durch das NAT-Gateway fließt.
  • Wenn Sie die maximale Anzahl von Ports pro VM reduzieren, werden alle vorhandenen NAT-Verbindungen sofort unterbrochen. Die Anzahl der zugewiesenen Ports für alle VMs wird vorübergehend auf den Wert zurückgesetzt, der für die Mindestanzahl von Ports pro VM angegeben wurde.

Ports und Verbindungen

Die Anzahl der Tupel aus NAT-Quell-IP-Adresse und Quellport, die ein Cloud NAT-Gateway für eine VM reserviert, schränkt die Anzahl der Verbindungen ein, die die VM zu einem eindeutigen Ziel herstellen kann:

  • Ein eindeutiges Ziel bedeutet ein eindeutiges 3-Tupel, das aus einer Ziel-IP-Adresse, einem Zielport und einem IP-Protokoll (z. B. TCP oder UDP) besteht.

  • Eine Verbindung bedeutet ein eindeutiges 5-Tupel, das aus dem Tupel aus NAT-Quell-IP-Adresse und Quellport kombiniert mit einem eindeutigen 3-Tupel-Ziel besteht. Da das UDP-Protokoll verbindungslos ist, wird das Konzept der Verbindung auf ein 5-Tupel reduziert, das einem eindeutigen UDP-Datagram zugeordnet ist.

Angenommen, ein Cloud NAT-Gateway berechnet 1.024 für die feste Anzahl von Ports für eine VM, indem es das Verfahren zur Portreservierung befolgt. Das Cloud NAT-Gateway reserviert 1.024 eindeutige Kombinationen von Tupeln aus NAT-Quell-IP-Adresse und Quellport für die VM. Das Cloud NAT-Gateway kann 1.024 gleichzeitige Verbindungen zu jedem eindeutigen Ziel-3-Tupel verarbeiten. Allerdings betrachtet Cloud NAT geschlossene Verbindungen für einen Zeitraum von 120 Sekunden nach dem Trennen der Verbindung als nicht verwendbar, was sich auf die Anzahl der genutzten Verbindungen auswirken kann.

Beispiele:

  • Das Gateway unterstützt 1.024 gleichzeitige Verbindungen zur Ziel-IP-Adresse 203.0.113.99 an Port 80 mit dem TCP-Protokoll.

  • Das Gateway unterstützt weitere 1.024 gleichzeitige Verbindungen zur gleichen Ziel-IP-Adresse an Port 443 mit dem TCP-Protokoll.

  • Das Gateway unterstützt weitere 1.024 gleichzeitige Verbindungen zu einer anderen Ziel-IP-Adresse an Port 80 mit dem TCP-Protokoll.

Gleichzeitige Portwiederverwendung und endpunktunabhängige Zuordnung

Sofern sich mindestens eine Informationseinheit im Ziel-3-Tupel ändert – die Ziel-IP-Adresse, der Zielport, das Protokoll – kann dasselbe Tupel aus NAT-Quell-IP-Adresse und Quellport für viele verschiedene Verbindungen gleichzeitig verwendet werden.

Öffentliche NAT verwendet die endpunktunabhängige Zuordnung, wie in Abschnitt 2.3 von RFC 5128 definiert. Daher kann die Anzahl der gleichzeitigen Verbindungen, die eine Client-VM zu einem eindeutigen Ziel-3-Tupel herstellen kann, sinken, wenn die öffentliche NAT mehr als einer internen IP-Adresse und einem sitzungsspezifischen Quellport einer Client-VM dasselbe Tupel aus NAT-Quell-IP-Adresse und Quellport zuweist. Die Wahrscheinlichkeit dafür ist höher, wenn die Client-VM eine große Anzahl von internen Quell-IP-Adressen besitzt und viele Verbindungen zum selben Ziel-3-Tupel herstellt. Wenn eine Client-VM zum ersten Mal ein Paket von einer internen IP-Adresse und einem sitzungsspezifischen Quellport sendet, erstellt die öffentliche NAT eine endpunktunabhängige Zuordnung zwischen folgenden Elementen:

  • Das Tupel aus interner IP-Adresse und sitzungsspezifischem Quellport
  • Eindeutiges Tupel aus NAT-Quell-IP-Adresse und Quellport

Wenn eine Client-VM beispielsweise ein Paket von ihrer internen IP-Adresse 10.0.0.2 über den sitzungsspezifischen Quellport 10001 sendet, weist die öffentliche NAT 10.0.0.2:10001 zu. Dieses Tupel aus NAT-Quell-IP-Adresse und Quellport wird dann für alle nachfolgenden Verbindungen von 10.0.0.2:10001 zu einem beliebigen Ziel-3-Tupel verwendet.

Wenn dieselbe VM einen anderen sitzungsspezifischen Quellport zum Senden eines Pakets verwendet, z. B. 10.0.0.2:20002, weist die öffentliche NAT auch ein Tupel aus NAT-Quell-IP-Adresse und Quellport für alle nachfolgenden Verbindungen von 10.0.0.2:20002 zu einem beliebigen Ziel-3-Tupel zu. Es ist möglich, dass die öffentliche NAT den Tupeln sowohl der internen IP-Adresse als auch den sitzungsspezifischen Quellports dasselbe Tupel aus NAT-Quell-IP-Adresse und Quellport zuweisen und in bestimmten Situationen einen endpunktunabhängigen Konflikt verursacht.

Ein detailliertes Beispiel finden Sie unter Beispiel für einen endpunktunabhängigen Zuordnungskonflikt.

Endpunktunabhängige Konflikte reduzieren

Sie können Konfigurationsänderungen vornehmen, um endpunktunabhängige Konflikte zu reduzieren. Weitere Informationen finden Sie unter Pakete mit Grund entfernt: endpunktunabhängiger Konflikt.

Verzögerung für die Wiederverwendung des TCP-Quellports

Nachdem ein Cloud NAT-Gateway eine TCP-Verbindung beendet hat, erzwingt Google Cloud eine Verzögerung, bevor das Gateway dasselbe Tupel aus NAT-Quell-IP-Adresse und Quellport mit demselben Ziel (Ziel-IP-Adresse, Zielport und Protokoll) wiederverwenden kann. Die Länge der Verzögerung wird von der Einstellung TCP TIME_WAIT Timeout gesteuert.

Bei Bedarf können Sie diese Verzögerung reduzieren. Ändern Sie dazu den Standardwert für das TCP-Zeitlimit für TIME_WAIT. Informationen zum Ändern von NAT-Zeitüberschreitungen finden Sie unter Mit Cloud NAT verknüpfte Verbindungszeitlimits ändern. Alternativ können Sie eine der folgenden Änderungen vornehmen:

Quellports und Sicherheit

Wenn Sie die zufällige Quellportanordnung als Sicherheitsmaßnahme verwenden, müssen Sie Folgendes beachten:

  • Erhöhen Sie die Mindestanzahl der Ports pro VM-Instanz, damit das Portreservierungsverfahren der VM mehr Tupel aus NAT-Quell-IP-Adresse und Quellport zuweist. Wenn Sie die Mindestanzahl von Ports pro VM-Instanz erhöhen, wird jeder VM zufällig ein Portbereich zugewiesen. Der aus diesem Bereich ausgewählte Quellport ist jedoch sequenziell.

  • Weisen Sie der VM eine externe IP-Adresse zu, anstatt eine öffentliche NAT zu verwenden.

Beispiele

Die folgenden Beispiele zeigen, wie Cloud NAT NAT-Quell-IP-Adressen und Quellports für eine VM reserviert und NAT für Pakete an das Internet ausführt.

Portreservierung

Die folgenden Beispiele zeigen Anwendungsbereiche des Verfahrens für die Portreservierung:

Angenommen, Sie konfigurieren ein öffentliches NAT-Gateway, um NAT für den primären IP-Adressbereich eines Subnetzes bereitzustellen, und die VMs, die dieses Subnetz verwenden, haben keine Alias-IP-Bereiche aus dem primären IP-Adressbereich des Subnetzes. Runden Sie das Ergebnis eines beliebigen Divisionsvorgangs auf die nächste Ganzzahl ab. ⌊⌋ ist die Funktion für die Untergrenze (größte Ganzzahl), d. h. jedes Bruchergebnis der Division wird verworfen.

  • Wenn Sie das öffentliche NAT-Gateway mit einer einzigen NAT-IP-Adresse über manuelle Zuweisung konfigurieren und die Mindestanzahl von Ports pro VM-Instanz auf 64 festlegen, kann das Gateway NAT-Dienste für bis zu 1.008 VMs bereitstellen:

    ⌊(1 NAT-IP-Adresse) × (64.512 Ports pro Adresse) / (64 Ports pro VM)⌋ = 1.008 VMs

  • Wenn Sie mehr als 1.008 VMs unterstützen müssen, können Sie dem Cloud NAT-Gateway eine zweite NAT-IP-Adresse zuweisen. Bei zwei NAT-IP-Adressen und einer Mindestanzahl von 64 Ports pro VM können Sie 2.016 VMs unterstützen:

    ⌊(2 NAT-IP-Adressen) × (64.512 Ports pro Adresse) / (64 Ports pro VM)⌋ = 2.016 VMs

  • Wenn Sie die Mindestanzahl an Ports pro VM auf 4.096 festlegen, kann jede NAT-IP-Adresse 15 VMs unterstützen. Diese Berechnung wird auf die nächste Ganzzahl abgerundet:

    ⌊(1 NAT-IP-Adresse) × (64.512 Ports pro Adresse) / (4.096 Ports pro VM)⌋ = 15 VMs

Angenommen, Sie konfigurieren ein privates NAT-Gateway, um NAT für alle IP-Adressen eines Subnetzes bereitzustellen:

  • Die Mindestgröße eines Subnetzes, das Sie erstellen können, beträgt acht IPv4-Adressen, was eine Subnetzmaske von /29 ist. Wenn Sie ein privates NAT-Gateway mit einem NAT-Subnetz der Mindestgröße konfigurieren und die Mindestanzahl von Ports pro VM-Instanz auf 64 festlegen, kann das Gateway NAT-Dienste für bis zu 2.016 VMs bereitstellen:

    ⌊(2(32–29) - 4) NAT-IP-Adressen × (64.512 Ports pro Adresse) / (64 Ports pro VM × 2)⌋ = 2.016 VMs

    Wenn Sie im vorherigen Beispiel die Mindestanzahl von Ports pro VM-Instanz auf 1.024 festgelegt haben, kann das Gateway NAT-Dienste für bis zu 126 VMs bereitstellen:

    ⌊(2(32–29) - 4) NAT-IP-Adressen × (64.512 Ports pro Adresse) / (1.024 Ports pro VM × 2)⌋ = 126 VMs

  • Wenn Sie ein privates NAT-Gateway mit einer NAT-Subnetzmaske von /28 konfigurieren und die Mindestanzahl von Ports pro VM-Instanz auf 64 festlegen, kann das Gateway NAT-Dienste für bis zu 6.048 VMs bereitstellen:

    ⌊(2(32–28) - 4) NAT-IP-Adressen × (64.512 Ports pro Adresse) / (64 Ports pro VM × 2)⌋ = 6.048 VMs

Endpunktunabhängiger Zuordnungskonflikt

Das folgende Beispiel zeigt, wie die endpunktunabhängige Zuordnung die Anzahl der gleichzeitigen Verbindungen von einer Client-VM zum selben Ziel-3-Tupel reduzieren kann, selbst wenn genügend kostenlose Tupel aus NAT-Quell-IP-Adresse und Quellport für die Client-VM verfügbar sind.

Angenommen, Sie haben ein öffentliches NAT-Gateway konfiguriert, um NAT für den primären IP-Adressbereich eines Subnetzes bereitzustellen. Sie haben eine Client-VM mit einer Netzwerkschnittstelle erstellt, deren primäre interne IP-Adresse 10.0.0.2 in diesem Subnetz ist. Die Beispiel-VM hat keine externe IP-Adresse, die der zugehörigen Netzwerkschnittstelle zugewiesen ist.

  1. Die VM öffnet eine Verbindung mit diesen Eigenschaften:

    • Interne Quell-IP-Adresse und Quellport: 10.0.0.2:10001
    • Ziel-3-Tupel: 203.0.113.1:80 mit TCP
    • Öffentliche NAT verwendet das folgende Tupel aus NAT-Quell-IP-Adresse und Quellport: 192.0.2.10:30009
  2. Die VM öffnet eine zweite Verbindung mit den folgenden Eigenschaften:

    • Interne Quell-IP-Adresse und Quellport: 10.0.0.2:10002
    • Ziel-3-Tupel: 203.0.113.2:80 mit TCP
    • Die öffentliche NAT kann für diese Verbindung auch dieselbe Tupel aus NAT-Quell-IP-Adresse und Quellport (192.0.2.10:30009) verwenden. Es ist möglich, dasselbe Tupel aus NAT-Quell-IP-Adresse und Quellport für eine andere Client-IP-Adresse und einen sitzungsspezifischen Quellport zu verwenden.
  3. Während sowohl die erste als auch die zweite Verbindung aktiv sind, kann die öffentliche NAT keine dritte TCP-Verbindung mit den folgenden Eigenschaften öffnen:

    • Gleiche interne Quell-IP-Adresse und gleicher Quellport wie bei der ersten Verbindung: 10.0.0.2:10001
    • Gleiches Ziel-3-Tupel wie bei der zweiten Verbindung: 203.0.113.2:80 mit TCP

    Dieser dritte Verbindungsversuch wird mit einem endpunktunabhängigen Konfliktfehler abgebrochen, da die endpunktunabhängige Zuordnung, die im Rahmen der ersten Verbindung eingerichtet wurde, vorschreibt, dass alle Verbindungen von 10.0.0.2:10001 dasselbe Tupel aus NAT-Quell-IP-Adresse und Quellport verwenden müssen: 192.0.2.10:30009. 192.0.2.10:30009 wird jedoch bereits von der zweiten TCP-Verbindung zu 203.0.113.2:80 verwendet.

  4. Zur Vermeidung von Mehrdeutigkeit ist ein nachfolgender Verbindungsversuch in diesem Beispiel erfolgreich, sofern eine der folgenden Bedingungen zutrifft:

    • Die erste TCP-Verbindung wurde getrennt. Wenn Sie die Verbindung schließen, wird die endpunktunabhängige Zuordnung zwischen 10.0.0.2:10001 und 192.0.2.10:30009 entfernt. Die dritte Verbindung kann also einem anderen Tupel aus NAT-Quell-IP-Adresse und Quellport zugeordnet werden, um über TCP mit 203.0.113.2:80 zu kommunizieren.
    • Die zweite TCP-Verbindung wurde getrennt. Durch das Trennen der Verbindung kann 10.0.0.2:10001 die NAT-Quell-IP-Adresse und den Quellport 192.0.2.10:30009 für die Kommunikation mit 203.0.113.2:80 über TCP freigeben.
    • Beim dritten Verbindungsversuch wird ein anderer sitzungsspezifischer (interner) Quellport ausgewählt. In diesem Beispiel hat eine endpunktunabhängige Zuordnung eine n:1-Zuordnung für interne NAT-Quell-IP-Adressen und Quellports 10.0.0.2:10001 und 10.0.0.2:10002 eingerichtet, um 192.0.2.10:30009 zu verwenden, wenn die Kommunikation mit 203.0.113.2:80 über TCP erfolgt. Wenn beim dritten Verbindungsversuch ein sitzungsspezifischer Quellport verwendet wird, der sich von 10001 und 10002 unterscheidet, besteht die Möglichkeit, eine andere NAT-Quell-IP-Adresse und einen anderen Quellport zur Kommunikation mit 203.0.113.2:80 über TCP zu verwenden.
    • Endpunktunabhängigkeit umschalten. Damit wird dafür gesorgt, dass die neue Verbindung von 10.0.0.2:10001 nicht 192.0.2.10:30009 verwenden muss, sodass sie eine andere NAT-Quell-IP-Adresse und einen anderen Port verwenden kann.

Methoden, mit denen Sie Konflikte vermeiden können, finden Sie unter Endpunktunabhängige Konflikte reduzieren.

Nächste Schritte