Cloud NAT-Regeln

Auf dieser Seite finden Sie eine Übersicht über Cloud NAT-Regeln für Public NAT. Mit diesen Regeln können Sie festlegen, wie Cloud NAT für die Verbindung mit dem Internet verwendet wird.

Cloud NAT-Regeln für Public NAT unterstützen die Quellnetzwerkadressübersetzung (SNAT) basierend auf der Quell- oder Zieladresse.

NAT-Regeln

Wenn Sie ein Cloud NAT-Gateway für Public NAT konfigurieren, verwenden Pakete, die von diesem NAT-Gateway übersetzt werden, standardmäßig denselben NAT-IP-Adressbereich, um alle Internetadressen zu erreichen. Wenn Sie mehr Kontrolle über Pakete benötigen, die von Cloud NAT übersetzt werden, können Sie NAT-Regeln hinzufügen.

Eine NAT-Regel definiert eine Übereinstimmungsbedingung und eine entsprechende Aktion. Nachdem Sie NAT-Regeln angegeben haben, wird jedes Paket mit jeder NAT-Regel abgeglichen. Wenn ein Paket die in einer Regel festgelegte Bedingung erfüllt, wird die entsprechende Aktion ausgeführt.

NAT-Regeln für Public NAT unterstützen sowohl den Abgleich von Quell- als auch von Zieladressen:

  • In quellbasierten Regeln werden Pakete anhand ihrer Quell-IP-Adresse zugeordnet. Nur IPv4-Quelladressen werden unterstützt.
  • Bei zielbasierten Regeln werden Pakete anhand ihrer Ziel-IP-Adresse abgeglichen. Es werden nur IPv4-Zieladressen unterstützt.

Das Kombinieren von quell- und zielbasierten Bedingungen in einer einzelnen NAT-Regel ist nicht zulässig. Weitere Informationen finden Sie unter NAT-Regeln – Spezifikationen.

Beispiele für die Konfiguration von Cloud NAT-Regeln

Dieser Abschnitt enthält Konfigurationsbeispiele für NAT-Regeln, die auf Quelle und Ziel basieren.

Quellbasierte Regeln

Sie können quellbasierte NAT-Regeln für jeden Traffic verwenden, der von Public NAT unterstützt wird. In diesem Abschnitt finden Sie ein Konfigurationsbeispiel für VM-Instanzen, für die IP-Weiterleitung aktiviert ist.

Wenn ein Cloud NAT-Gateway für IPv4-Traffic in einem Subnetz konfiguriert ist, bietet das Gateway standardmäßig NAT für die primäre interne IP-Adresse und die Alias-IP-Bereiche aller VM-Instanzen in diesem Subnetz. Mithilfe von quellbasierten NAT-Regeln können Sie NAT auch für VM-Instanzen konfigurieren, die Pakete mit anderen Quelladressen weiterleiten.

In diesem Beispiel ist Cloud NAT in Subnet A konfiguriert. Im Subnetz sendet eine VM-Instanz mit der primären internen IP-Adresse 10.1.1.2 und dem Alias-IP-Bereich 10.2.1.0/24 Traffic an das Internet. Beachten Sie die folgenden Anforderungen für die VM-Instanz:

  • Wenn ein Paket aus dem IP-Bereich 192.168.1.0/24 stammt, muss die VM die NAT-IP-Adresse 203.0.113.10 verwenden, um Traffic an ein beliebiges Internetziel zu senden.
  • Wenn ein Paket aus dem IP-Bereich 192.168.2.0/24 stammt, muss die VM die NAT-IP-Adresse 203.0.113.20 verwenden, um Traffic an ein beliebiges Internetziel zu senden.
  • Wenn ein Paket von der IP-Adresse 10.1.1.2 (der primären internen IP-Adresse der VM) oder dem IP-Bereich 10.2.1.0/24 (dem Alias-IP-Bereich der VM) stammt, muss die VM die NAT-IP-Adresse 203.0.113.30 verwenden, um Traffic an ein beliebiges Internetziel zu senden.
Cloud NAT-Konfiguration mit quellbasierten Regeln
Cloud NAT-Konfiguration mit zwei quellbasierten Regeln (zum Vergrößern klicken)

Um diese Anforderungen zu erfüllen, erstellen Sie zwei quellbasierte NAT-Regeln für weitergeleitete Pakete und die Standardregel für Pakete von der primären internen IP-Adresse und dem Alias-IP-Bereich der VM-Instanz:

  • Quellbasierte Regel 1: Wenn die Quelladresse 192.168.1.0/24 ist, verwenden Sie 203.0.113.10, um Traffic an das Internet zu senden.
  • Quellbasierte Regel 2: Wenn die Quelladresse 192.168.2.0/24 ist, verwenden Sie 203.0.113.20, um Traffic an das Internet zu senden.
  • Die Standardregel: Verwenden Sie für alle anderen Pakete 203.0.113.30, um Traffic an das Internet zu senden.

