Cloud NAT-Adresse und Portübersicht

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

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

NAT-IP-Adressen

Eine NAT-IP-Adresse ist eine regionale externe IP-Adresse, die über das Internet weitergeleitet werden kann. Eine VM ohne externe IP-Adresse in einem Subnetzwerk (Subnetz), das von einem Cloud-NAT-Gateway bereitgestellt wird, verwendet eine NAT-IP-Adresse, wenn sie Pakete an ein Ziel im Internet sendet.

Verwenden Sie eine der folgenden Methoden, um einem Cloud NAT-Gateway NAT-IP-Adressen zuzuweisen:

  • Automatische NAT-IP-Adresszuweisung: Wenn Sie diese Option oder die Google Cloud-Standardeinstellungen auswählen, fügt Cloud NAT Ihrem Gateway automatisch regionale externe IP-Adressen zu. Dabei werden die Anzahl der VMs, die das Gateway verwenden, und die für jede VM reservierte Anzahl der Ports berücksichtigt. Außerdem wird automatisch eine NAT-IP-Adresse entfernt, wenn keine Quellports mehr an dieser NAT-IP-Adresse benötigt werden.

    • Wenn ein Cloud-NAT-Gateway eine NAT-IP-Adresse hinzufügt, wird eine statische (reservierte) regionale externe IP-Adresse erstellt. Die automatisch hinzugefügten NAT-IP-Adressen finden Sie in der Liste der statischen externen IP-Adressen. Diese Adressen werden auf Projektkontingente angerechnet.
    • 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 Zuweisung einer Adresse wird von Cloud NAT jedoch nur aufgehoben, wenn die ihr zugewiesene letzte VM keine Ports mehr verwendet. Wenn die Anzahl der VMs, die Cloud NAT verwenden, sinkt, wird also möglicherweise die IP-Adresse nicht verringert, da Cloud NAT VMs nicht dynamisch von einer IP-Adresse zu einer anderen verteilt, da die Neuzuweisung bestehende Verbindungen unterbrechen 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. Dies ermöglicht das manuelle Leeren von 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 IP-Adressen manuell erstellt und dem Cloud NAT-Gateway manuell zugewiesen. 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 Cloud NAT-Gateway benötigen. Wenn das Gateway keine NAT-IP-Adressen mehr hat, verwirft Cloud 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.

Zuweisungsmethode umstellen

Sie können ein Cloud NAT-Gateway von der automatischen NAT-IP-Adresszuweisung auf die manuelle NAT-IP-Adresszuweisung umstellen. Dabei können die NAT-IP-Adressen jedoch nicht beibehalten werden. Obwohl automatisch zugewiesene NAT-IP-Adressen statisch sind, können sie nicht in eine manuelle NAT-IP-Adresszuweisung übernommen werden. Sie können beispielsweise nicht zuerst ein Cloud NAT-Gateway mit automatisch zugewiesenen NAT-IP-Adressen verwenden und später dieselben Adressen verwenden, wenn Sie das NAT-Gateway auf manuell zugewiesene NAT-IP-Adressen umstellen.

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

NAT-IP-Adressen per Drain beenden

Wenn Sie ein Cloud 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 Cloud NAT-Gateway angewiesen, die NAT-IP-Adresse nicht mehr für neue Verbindungen zu nutzen, sie aber für bestehende Verbindungen weiter zu verwenden. Bestehende Verbindungen dürfen normal beendet werden und müssen nicht abrupt abgebrochen werden. Um IP-Adressen, die einem NAT-Gateway zugeordnet sind, das keine NAT-Regeln verwendet, per Drain zu beenden, lesen Sie Externe mit NAT verknüpfte IP-Adressen per Drain beenden. Um IP-Adressen per Drain zu beenden, die mit einem NAT-Gateway verknüpft sind, das NAT-Regeln verwendet, lesen Sie die Informationen unter NAT-Regeln aktualisieren.

Ports

Jede NAT-IP-Adresse auf einem Cloud NAT-Gateway bietet 64.512 TCP-Quellports und 64.512 UDP-Quellports. TCP und UDP unterstützen jeweils 65.536 Ports pro IP-Adresse. Cloud NAT verwendet aber 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.

Statische Portzuweisung

Wenn Sie die statische Portzuweisung konfigurieren, geben Sie eine Mindestanzahl an Ports pro VM-Instanz an.

Da allen VMs die gleiche Anzahl von Ports zugewiesen wird, funktioniert die statische Portzuweisung am besten, wenn alle VMs eine ähnliche Internetnutzung haben. Wenn einige VMs mehr Ports als andere verwenden, sind die Ports im Cloud NAT-Gateway möglicherweise nicht ausgelastet. Wenn die Internetnutzung variiert, sollten Sie die dynamische Portzuweisung konfigurieren.

