IP-Adressen und Ports
Auf dieser Seite wird beschrieben, wie Cloud NAT-Gateways IP-Adressen verwenden und wie Sie weisen Compute Engine-VM-Instanzen Quellports zu und Google Kubernetes Engine-Knoten (GKE), 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 einer Subnetzwerk (Subnetz), das von einem öffentlichen NAT-Gateway bereitgestellt wird, verwendet ein Öffentliche NAT-IP-Adresse beim Senden von Paketen an ein Ziel auf über das Internet.
Wenn Sie einem öffentlichen NAT-Gateway NAT-IP-Adressen (Network Address Translation) zuweisen möchten, verwenden Sie eine der die folgenden Methoden verwenden:
Automatische NAT-IP-Adresszuweisung: Wenn Sie diese Methode oder Google Cloud-Standardeinstellungen auswählen, fügt öffentliche NAT automatisch regionale externe IP-Adressen zu Ihrem Gateway basierend auf Folgendem:
- Die von Ihnen ausgewählte Netzwerkstufe
- Die Anzahl der VMs, die das Gateway verwenden
- Die Anzahl der Ports, die für jede VM reserviert sind
Öffentliche NAT entfernt automatisch eine NAT-IP-Adresse, wenn sie an dieser NAT-IP-Adresse keine Quellports mehr benötigt.
Die automatische NAT-IP-Adresszuweisung hat folgende Merkmale:
Wenn ein öffentliches NAT-Gateway eine NAT-IP-Adresse hinzufügt, erstellt es ein statische (reservierte) regionale externe IP-Adresse in der Netzwerkstufe, die Sie die beim Konfigurieren des Gateways ausgewählt wurden. Wenn Sie beispielsweise Premium-Stufe ausgewählt haben, erstellt das öffentliche NAT-Gateway die IP-Adresse Adresse in dieser Stufe verwenden. Die unterstützten Netzwerkstufen sind Premium-Stufe (Standardeinstellung und der Standardstufe.
Die automatisch hinzugefügten NAT-IP-Adressen sind in der Liste der statischen externe IP-Adressen. Diese Adressen werden nicht auf die Kontingente pro Projekt angerechnet.
- Wenn Sie die Netzwerkstufe eines öffentlichen NAT-Gateways ändern, vorhanden Die IP-Adressen für dieses Gateway werden freigegeben und ein neuer Satz von IP-Adressen aus der ausgewählten Stufe zugewiesen wird.
- 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, entfernt. Öffentliche NAT hebt die Zuweisung einer Adresse jedoch nur dann auf, wenn der Die letzte VM, die der Adresse zugewiesen ist, verwendet keine Ports mehr. Wenn das Creative die Anzahl der VMs mit öffentlicher NAT abnimmt, wird möglicherweise kein Reduzierung der IP-Adresse . Das liegt daran, dass Cloud NAT VMs von einer IP-Adresse einer anderen zuordnen, da die Neuzuweisung bestehende Verbindungen zu unterbrechen. 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 Entlastung öffentlicher 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, und manuell statische (reservierte) regionale externe IP-Adressen Öffentliches NAT-Gateway. Sie können IP-Adressen manuell zuweisen: Premium-Stufe, von der Standard-Stufe oder von beiden Optionen abhängig von den Bedingungen.
- 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 berechnen, regionaler externer IP-Adressen, die Sie für die öffentliche NAT benötigen Gateway Wenn Ihr Gateway keine NAT-IP-Adressen mehr hat, wird die öffentliche NAT verwirft 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.
Kombination aus IP-Adressen der Premium-Stufe und der Standardstufe manuell zuweisen
Wenn Sie ein öffentliches NAT-Gateway mit der manuellen Zuweisungsmethode von NAT-IP-Adressen erstellen, können Sie eine Kombination aus IP-Adressen der Premium-Stufe und der Standardstufe zuweisen, Die IP-Adressen verschiedener Netzwerkstufen gehören nicht zur selben Regel (einschließlich der Standardregel).
Innerhalb einer Regel (einschließlich der Standardregel) werden alle IP-Adressen, die aktiv Bereiche müssen derselben Netzwerkstufe angehören. Wenn Sie versuchen, IP-Adressen mit anderen als Teil derselben Regel hinzufügen, lehnt Google Cloud die Konfiguration ab.
Zuweisungsmethode ändern
Sie können ein öffentliches NAT-Gateway von der automatischen NAT-IP-Adresse umstellen Zuweisung zur manuellen NAT-IP-Adresszuweisung Die NAT-IP-Adressen können nicht beibehalten werden. Obwohl automatisch zugewiesene NAT-IP-Adressen statisch sind, können sie nicht in eine manuelle NAT-IP-Adresszuweisung übernommen werden. Für können Sie beispielsweise kein öffentliches NAT-Gateway mit automatisch Zugewiesene NAT-IP-Adressen und verwenden später dieselben Adressen beim Wechsel mit manuell zugewiesenen NAT-IP-Adressen.
Die Gruppe regionaler externer IP-Adressen, die das öffentliche NAT-System für Die automatische NAT-IP-Adresszuweisung unterscheidet sich von den regionalen externe 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-Adresse konfigurieren können Sie festlegen, was passieren soll, wenn Sie die Anzahl der Vom Gateway verwendete NAT-IP-Adressen:
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. Entwässern weist das öffentliche NAT-Gateway an, die NAT-IP-Adresse für aber Sie können es weiterhin für bestehende Kontakte verwenden. Bestehende Verbindungen dürfen normal beendet werden und müssen nicht abrupt abgebrochen werden. So führen Sie einen Drain-Befehl für eine IP-Adresse aus, die mit einer öffentlichen NAT verknüpft ist: Gateway, das keine NAT-Regeln verwendet, siehe Externe IP-Adressen per Drain beenden, die mit NAT verknüpft sind Per Drain beenden, die einem NAT-Gateway zugeordnet ist, das NAT verwendet finden Sie unter NAT-Regeln aktualisieren.
Private NAT-IP-Adressen
Eine private NAT-Adresse ist eine regionale interne IPv4-Adresse, die
stammt aus dem primären IPv4-Adressbereich einer privaten NAT
Subnetz, das sich in derselben Region und demselben VPC-Netzwerk befindet wie ein
Privates NAT-Gateway Eine private NAT-IP-Adresse ist
kann nicht über das Internet weitergeleitet werden. IP-Adressen aus den primären IPv4-Adressbereichen von
Private NAT-Subnetze können nur von
Private NAT-Gateways So erstellen Sie eine private NAT
Subnetz hinzufügen, fügen Sie eine Nur-IPv4-
Subnetz mit der Methode
Google Cloud CLI und das Flag --purpose=PRIVATE_NAT
Nachdem Sie ein privates NAT-Gateway konfiguriert haben, um NAT-Dienste bereitzustellen für ein Subnetz in einem VPC-Netzwerk erstellen, kann dieses Subnetz Pakete an Ressourcen die sich in anderen Netzwerken befinden, z. B. in VPC-Netzwerken, die mit dem demselben Network Connectivity Center-Hub wie das Netzwerk, in dem die private NAT gehostet wird Gateway oder Netzwerken außerhalb von Google Cloud, die mit Google Cloud über Cloud Interconnect oder Cloud VPN. Bei ausgehendem Traffic Google Cloud ändert die Quell-IP-Adresse in eine IP-Adresse aus dem privaten NAT-Subnetz die mit dem Gateway verknüpft ist.
Private NAT-IP-Adressen haben folgende Eigenschaften:
- Sie können private NAT-IP-Adressen nicht automatisch einem Privates NAT-Gateway Wenn Sie stattdessen eine Regel in einem Privates NAT-Gateway können Sie manuell Private NAT-Subnetze oder private NAT-Subnetze Private NAT Subnetze müssen sich im selben VPC-Netzwerk und in derselben Region wie an das Gateway an. Das Gateway verwendet nur IP-Adressen der primären IPv4-Adresse der privaten NAT-Subnetze.
- So ermitteln Sie, wie viele NAT-IP-Adressen in jedem privaten NAT-Subnetz vorhanden sind:
können Sie folgende Formel verwenden:
2(32 - PREFIX_LENGTH) - 4
, wobeiPREFIX_LENGTH
gleich die Länge der Subnetzmaske der primären IPv4-Adresse des privaten NAT-Subnetzes -Adressbereich. Vier IP-Adressen unbrauchbar des primären IPv4-Adressbereichs des Subnetzes.
Ports
Jede NAT-IP-Adresse auf einem Cloud NAT-Gateway (öffentliche und private NAT) bietet 64.512 TCP-Quellports und 64.512 UDP-Quellports. TCP und UDP unterstützen 65.536 Ports pro IP-Adresse, aber Cloud NAT verwendet die erste 1.024 bekannte (privilegierte) 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 Modus für die Portzuweisung ändern, werden alle bestehenden Verbindungen die das öffentliche NAT-Gateway verwenden, geschlossen sind und wiederhergestellt werden.
Wenn Sie manuell mehrere statische (reservierte) regionale externe IP-Adressen zugewiesen haben mit Ihrem öffentlichen NAT-Gateway verbinden, einer einzelnen VM, die das Gateway kann die erforderlichen Ports von jeder der zugewiesenen NAT-IP-Adresse abrufen sogar von mehreren NAT-IP-Adressen gleichzeitig.
Statische Portzuweisung
Wenn Sie die Zuweisung statischer Ports konfigurieren, geben Sie eine Mindestanzahl an Ports an Ports pro VM-Instanz Wenn Sie die Mindestanzahl an Ports für die VM nicht angeben, Google Cloud verwendet 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, ist die Zuweisung statischer Ports funktioniert am besten, wenn alle VMs eine ähnliche Nutzung von ausgehendem Traffic haben. Wenn einige VMs mehr Ports als andere verwenden, sind die Ports im Cloud NAT-Gateway möglicherweise nicht ausgelastet. Wenn Die Nutzung des ausgehenden Traffics variiert. Erwägen Sie die Konfiguration eines dynamischen Ports. Zuordnung.
Wenn Sie die endpunktunabhängige Zuordnung konfigurieren möchten auf Ihrem öffentlichen NAT-Gateway müssen Sie die statische Portzuweisung verwenden. Endpunktunabhängige Zuordnung ist für private NAT-Gateways nicht verfügbar.
Dynamische Portzuweisung
Wenn Sie die dynamische Portzuweisung konfigurieren, legen Sie eine Mindestanzahl an Anzahl der Ports pro VM-Instanz und eine maximale Anzahl von Ports pro VM-Instanz.
Die dynamische Portzuweisung ist für private NAT standardmäßig aktiviert. Für ö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, wird möglicherweise eine Verbindung angezeigt Zeitüberschreitungen oder Latenz. Strategien zum Verhindern von Verbindungsabbrüchen finden Sie unter Verworfene Verbindungen mit dynamischer Portzuweisung reduzieren.
Methode für die Portzuweisung wechseln
Sie können zwischen der statischen und der dynamischen Portzuweisung für eine des Cloud NAT-Gateways.
Wenn Sie zur dynamischen Portzuweisung wechseln, werden die vorhandenen NAT-Verbindungen unterbrochen nur wenn eine der folgenden Bedingungen erfüllt ist:
Sie legen die maximale Anzahl von Ports pro VM auf einen Wert fest, der die kleiner als die Mindestanzahl von Ports pro VM ist, die im vorherigen Schritt NAT-Konfiguration (mit statischer Portzuweisung).
In der vorherigen Konfiguration die Mindestanzahl an Ports pro VM war auf einen größeren Wert als
1024
festgelegt und wenn Sie1024
als Höchstanzahl angeben von Ports pro VM in der neuen Konfiguration, dann werden die bestehenden Verbindungen unterbrochen. da die erste Bedingung Vorrang hat.Sie legen die maximale Anzahl von Ports pro VM auf einen Wert unter
1024
fest.
Wechsel zur dynamischen Portzuweisung, es sei denn, eine der vorherigen Bedingungen ist erfüllt nicht unterbrochen.
Das Deaktivieren der dynamischen Portzuweisung und der Wechsel zur statischen Portzuweisung und alle aktiven NAT-Verbindungen unterbrochen.
Verfahren für die Portreservierung
Cloud NAT verwendet das folgende Verfahren, um die NAT-Quell-IP-Adresse und Quellport-Tupel für jede VM, die Cloud NAT (sowohl öffentliche NAT) und einem privaten NAT-Gateway.
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 Subnetzes, das von der Netzwerkschnittstelle der VM verwendet wird, Das Gateway führt NAT für die primäre interne IP-Adresse und die primäre IP-Adresse der VM aus. einem der Alias-IP-Bereiche der VM aus dem primären IP-Adressbereich.
Wenn das öffentliche NAT-Gateway zur Ausführung von NAT für ein sekundärer IP-Adressbereich des Subnetzes, das von der Netzwerkschnittstelle der VM verwendet wird, Das Gateway führt NAT für alle Alias-IP-Bereiche aus dem sekundären Subnetz dieses Subnetzes aus IP-Adressbereich.
Da ein privates NAT-Gateway so konfiguriert ist, dass es NAT für alle IP-Adressen ausführt die von der Netzwerkschnittstelle der VM verwendet werden, führt das Gateway NAT für alle IP-Bereiche aus diesem Subnetz.
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 das Tag Mindestanzahl an Ports pro VM-Instanz: Der Standardwert wird verwendet:
64
für den statischen Port. und32
für die dynamische Portzuweisung.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 NAT-Quell-IP-Adresse zu Adresse und Quellport-Tupel mit einem Vielfachen von Zweierpotenzen, sodass die Anzahl der Die Tupel aus NAT-Quell-IP-Adresse und Quellport sind größer oder gleich die Mindestanzahl von Ports pro VM-Instanz anzugeben, die Sie angeben.
Für private NAT weist Google Cloud die doppelte Anzahl zu von erforderlich Mindestanzahl an Ports pro VM für Zuverlässigkeit. Stellen Sie sicher, dass das Subnetz, aus dem Private NAT IP-Adressen zuweist und Ports die richtige Größe haben.
Wenn das Cloud NAT-Gateway zwei oder mehr NAT-IP-Adressen nutzt, die Tupel aus NAT-Quell-IP-Adresse und Quellport mehrere NAT-IP-Adressen 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 dynamischem Port konfiguriert haben Zuweisung und anschließend die minimale, maximale oder beide Anzahl von Ports pro VM erhöhen die vorhandenen NAT-Verbindungen nicht unterbrochen oder den Traffic, der durch zum NAT-Gateway.
Beachten Sie Folgendes, wenn Sie die Anzahl der Ports für VM erhöhen:
Wenn Sie öffentliche NAT mit manueller NAT-IP-Adresszuweisung verwenden, müssen Sie Die Anzahl der NAT-Quell-IP-Adressen berechnen. die Sie brauchen. Bevor Sie die Mindestanzahl an Ports pro VM erhöhen, weisen Sie mindestens NAT-IP-Adressen mit dem öffentlichen NAT-Gateway.
Wenn Sie öffentliche NAT mit automatischer NAT-IP-Adresszuweisung verwenden, erhöhen Sie den Wert Mindestanzahl von Ports pro VM führt dazu, dass das öffentliche NAT-Gateway und weisen Sie automatisch mehr regionale externe IP-Adressen zu.
Achten Sie bei Verwendung von privater NAT darauf, dass das Subnetz, aus dem das Gateway die Zuweisung erfolgt, IP-Adressen hat eine ausreichende Anzahl von IP-Adressen.
Anzahl der 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 dynamischem Port konfiguriert haben trifft zu, gilt Folgendes:
- Durch das Reduzieren der Mindestanzahl von Ports pro VM wird die vorhandene NAT nicht unterbrochen oder den über das NAT-Gateway fließenden Traffic unterbrechen.
- Wenn Sie die maximale Anzahl von Ports pro VM reduzieren, werden alle vorhandenen NAT-Verbindungen unterbrochen Die Anzahl der zugewiesenen Ports für alle VMs wird vorübergehend zurückgesetzt. auf den Wert, der für die Mindestanzahl von Ports pro VM angegeben ist.
Ports und Verbindungen
Die Anzahl der Tupel aus NAT-Quell-IP-Adresse und Quellport, die ein Cloud NAT-Gateway-Reservierungen für eine VM begrenzt die Anzahl der Verbindungen die die VM zu einem eindeutigen Ziel machen 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 Port80
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.
Die öffentliche NAT verwendet die endpunktunabhängige Zuordnung, wie in Abschnitt 2.3 von RFC 5128. Als ein Ergebnis, die Anzahl gleichzeitiger Verbindungen, die eine Client-VM zu einem eindeutigen Ziel herstellen kann 3-Tupel können reduziert werden, wenn die öffentliche NAT dieselbe NAT-Quelle zuweist. Tupel für IP-Adresse und Quellport in mehr als eins interne IP-Adresse und sitzungsspezifischer Quellport einer Client-VM. 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. Das erste Mal, wenn eine Client-VM ein Paket von einer internen IP-Adresse sendet und sitzungsspezifischem Quellport erstellt, erstellt die öffentliche NAT eine n:1-Verbindung. 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 sendet
10.0.0.2
durch Verwendung des sitzungsspezifischen Quellports 10001
, öffentlicher NAT weist zu
10.0.0.2:10001
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.
Wenn dieselbe VM beispielsweise einen anderen sitzungsspezifischen Quellport zum Senden eines Pakets verwendet:
10.0.0.2:20002
, weist die öffentliche NAT auch eine NAT-Quell-IP-Adresse und
Tupel des Quellports für alle nachfolgenden Verbindungen von 10.0.0.2:20002
zu einem beliebigen
Ziel-3-Tupel. Es ist möglich, dass die öffentliche NAT
dasselbe Tupel aus NAT-Quell-IP-Adresse und Quellport mit beiden internen IP-Adressen
Tupel aus Adressen und sitzungsspezifischen Quellports, die einen endpunktunabhängigen Konflikt verursachen
in bestimmten Situationen.
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, indem Sie den Standardwert des TCP-Zeitüberschreitung TIME_WAIT Informationen zum Ändern von NAT-Zeitlimits finden Sie unter NAT-Zeitlimits ändern Alternativ können Sie eine der folgenden Änderungen vornehmen:
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 schnell TCP-Verbindungen zum selben Netzwerk öffnen und schließen muss, Ziel-IP-Adresse und Zielport über dasselbe Protokoll. statt Cloud NAT, weisen Sie dem Server Mailboxnachricht und Firewallregeln, um unerwünschten eingehenden Traffic zu begrenzen Verbindungen.
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. Das Erhöhen der Mindestanzahl von Ports pro VM-Instanz weist jeder VM nach dem Zufallsprinzip einen Portbereich zu. Allerdings Der aus diesem Bereich ausgewählte Quellport ist sequenziell.
Weisen Sie dem Parameter Mailboxnachricht statt öffentlicher 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, und die VMs, die dieses Subnetz verwenden, haben beliebige 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 konfigurieren manuelle Zuweisung verwenden und die Mindestanzahl von Ports pro VM festlegen 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 zur Bereitstellung von NAT für alle IP-Adressen eines Subnetzes:
Sie können ein Subnetz mit einer Mindestgröße von acht IPv4-Adressen erstellen. Subnetzmaske von
/29
. Wenn Sie ein privates NAT-Gateway mit einem NAT-Subnetz konfigurieren der Mindestgröße haben und die Mindestanzahl von Ports pro VM-Instanz auf 64 festgelegt ist, 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 festgelegt haben, auf 1.024 gesetzt ist, 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 Sie Mindestanzahl von Ports pro VM-Instanz auf 64 festlegen, NAT-Dienste für bis zu 6.048 VMs:⌊(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 die Anzahl der gleichzeitigen Verbindungen von einer Client-VM zum gleichen Ziel-3-Tupel, auch wenn genügend freie NAT-Quelle vorhanden ist Tupel aus IP-Adresse und Quellport, die 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. 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.
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 die folgende NAT-Quell-IP-Adresse und den folgenden Quellport
Tupel:
192.0.2.10:30009
- Interne Quell-IP-Adresse und Quellport:
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 - Öffentliche NAT nutzt möglicherweise dieselbe NAT-Quell-IP-Adresse und
Quellport-Tupel,
192.0.2.10:30009
, auch für diese Verbindung. 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.
- Interne Quell-IP-Adresse und Quellport:
Während sowohl die erste als auch die zweite Verbindung aktiv sind, Eine dritte TCP-Verbindung kann über öffentliche NAT nicht geöffnet werden. Eigenschaften:
- 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 Verbindungsversuch abgebrochen Konfliktfehler verursacht, da die vom Endpoint-Undependent Mapping, Bei der ersten Verbindung müssen alle Verbindungen von
10.0.0.2:10001
die Methode dasselbe Tupel aus NAT-Quell-IP-Adresse und Quellport,192.0.2.10:30009
. Sie können jedoch192.0.2.10:30009
wird bereits von der zweiten TCP-Verbindung verwendet zu203.0.113.2:80
.- Gleiche interne Quell-IP-Adresse und gleicher Quellport wie bei der ersten Verbindung:
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,
Endpunktunabhängige Zuordnung zwischen
10.0.0.2:10001
und192.0.2.10:30009
, damit die dritte Verbindung einer anderen NAT-Quell-IP-Adresse Tupel des Quellports, um über TCP mit203.0.113.2:80
zu kommunizieren. - Die zweite TCP-Verbindung wurde getrennt. Durch das Beenden der Verbindung wird
10.0.0.2:10001
freigegeben um die NAT-Quell-IP-Adresse und den Quellport192.0.2.10:30009
zu verwenden, über TCP mit203.0.113.2:80
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
und10.0.0.2:10002
eingerichtet, um192.0.2.10:30009
zu verwenden, wenn die Kommunikation mit203.0.113.2:80
über TCP erfolgt. Wenn beim dritten Verbindungsversuch ein sitzungsspezifischer Quellport verwendet wird, der sich von10001
und10002
unterscheidet, besteht die Möglichkeit, eine andere NAT-Quell-IP-Adresse und einen anderen Quellport zur Kommunikation mit203.0.113.2:80
über TCP zu verwenden. - Endpunktunabhängigkeit deaktivieren Durch Umschalten kann das neue
Verbindung von
10.0.0.2:10001
, um192.0.2.10:30009
nicht zu verwenden, eine andere NAT-Quell-IP-Adresse und einen anderen Port.
- Die erste TCP-Verbindung wurde getrennt. Wenn Sie die Verbindung schließen,
Endpunktunabhängige Zuordnung zwischen
Methoden, mit denen Sie Konflikte vermeiden können, finden Sie unter Endpunktunabhängige Konflikte reduzieren.
Nächste Schritte
- Richten Sie ein öffentliches NAT-Gateway ein.
- Richten Sie ein privates NAT-Gateway ein.
- Eigene Beispielkonfiguration für Compute Engine erstellen
- Beispielkonfiguration für GKE erstellen
- Häufige Probleme beheben