Wenn die Quelladresse eines von der VM-Instanz weitergeleiteten Pakets nicht mit Regel 1 oder Regel 2 übereinstimmt, wird das Paket verworfen. Informationen dazu, wie Cloud NAT Ports für VMs mit aktivierter IP-Weiterleitung zuweist, finden Sie unter Portzuweisung für IP-Weiterleitung.

Weitere Informationen zur Verwendung von quellbasierten NAT-Regeln finden Sie unter Cloud WAN unter der Haube: ein genauerer Blick auf die verschiedenen Netzwerkfunktionen.

Zielortbasierte Regeln

Das folgende Beispiel zeigt, wie NAT-Regeln verwendet werden, wenn Ihr Ziel den Zugriff von nur wenigen IP-Adressen zulässt. Wir empfehlen, dass für Traffic von Ihren Google Cloud -VMs in privaten Subnetzen zu solchen Zielen SNAT nur mit den zulässigen IP-Adressen durchgeführt wird. Ebenso empfehlen wir, diese IP-Adressen nicht für andere Ziele zu verwenden.

Beachten Sie die folgenden Anforderungen für VMs in Subnet-1 (10.10.10.0/24), die sich in Region A des VPC-Netzwerks test befinden:

  • Die VMs müssen die NAT-IP-Adresse 203.0.113.20 verwenden, um Traffic an das Ziel 198.51.100.20/30 zu senden.
  • Die VMs müssen die NAT-IP-Adresse 203.0.113.30 verwenden, um Traffic an das Ziel 198.51.100.30 oder 198.51.100.31 zu senden.
  • Die VMs müssen die NAT-IP-Adresse 203.0.113.40 verwenden, um Traffic an ein anderes Internetziel zu senden.

Dieses VPC-Netzwerk enthält außerdem zwei zusätzliche Subnetze in derselben Region. Diese VMs müssen die NAT-IP-Adresse 203.0.113.10 verwenden, um Traffic an ein beliebiges Ziel zu senden.

Cloud NAT-Konfiguration mit zwei Cloud NAT-Gateways
Cloud NAT-Konfiguration mit zwei Cloud NAT-Gateways (zum Vergrößern klicken)

Sie können für dieses Beispiel NAT-Regeln verwenden, benötigen aber zwei NAT-Gateways, da Subnet-1 (10.10.10.0/24) NAT-Regeln hat, die sich von den anderen Subnetzen unterscheiden. Gehen Sie so vor, um diese Konfiguration zu erstellen:

  1. Erstellen Sie ein Gateway namens Cloud NAT Gateway 1 für Subnet-1 mit der NAT-IP-Adresse 203.0.113.40 und fügen Sie die folgenden Regeln hinzu:
    1. NAT-Regel 1 in Cloud NAT Gateway 1: Verwenden Sie 203.0.113.20 für NAT, wenn das Ziel 198.51.100.20/30 ist.
    2. NAT-Regel 2 in Cloud NAT Gateway 1: Verwenden Sie 203.0.113.30 für NAT, wenn das Ziel 198.51.100.30 oder 198.51.100.31 ist.
  2. Erstellen Sie ein Gateway namens Cloud NAT Gateway 2 für die anderen Subnetze der Region und weisen Sie die NAT-IP-Adresse 203.0.113.10 zu. In diesem Schritt sind keine NAT-Regeln erforderlich.