Wenn Sie die endpunktunabhängige Zuordnung für Ihr Gateway konfigurieren möchten, müssen Sie die statische Portzuweisung verwenden.

Dynamische Portzuweisung

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

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 ausgeschöpft hat, kann sie mehr NAT-Ports bis zur maximalen Anzahl an 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.

Sie können die dynamische Portzuweisung nicht konfigurieren, wenn die endpunktunabhängige Zuordnung für das Cloud NAT-Gateway aktiviert ist. Wenn Sie die endpunktunabhängige Zuordnung benötigen, verwenden Sie die statische Portzuweisung.

Verfahren für die Portreservierung

Cloud NAT verwendet dieses Verfahren zur Bereitstellung von Tupeln aus NAT-Quell-IP-Adresse und Quellport für jede VM, die vom Cloud NAT-Gateway bereitgestellt wird.

  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 Cloud NAT-Gateway so konfiguriert ist, dass NAT für den primären IP-Adressbereich des von der Netzwerkschnittstelle der VM verwendeten Subnetzes durchgeführt wird, führt das Gateway NAT sowohl für die primäre interne IP-Adresse der VM als auch für alle Alias-IP-Bereiche der VM aus dem primären IP-Adressbereich des Subnetzes aus.

    • Wenn das Cloud NAT-Gateway dafür konfiguriert wurde, NAT für einen sekundären IP-Adressbereich des von der Netzwerkschnittstelle der VM verwendeten Subnetzes auszuführen, führt das Gateway NAT für alle Alias-IP-Bereiche aus dem sekundären IP-Adressbereich dieses Subnetzes 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 keine Mindestanzahl an Ports pro VM-Instanz festgelegt ist, 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.

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

    • Tupel aus NAT-Quell-IP-Adresse und Quellport können mehrere NAT-IP-Adressen umfassen, wenn das Cloud NAT-Gateway zwei oder mehr NAT-IP-Adressen verwendet. 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.

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 Portzuordnung konfiguriert haben, wird der Traffic durch weitere Konfigurationsänderungen möglicherweise unterbrochen. Wenn eine Konfigurationsänderung vorgenommen wird, wird die Anzahl der Ports, die derzeit jeder VM zugewiesen sind, möglicherweise vorübergehend auf die konfigurierte Mindestanzahl zurückgesetzt.

Bei der statischen und dynamischen Portzuweisung müssen Sie dafür sorgen, dass das Gateway eine ausreichende Anzahl von NAT-IP-Adressen hat, wenn Sie die manuelle Zuweisung der NAT-IP-Adresse verwenden:

  • Wenn Sie die manuelle Zuweisung der NAT-IP-Adresse verwenden, müssen Sie die Anzahl der benötigten NAT-Quell-IP-Adressen berechnen. Bevor Sie die Mindestanzahl an Ports pro VM erhöhen, weisen Sie dem Cloud NAT-Gateway mindestens genauso viele NAT-IP-Adressen zu.

  • Wenn Sie die automatische Zuweisung der NAT-IP-Adresse verwenden, führt das Erhöhen der Mindestanzahl von Ports pro VM dazu, dass das Cloud NAT-Gateway automatisch mehr regionale externe IP-Adressen abruft und zuweist.

Ports pro VM reduzieren

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 Portzuordnung konfiguriert haben, wird der Traffic durch weitere Konfigurationsänderungen möglicherweise unterbrochen. Wenn eine Konfigurationsänderung vorgenommen wird, wird die Anzahl der Ports, die derzeit jeder VM zugewiesen sind, möglicherweise vorübergehend auf die konfigurierte Mindestanzahl zurückgesetzt.

Ports und Verbindungen

Die Anzahl der Tupel aus NAT-Quell-IP-Adresse und Quellport, die ein Cloud NAT-Gateway für eine VM reserviert, beschränkt die Anzahl der Verbindungen, die eine 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.

Da Cloud NAT die endpunktunabhängige Zuordnung verwendet, wie in Abschnitt 2.3 von RFC 5128 definiert, ist die Anzahl der gleichzeitigen Verbindungen, die eine Client-VM zu einem eindeutigen Ziel-3-Tupel herstellen kann, möglicherweise reduziert, wenn Cloud NAT das gleiche Tupel aus NAT-Quell-IP-Adresse und Quellport mehr als einer internen IP-Adresse und einem sitzungsspezifischen Quellport einer Client-VM 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 Cloud NAT eine n:1-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 beispielsweise eine Client-VM ein Paket von seiner internen IP-Adresse 10.0.0.2 über einen sitzungsspezifischen Quellport 10001 sendet, weist Cloud NAT 10.0.0.2:10001 ein Tupel aus NAT-Quell-IP-Adresse und Quellport zu, das für alle nachfolgenden Verbindungen von 10.0.0.2:10001 zu einem beliebigen Ziel-3-Tupel verwendet werden soll.