Spezifikationen für NAT-Regeln

  • Cloud NAT unterstützt quellen- und zielbasierte Regeln. Jede Regel definiert eine Bedingung, die auf der Quell- oder Zieladresse basiert, aber nicht auf beiden.
  • Eine Regelpriorität identifiziert eine NAT-Regel eindeutig, von 0 (höchste Priorität) bis 65.000 (niedrigste Priorität). Zwei Regeln können nicht dieselbe Priorität haben.
  • Jede NAT-Konfiguration hat eine Standardregel (Regelpriorität 65.001):
    • Die Standardregel wird angewendet, wenn ein Paket nicht mit einer quell- oder zielbasierten NAT-Regel in derselben NAT-Konfiguration übereinstimmt. Ausnahme: Die Standardregel wird nicht auf weitergeleitete Pakete angewendet. Wenn Sie NAT für diese Pakete verwenden möchten, muss Ihre NAT-Konfiguration eine entsprechende quellbasierte Regel enthalten. Weitere Informationen finden Sie unter Quellbasierte Regeln und Portzuweisung für IP-Weiterleitung.
    • Der IP-CIDR-Bereich der Standardregel ist 0.0.0.0/0. Wenn die NAT-Konfiguration sowohl quell- als auch zielbasierte Regeln enthält, wird jeder Traffic, der für die Standardregel infrage kommt und keiner Ihrer benutzerdefinierten Regeln entspricht, von dieser Standardregel mit den ihr zugewiesenen NAT-IP-Adressen verarbeitet.
  • Cloud NAT-Regeln werden nur unterstützt, wenn der Wert der Option für die NAT-IP-Zuweisung MANUAL_ONLY ist.
  • Alle in einer bestimmten Regel konfigurierten IP-Adressen müssen derselben Stufe angehören.

    Sie können nicht IP-Adressen sowohl der Premium-Stufe als auch der Standardstufe in derselben Regel (einschließlich der Standardregel) verwenden.

  • IP-CIDR-Bereiche in Übereinstimmungsbedingungen dürfen sich nicht über NAT-Regeln hinweg überschneiden. Auf ein bestimmtes Paket kann höchstens eine Regel angewendet werden. Wenn ein Paket sowohl mit einer quell- als auch mit einer zielbasierten Regel übereinstimmt, wendet Cloud NAT die Regel mit der höheren Priorität an.

    Sie können keine NAT-Regel mit 0.0.0.0/0 als Quell- oder Zielbereich erstellen, da dieser Bereich von der Standardregel verwendet wird.

  • NAT-IP-Adressen in NAT-Regeln dürfen sich nicht überschneiden.

  • Eine Regel muss entweder eine nicht leere Active- oder eine nicht leere Drain-IP-Adresse haben. Wenn die Regel eine leere Active-IP-Adresse hat, werden neue Verbindungen, die der NAT-Regel entsprechen, beendet.

  • NAT-Regeln können keinem NAT-Gateway hinzugefügt werden, für das die endpunktunabhängige Zuordnung (Endpoint-Independent Mapping, EIM) aktiviert ist. Sie können die endpunktunabhängige Zuordnung nicht für ein NAT-Gateway aktivieren, das NAT-Regeln enthält.

Portzuweisung

Das Cloud NAT-Gateway verwendet die Einstellung für die Mindestanzahl an Ports pro VM (minPortsPerVm), um zu bestimmen, wie viele Quellports für jede VM zugewiesen werden sollen.

Da eine einzelne NAT-IP-Adresse 64.512 verwendbare Ports bietet,bestimmt der Wert von minPortsPerVm die maximale Anzahl von VMs, die von einer NAT-IP-Adresse unterstützt werden können. Wenn minPortsPerVm beispielsweise 1.024 Ports beträgt, kann eine einzelne IP-Adresse bis zu 63 VMs (64.512 ÷ 1.024) unterstützen.

Der Wert von minPortsPerVm wird verwendet, um die Portzuweisung für jede konfigurierte NAT-Regel, einschließlich der Standardregel, unabhängig zu berechnen. Wenn die einer VM über eine bestimmte Regel zugewiesenen Ports aufgebraucht sind, werden neue Verbindungen, die dieser Regel entsprechen, verworfen.

Regeltypen und Portzuweisung

Cloud NAT weist Ports für NAT-Regeln basierend auf ihrem Typ zu:

  • Standardregel. Jeder VM, deren primäre interne IP-Adresse oder Alias-IP-Bereiche vom Cloud NAT-Gateway bereitgestellt werden, werden Ports zugewiesen, auch wenn für die VM die IP-Weiterleitung aktiviert ist. Die Standardregel verarbeitet nur Traffic, der von primären internen IP-Adressen oder Alias-IP-Bereichen stammt, und keinen weitergeleiteten Traffic.
  • Quellbasierte Regeln: Ports werden einer VM nur zugewiesen, wenn ihre primäre interne IP-Adresse oder ein Alias-IP-Bereich mit der in der NAT-Regel angegebenen Quelladresse übereinstimmt. Angenommen, ein Cloud NAT-Gateway ist so konfiguriert, dass es einen primären IP-Adressbereich mit 10.1.1.1 und 10.1.1.2 bedient. Wenn in einer quellbasierten Regel 10.1.1.1 für die Abgleichsbedingung angegeben ist, eine VM jedoch Pakete mit ihrer primären internen IP-Adresse 10.1.1.2 sendet, weist Cloud NAT der VM keine Ports aus dieser bestimmten Regel zu.

    Einschränkung: Wenn für eine VM die IP-Weiterleitung aktiviert ist, funktioniert die Portzuweisung anders. In diesem Fall weist Cloud NAT der VM gleichzeitig Ports aus der Standardregel und allen quellbasierten Regeln in der NAT-Konfiguration zu. Weitere Informationen finden Sie unter Portzuweisung für die IP-Weiterleitung.

  • Zielortbasierte Regeln: Für jede Regel werden Ports für jede VM zugewiesen, deren primäre interne IP-Adresse oder Alias-IP-Bereiche vom Cloud NAT-Gateway bereitgestellt werden. Jede VM erhält Ports aus der Standardregel und aus jeder zielbasierten Regel.

    Wenn das Gateway beispielsweise mit 1.024 Ports pro VM konfiguriert ist und neben der Standard-NAT-Regel zwei zielbasierte NAT-Regeln hat, werden jeder VM 1.024 Ports aus jeder Regel zugewiesen.

Portzuweisung für IP-Weiterleitung

Zur Unterstützung von VMs mit aktivierter IP-Weiterleitung funktioniert der Regelabgleich für diese VMs während der Portzuweisung und Paketverarbeitung anders:

  • Portzuweisung Da Weiterleitungs-VMs Pakete mit beliebigen Quell-IP-Adressen ausgeben können, behandelt Cloud NAT diese VMs als Übereinstimmung für die Standardregel und alle quellbasierten NAT-Regeln in der NAT-Konfiguration. Folglich weist das Cloud NAT-Gateway für jede Weiterleitungs-VM gleichzeitig den minPortsPerVm-Wert aus der Standardregel und jeder quellbasierten Regel zu.

    Angenommen, Sie haben ein Cloud NAT-Gateway mit einem minPortsPerVm von 1.024, einer quellbasierten NAT-Regel mit einer NAT-IP-Adresse und der Standard-NAT-Regel mit 10 NAT-IP-Adressen konfiguriert. Jeder Weiterleitungs-VM werden 1.024 Ports aus beiden Regeln zugewiesen. Da die quellbasierte Regel nur eine NAT-IP-Adresse hat, können bis zu 63 Weiterleitungs-VMs unterstützt werden. Das Cloud NAT-Gateway reserviert außerdem 64.512 Ports (63 VMs × 1.024 Ports) für sie aus der Standardregel.

  • Paketverarbeitung: Bei der eigentlichen Adressübersetzung wird ein Paket nur dann durch eine quellbasierte Regel verarbeitet, wenn die Quell-IP-Adresse des Pakets mit der in der Regelbedingung definierten Quelladresse übereinstimmt. Die Standardregel verarbeitet keinen weitergeleiteten Traffic von VMs, für die die IP-Weiterleitung aktiviert ist. Pakete mit beliebigen Quell-IP-Adressen werden verworfen, wenn sie nicht mit einer quellbasierten Regel übereinstimmen.

Um eine Portauslastung zu vermeiden, die zu einem Fehler in NAT-Konfigurationen führt, die VMs mit aktivierter IP-Weiterleitung enthalten, müssen Sie dafür sorgen, dass Ihre NAT-Regeln mit ausreichender Portkapazität konfiguriert sind:

  • Die Standardregel muss eine ausreichende Anzahl von NAT-IP-Adressen haben, um alle Weiterleitungs-VMs zu unterstützen, die vom Cloud NAT-Gateway bereitgestellt werden, sowie jede VM, die die Standardregel für Traffic von ihrer primären internen IP-Adresse oder Alias-IP-Bereichen verwendet.
  • Für jede quellbasierte Regel muss eine ausreichende Anzahl von NAT-IP-Adressen vorhanden sein, um alle Weiterleitungs-VMs zu unterstützen, die vom Gateway bereitgestellt werden. Die Regel muss außerdem eine ausreichende Anzahl von NAT-IP-Adressen haben, um jede VM zu unterstützen, die diese bestimmte quellbasierte Regel für Traffic von ihrer primären internen IP-Adresse oder Alias-IP-Bereichen verwendet.

Portkapazität

Die verfügbaren Ports einer NAT-Regel können erschöpft sein, wenn die IP-Adressen der Regel die erforderlichen Portzuweisungen nicht unterstützen können.

Angenommen, Sie haben ein Subnetz mit 16 VMs und ein Cloud NAT-Gateway, das mit 4.096 Ports pro VM konfiguriert ist. Das Gateway hat drei Regeln:

  • Standard-NAT-Regel mit zwei NAT-IP-Adressen
  • Zielbasiertes rule-1 mit einer NAT-IP-Adresse
  • Zielbasiertes rule-2 mit zwei NAT-IP-Adressen