Wenn dieselbe VM einen anderen sitzungsspezifischen Quellport verwendet, um ein Paket zu senden (z. B. 10.0.0.2:20002), weist Cloud NAT auch ein Tupel aus NAT-Quell-IP-Adresse und Quellport für alle nachfolgenden Verbindungen von 10.0.0.2:20002 einem beliebigen Ziel-3-Tupel zu. Es ist möglich, dass Cloud NAT dasselbe Tupel aus NAT-Quell-IP-Adresse und Quellport beiden Tupeln aus interner IP-Adresse und sitzungsspezifischem Quellport zuweist. In bestimmten Situationen verursacht dies einen endpunktunabhängigen Konflikt.

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 von zwei Minuten, bevor das Gateway dasselbe Tupel aus NAT-Quell-IP-Adresse und Quellport mit demselben Ziel (Ziel-IP-Adresse, Zielport und Protokoll) wiederverwenden kann.

Sie können diese Verzögerung nicht reduzieren, haben aber folgende Möglichkeiten:

  • 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 eine VM TCP-Verbindungen mit derselben Ziel-IP-Adresse und demselben Zielport schnell und einfach mit demselben Protokoll öffnen und beenden muss, sollten Sie der VM eine externe IP-Adresse zuweisen und Firewallregeln verwenden, um unerwünschte eingehende Verbindungen zu beschränken. Dieser Ansatz ist besser als die Verwendung von Cloud NAT.

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. Dadurch wird jeder VM ein Bereich von Ports nach dem Zufallsprinzip zugewiesen. Der aus diesem CereicB ausgewählte Quellport ist sequenziell.

  • Weisen Sie der VM eine externe IP-Adresse zu, anstatt Cloud 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 Cloud 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 Cloud NAT-Gateway mit einer einzelnen NAT-IP-Adresse mithilfe der manuellen Zuweisung konfigurieren und die Mindestanzahl an 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

Endpunktunabhängiger Zuordnungskonflikt

Im folgenden Beispiel wird dargestellt, wie die endpunktunabhängige Zuordnung die Anzahl der gleichzeitigen Verbindungen von einer Client-VM zu demselben Ziel-3-Tupel reduzieren kann, selbst wenn genügend freie Tupel aus NAT-Quell-IP-Adresse und Quellport für die Client-VM vorhanden sind.

Angenommen, Sie haben ein Cloud 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
    • Cloud 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
    • Cloud NAT kann für diese Verbindung auch dasselbe 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 Cloud 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 dem Fehler verworfen, dass ein endpunktunabhängiger Konflikt vorliegt. Dies liegt daran, dass die von der ersten Verbindung hergestellte endpunktunabhängige Zuordnung vorgibt, dass alle Verbindungen von 10.0.0.2:10001 dasselbe Tupel aus NAT-Quell-IP-Adresse und Quellport (192.0.2.10:30009) verwenden müssen, 192.0.2.10:30009 aber bereits von der zweiten TCP-Verbindung zu 203.0.113.2:80 verwendet wird.

  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. Dadurch wird die endpunktunabhängige Zuordnung zwischen 10.0.0.2:10001 und 192.0.2.10:30009 entfernt, sodass die dritte Verbindung einem anderen Tupel aus NAT-Quell-IP-Adresse und Quellport zugeordnet werden kann, um über TCP mit 203.0.113.2:80 zu kommunizieren.
    • Die zweite TCP-Verbindung wurde getrennt. Dadurch kann 10.0.0.2:10001 die NAT-Quell-IP-Adresse und den Quellport 192.0.2.10:30009 verwenden, um über TCP mit 203.0.113.2:80 zu kommunizieren.
    • 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.
    • Die endpunktunabhängige Zuordnung ist deaktiviert.. Die neue Verbindung von 10.0.0.2:10001 muss dann nicht 192.0.2.10:30009 verwenden und kann somit eine andere NAT-Quell-IP-Adresse und einen anderen Quellport verwenden.

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

NAT-Ablauf

In diesem Beispiel 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. Sie haben das nat-gw-us-east-Gateway so konfiguriert:

  • Mindestanzahl an Ports pro Instanz: 64
  • Zwei NAT-IP-Adressen wurden manuell zugewiesen: 192.0.2.50 und 192.0.2.60.
  • NAT wurde für den primären IP-Adressbereich von subnet-1 bereitgestellt.
Beispiel für Cloud NAT-Übersetzung (zum Vergrößern klicken).
Beispiel für Cloud NAT-Übersetzung (zum Vergrößern klicken)

Cloud 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 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:

    • NAT-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 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 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:

    • NAT-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:

    • NAT-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

Nächste Schritte