Da die Portzuweisung für jede Regel unabhängig berechnet wird, muss jede Regel 65.536 Ports (16 VMs × 4.096 Ports) bereitstellen.

Die Standardregel und rule-2 haben ausreichend Kapazität. rule-1 hat jedoch nur eine IP-Adresse (64.512 nutzbare Ports), was nicht ausreicht, um die vollständige Zuweisung für alle 16 VMs bereitzustellen. Daher kann Traffic, der mit rule-1 übereinstimmt, für jede VM verworfen werden, die nicht die vollständige Portzuweisung erhält.

Mit dem Feld minExtraIpsNeeded können Sie prüfen, ob für eine NAT-Regel mehr IP-Adressen erforderlich sind. In diesem Feld wird die Anzahl der IP-Adressen angezeigt, die Sie zuweisen müssen, wenn die vorhandenen IP-Adressen in der NAT-Regel die Portanforderungen für alle konfigurierten VMs nicht erfüllen können.

Planung der Portkapazität

Berücksichtigen Sie bei der Planung der Portkapazität Ihrer NAT-Regeln, wie Cloud NAT Ports für NAT-Regeln zuweist:

Regelausdruckssprache

NAT-Regeln werden in der Common Expression Language-Syntax geschrieben.

Ein Ausdruck erfordert zwei Komponenten:

  • Attribute, die in Regelausdrücken geprüft werden können
  • Vorgänge, die für die Attribute als Teil eines Ausdrucks ausgeführt werden können

Der folgende Ausdruck verwendet beispielsweise die Attribute destination.ip und 198.51.100.0/24 im Vorgang inIpRange(). In diesem Fall gibt der Ausdruck „true“ zurück, wenn destination.ip im IP-Adressbereich 198.51.100.0/24 liegt.

inIpRange(destination.ip, '198.51.100.0/24')

NAT-Regeln unterstützen nur die folgenden Attribute und Vorgänge:

Attribute

Attribute stellen Informationen aus einem ausgehenden Paket dar, z. B. die Quell- und Ziel-IP-Adresse.

Attributname Beschreibung
source.ip Quell-IP-Adresse des Pakets
destination.ip Ziel-IP-Adresse des Pakets

Vorgänge

In der folgenden Referenz werden die Operatoren beschrieben, die Sie mit Attributen zum Definieren von Regelausdrücken verwenden können.

Vorgang Beschreibung
inIpRange(string, string) -> bool inIpRange(x, y) gibt true zurück, wenn der IP-CIDR-Bereich y die IP-Adresse x enthält.
|| Logischer Operator. x || y gibt true zurück, wenn x oder y gleich true ist.
== Gleichheitsoperator. x == y gibt true zurück, wenn x gleich y ist.

Beispielausdrücke

Sie können Pakete entweder anhand der Quell- oder der Zieladresse abgleichen, aber nicht anhand beider.

Beispiele für den quellenbasierten Abgleich

Pakete mit der Quell-IP-Adresse 10.0.0.25 abgleichen:

"source.ip == '10.0.0.25'"

Pakete mit der Quell-IP-Adresse 10.0.0.25 oder 10.0.0.26 abgleichen:

"source.ip == '10.0.0.25' || source.ip == '10.0.0.26'"

Pakete mit dem Quell-IP-Adressbereich 10.0.2.0/24 abgleichen:

"inIpRange(source.ip, '10.0.2.0/24')"

Pakete mit der Quell-IP-Adresse 10.0.0.25 oder dem Quell-IP-Adressbereich 10.0.2.0/24 abgleichen:

"source.ip == '10.0.0.25' || inIpRange(source.ip, '10.0.2.0/24')"

Beispiele für den zielortbasierten Abgleich

Pakete mit der Ziel-IP-Adresse 198.51.100.20 abgleichen:

"destination.ip == '198.51.100.20'"

Pakete mit der Ziel-IP-Adresse 198.51.100.20 oder 198.51.100.21 abgleichen:

"destination.ip == '198.51.100.20' || destination.ip == '198.51.100.21'"

Pakete mit dem Ziel-IP-Adressbereich 198.51.100.10/30 abgleichen:

"inIpRange(destination.ip, '198.51.100.10/30')"

Pakete mit der Ziel-IP-Adresse 198.51.100.20 oder dem Ziel-IP-Adressbereich 198.51.100.10/30 abgleichen:

"destination.ip == '198.51.100.20' || inIpRange(destination.ip, '198.51.100.10/30')"

Nächste Schritte