Cloud NAT-Regeln einrichten und verwalten

Auf dieser Seite wird beschrieben, wie Sie Cloud NAT-Regeln für Public NAT konfigurieren. Lesen Sie vor dem Konfigurieren von Cloud NAT-Regeln die Übersicht über Cloud NAT-Regeln.

NAT-Regeln erstellen

Für die Erstellung von NAT-Regeln verwendet Cloud NAT die Common Expression Language (CEL), wie unter Ausdruckssprache für Regeln beschrieben. Beispielausdrücke, die Sie in Ihren NAT-Regeln verwenden können, finden Sie unter Beispielausdrücke.

Wenn Sie NAT-Regeln erstellen möchten, muss die endpunktunabhängige Zuordnung für Ihr NAT-Gateway deaktiviert sein.

Quellbasierte Regeln erstellen

In diesem Abschnitt wird beschrieben, wie Sie quellbasierte NAT-Regeln für die folgenden Bedingungen erstellen:

  1. Pakete aus dem Quell-IP-Bereich 10.10.1.0/24 müssen IP_ADDRESS_1 verwenden.
  2. Pakete aus dem Quell-IP-Bereich 10.10.2.0/24 müssen IP_ADDRESS_2 verwenden.
  3. Für alle anderen Pakete muss IP_ADDRESS_3 verwendet werden.

Für die Bedingungen 1 und 2 erstellen Sie zwei NAT-Regeln. Bedingung 3 wird durch die Standard-NAT-Regel für den Abgleich der Quelladresse erfüllt. IP_ADDRESS_1, IP_ADDRESS_2 und IP_ADDRESS_3 sind die externen IP-Adressen, die Sie für NAT verwenden möchten.

Konsole

NAT-Regeln zu einem vorhandenen NAT-Gateway hinzufügen

  1. Fügen Sie eine NAT-Regel hinzu, die Traffic von 10.10.1.0/24 abgleicht und die Quell-IP in IP_ADDRESS_1 übersetzt.

    1. Wechseln Sie in der Google Cloud Console zur Seite Cloud NAT.

      Zur Seite „Cloud NAT”

    2. Klicken Sie auf Ihr NAT-Gateway.

    3. Klicken Sie auf Bearbeiten.

    4. Wählen Sie für Cloud NAT-IP-Adressen die Option Manuell aus.

    5. Klicken Sie im Bereich Cloud NAT-Regeln auf Regel hinzufügen.

    6. Geben Sie im Feld Regelpriorität eine Zahl zwischen 0 (höchste Priorität) und 65000 (niedrigste Priorität) ein. Beispiel: 100

    7. Wählen Sie für IP-Bereiche abgleichen die Option Quelle aus.

    8. Geben Sie im Feld Quell-IP-Bereiche 10.10.1.0/24 ein.

    9. Wählen Sie im Abschnitt IP-Adressen die IP-Adresse aus, die Sie für IP_ADDRESS_1 verwenden möchten.

    10. Klicken Sie auf Fertig.

  2. Fügen Sie eine NAT-Regel hinzu, die mit Traffic von 10.10.2.0/24 übereinstimmt und ihn in IP_ADDRESS_2 übersetzt.

    1. Klicken Sie im Bereich Cloud NAT-Regeln auf Regel hinzufügen.
    2. Geben Sie im Feld Regelpriorität eine Zahl zwischen 0 (höchste Priorität) und 65000 (niedrigste Priorität) ein. Beispiel: 200
    3. Wählen Sie für IP-Bereiche abgleichen die Option Quelle aus.
    4. Geben Sie im Feld Quell-IP-Bereiche 10.10.2.0/24 ein.
    5. Wählen Sie im Abschnitt IP-Adressen die IP-Adresse aus, die Sie für IP_ADDRESS_2 verwenden möchten.
    6. Klicken Sie auf Fertig.
    7. Klicken Sie auf Speichern, um beide Regeln zu speichern.

gcloud

Sie können die Schritte in den folgenden Abschnitten ausführen, um eine Regeldatei zu erstellen, ein Cloud NAT-Gateway zu erstellen, das die Regeln in der Regeldatei verwendet, oder einem vorhandenen NAT-Gateway Regeln hinzuzufügen.

NAT-Regeln zu einem vorhandenen NAT-Gateway hinzufügen

Mit dem gcloud beta compute routers nats rules create-Befehl können Sie eine neue NAT-Regel hinzufügen.

  1. Fügen Sie eine NAT-Regel hinzu, die IP_ADDRESS_1 für Traffic von 10.10.1.0/24 verwendet:

    gcloud beta compute routers nats rules create NAT_RULE_PRIORITY \
        --router=NAT_ROUTER \
        --region=REGION \
        --nat=NAT_CONFIG \
        --match="inIpRange(source.ip, '10.10.1.0/24')" \
        --source-nat-active-ips=IP_ADDRESS_1
    

    Ersetzen Sie Folgendes:

    • NAT_RULE_PRIORITY: Eine Regelnummer, die die NAT-Regel eindeutig identifiziert, von 0 (höchste Priorität) bis 65000 (niedrigste Priorität), z. B. 100.
    • NAT_ROUTER: Name des Cloud Router, den Sie für das NAT-Gateway verwenden
    • REGION: die Region des NAT-Gateways
    • NAT_CONFIG: Der Name der NAT-Konfiguration.
    • IP_ADDRESS_1: die manuell zugewiesene externe IP-Adresse, die Sie für Pakete verwenden möchten, die der Regel entsprechen
  2. Fügen Sie eine NAT-Regel hinzu, die IP_ADDRESS_2 für Traffic von 10.10.2.0/24 verwendet:

    gcloud beta compute routers nats rules create NAT_RULE_PRIORITY \
        --router=NAT_ROUTER \
        --region=REGION \
        --nat=NAT_CONFIG \
        --match="inIpRange(source.ip, '10.10.2.0/24')" \
        --source-nat-active-ips=IP_ADDRESS_2
    

    Ersetzen Sie Folgendes:

    • NAT_RULE_PRIORITY: Eine Regelnummer, die die NAT-Regel eindeutig identifiziert, von 0 (höchste Priorität) bis 65000 (niedrigste Priorität), z. B. 200.
    • NAT_ROUTER: Name des Cloud Router, den Sie für das NAT-Gateway verwenden
    • REGION: Region des NAT-Gateways
    • NAT_CONFIG: Der Name der NAT-Konfiguration.
    • IP_ADDRESS_2: die manuell zugewiesene externe IP-Adresse, die Sie für Pakete verwenden möchten, die der Regel entsprechen

NAT-Gateway mit einer NAT-Regeldatei erstellen

Das folgende Codebeispiel ist eine Beispielregeldatei. Sie können diese Regeldatei an Ihren Anwendungsfall anpassen oder diesen Schritt überspringen, wenn Sie bereits eine Regeldatei haben.

Regeldatei erstellen
rules:
 - ruleNumber: 100
   match: inIpRange(source.ip, '10.10.1.0/24')
   action:
     sourceNatActiveIps:
     -  /projects/PROJECT_ID/regions/REGION/addresses/IP_ADDRESS_1
 - ruleNumber: 200
   match: inIpRange(source.ip, '10.10.2.0/24')
   action:
     sourceNatActiveIps:
     -  /projects/PROJECT_ID/regions/REGION/addresses/IP_ADDRESS_2

Im vorherigen Beispiel sind IP_ADDRESS_1 und IP_ADDRESS_2 die manuell zugewiesenen externen IP-Adressen, die Sie für Pakete verwenden möchten, die den Regeln entsprechen. Ersetzen Sie für jede IP-Adresse Folgendes:

  • PROJECT_ID: das Projekt der IP-Adresse
  • REGION: die Region, in der die IP-Adresse reserviert ist
NAT-Gateway mit einer NAT-Regeldatei erstellen

Der folgende Befehl erstellt ein NAT-Gateway und konfiguriert es mit Regeln aus einer NAT-Regeldatei. Wenn Sie bereits ein NAT-Gateway konfiguriert haben, finden Sie weitere Informationen unter NAT-Regeln einem vorhandenen NAT-Gateway hinzufügen.

gcloud beta compute routers nats create NAT_CONFIG \
    --router=NAT_ROUTER \
    --region=REGION \
    --nat-all-subnet-ip-ranges \
    --nat-external-ip-pool=IP_ADDRESS_3,[IP_ADDRESS_4] \
    --rules=PATH_TO_NAT_RULE_FILE

Ersetzen Sie Folgendes:

  • NAT_CONFIG: Name der NAT-Konfiguration
  • NAT_ROUTER: Name des Cloud Router, den Sie für das NAT-Gateway verwenden möchten
  • REGION: die Region, in der Sie das Cloud NAT-Gateway erstellen möchten
  • IP_ADDRESS_3 und IP_ADDRESS_4: die externen IP-Adressen, die Sie für die Standard-NAT-Regel verwenden möchten
  • PATH_TO_NAT_RULE_FILE: Der Pfad zur NAT-Regeldatei.

Zielbasierte Regeln erstellen

Die folgenden Beispielkonfigurationsschritte erfüllen die folgenden Bedingungen:

  • Pakete mit der Zieladresse 198.51.100.10 müssen die NAT-IP-Adresse IP_ADDRESS_1 verwenden.
  • Pakete mit der Zieladresse 198.51.100.20/30 müssen die NAT-IP-Adresse IP_ADDRESS_2 oder IP_ADDRESS_3 verwenden.

Sie können eine NAT-Regel für jede dieser Bedingungen erstellen.

Konsole

NAT-Regeln zu einem vorhandenen NAT-Gateway hinzufügen

  1. Fügen Sie eine NAT-Regel hinzu, die IP_ADDRESS_1 verwendet, um Traffic an 198.51.100.10 zu senden.

    1. Wechseln Sie in der Google Cloud Console zur Seite Cloud NAT.

      Zur Seite „Cloud NAT”

    2. Klicken Sie auf Bearbeiten.

    3. Wählen Sie für Cloud NAT-IP-Adressen die Option Manuell aus.

    4. Klicken Sie im Bereich Cloud NAT-Regeln auf Regel hinzufügen.

    5. Geben Sie im Feld Regelpriorität eine Zahl zwischen 0 (höchste Priorität) und 65000 (niedrigste Priorität) ein. Beispiel: 100

    6. Wählen Sie für IP-Bereiche abgleichen die Option Ziel aus.

    7. Geben Sie im Feld Ziel-IP-Bereiche 198.51.100.10 ein.

    8. Wählen Sie im Abschnitt IP-Adressen die IP-Adresse aus, die Sie für IP_ADDRESS_1 verwenden möchten.

    9. Klicken Sie auf Fertig.

  2. Fügen Sie eine NAT-Regel hinzu, die IP_ADDRESS_2 oder IP_ADDRESS_3 verwendet, um Traffic an 198.51.100.20/30 zu senden.

    1. Klicken Sie im Bereich Cloud NAT-Regeln auf Regel hinzufügen.
    2. Geben Sie im Feld Regelpriorität eine Zahl zwischen 0 (höchste Priorität) und 65000 (niedrigste Priorität) ein. Beispiel: 200
    3. Wählen Sie für IP-Bereiche abgleichen die Option Ziel aus.
    4. Geben Sie im Feld Ziel-IP-Bereiche 198.51.100.20/30 ein.
    5. Wählen Sie im Abschnitt IP-Adressen die IP-Adresse aus, die Sie für IP_ADDRESS_2 verwenden möchten.
    6. Klicken Sie auf IP-Adresse hinzufügen und wählen Sie die IP-Adresse aus, die Sie für IP_ADDRESS_3 verwenden möchten.
    7. Klicken Sie auf Fertig.
    8. Klicken Sie auf Speichern, um beide Regeln zu speichern.

gcloud

Sie können die Schritte in den folgenden Abschnitten ausführen, um eine Regeldatei zu erstellen, ein NAT-Gateway zu erstellen, das die Regeln in der Regeldatei verwendet, oder einem vorhandenen NAT-Gateway Regeln hinzuzufügen.

NAT-Regeln zu einem vorhandenen NAT-Gateway hinzufügen

Sie können eine neue NAT-Regel mit dem NAT-Regelbefehl hinzufügen. Ersetzen Sie NAT_RULE_PRIORITY durch die NAT-Regelpriorität, die Sie der Regel zuweisen möchten – von 0 (höchste) bis 65000 (niedrigste) – und die anderen Variablen durch Informationen, die Ihrer Konfiguration entsprechen.

Fügen Sie zuerst eine NAT-Regel hinzu, die Traffic von IP_ADDRESS1 an 198.51.100.10 sendet.

gcloud compute routers nats rules create NAT_RULE_PRIORITY \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    --match='destination.ip == "198.51.100.10"' \
    --source-nat-active-ips=IP_ADDRESS1 \
    [--region=REGION] [GLOBAL-FLAG ...]

Fügen Sie als Nächstes eine NAT-Regel hinzu, die Traffic von IP_ADDRESS2 oder IP_ADDRESS3 an 198.51.100.20/30 sendet.

gcloud compute routers nats rules create NAT_RULE_PRIORITY \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    --match='inIpRange(destination.ip, "198.51.100.20/30")' \
    --source-nat-active-ips=IP_ADDRESS2,IP_ADDRESS3 \
    [--region=REGION] [GLOBAL-FLAG ...]

Regeldatei erstellen

Das folgende Codebeispiel ist eine Beispielregeldatei. Sie können diese Regeldatei an Ihren Anwendungsfall anpassen oder diesen Schritt überspringen, wenn Sie bereits eine Regeldatei haben.

rules:
 - ruleNumber: 100
   match: destination.ip == '198.51.100.10'
   action:
     sourceNatActiveIps:
     -  /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS1
 - ruleNumber: 200
   match: inIpRange(destination.ip, '198.51.100.20/30')
   action:
     sourceNatActiveIps:
     -  /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS2
     -  /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS3

NAT-Gateway mit einer NAT-Regeldatei erstellen

Der folgende Befehl erstellt ein NAT-Gateway und konfiguriert es mit Regeln aus einer NAT-Regeldatei. Wenn Sie bereits ein NAT-Gateway konfiguriert haben, finden Sie weitere Informationen unter NAT-Regeln einem vorhandenen NAT-Gateway hinzufügen. Ersetzen Sie die Variablen durch Informationen, die Ihrer Konfiguration entsprechen.

gcloud compute routers nats create NAT_NAME \
    --router=ROUTER_NAME \
    --nat-external-ip-pool=IP_ADDRESS4,[IP_ADDRESS5] \
    --nat-all-subnet-ip-ranges \
    --rules=PATH_TO_NAT_RULE_FILE \
    [--region=REGION] [GLOBAL-FLAG ...]

NAT-Regeln aktualisieren

Führen Sie die Schritte in den folgenden Abschnitten aus, um die NAT-Regeln zu aktualisieren. Sie können Regeldateien nur mit dem gcloud-Befehlszeilentool verwenden.

Console

  1. Rufen Sie in der Google Cloud Console die Seite „Cloud NAT“ auf.

    Zur Seite „Cloud NAT”

  2. Klicken Sie auf Ihr NAT-Gateway.
  3. Klicken Sie auf Bearbeiten.
  4. Klicken Sie unter Benutzerdefinierte Regeln auf die Regel, die Sie aktualisieren möchten.
  5. In den maximierten Feldern können Sie bei Bedarf die Informationen ändern.
  6. Klicken Sie auf Fertig.
  7. Klicken Sie auf Speichern.

gcloud

Mit einer NAT-Regeldatei aktualisieren

Verwenden Sie den gcloud compute routers nats update-Befehl, um ein NAT-Gateway mit Ihrer NAT-Regeldatei zu aktualisieren.

Ersetzen Sie die Variablen durch Informationen, die Ihrer Konfiguration entsprechen.

gcloud compute routers nats update NAT_NAME \
    --router=ROUTER_NAME \
    --rules=PATH_TO_NAT_RULE_FILE \
    [--region=REGION] [GLOBAL-FLAG ...]

Das folgende Codebeispiel ist eine Beispielregeldatei. Beachten Sie die Aktion sourceNatDrainIps, durch die neue Verbindungen zum Ziel mit IP_ADDRESS1 verhindert werden, aber bestehende Verbindungen erhalten bleiben.

rules:
 - ruleNumber: 100
   match: destination.ip == '198.51.100.10'
   action:
     sourceNatActiveIps:
     -  /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS2
     sourceNatDrainIps:
     -  /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS1

Mit einem NAT-Regelbefehl aktualisieren

Verwenden Sie den folgenden Befehl, um eine einzelne NAT-Regel zu aktualisieren. Ersetzen Sie NAT_RULE_PRIORITY durch die Prioritätsnummer der NAT-Regel und die anderen Variablen durch Informationen, die Ihrer Konfiguration entsprechen. Beachten Sie die Option source-nat-drain-ips, durch die neue Verbindungen zum Ziel mit IP_ADDRESS3 und IP_ADDRESS4 verhindert werden, aber vorhandene Verbindungen erhalten bleiben.

gcloud compute routers nats rules update NAT_RULE_PRIORITY \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    --match=Match conditions (expressed in CEL) \
    --source-nat-active-ips=[IP_ADDRESS1],[IP_ADDRESS2] \
    --source-nat-drain-ips=[IP_ADDRESS3],[IP_ADDRESS4] \
    [--region=REGION] [GLOBAL-FLAG ...]

NAT-Regeln löschen

Console

  1. Rufen Sie in der Google Cloud Console die Seite „Cloud NAT“ auf.

    Zur Seite „Cloud NAT”

  2. Klicken Sie auf Ihr NAT-Gateway.
  3. Klicken Sie auf Bearbeiten.
  4. Halten Sie unter Benutzerdefinierte Regeln den Mauszeiger auf die Regel, die Sie löschen möchten. Klicken Sie auf .
  5. Klicken Sie auf Speichern.

gcloud

Sie können eine NAT-Regel aus einem Gateway entfernen. Entfernen Sie sie dazu entweder direkt aus dem Gateway oder entfernen Sie sie aus der Regeldatei und aktualisieren Sie das Gateway.

Mit einer NAT-Regeldatei löschen

Sie können eine NAT-Regel direkt aus Ihrer Regeldatei entfernen und dann Ihr NAT-Gateway aktualisieren. Der Befehl zum Aktualisieren des NAT-Gateways wird hier der Einfachheit halber wiederholt.

Ersetzen Sie die Variablen durch Informationen, die Ihrer Konfiguration entsprechen.

gcloud compute routers nats update NAT_NAME \
    --router=ROUTER_NAME \
    --rules=PATH_TO_NAT_RULE_FILE \
    [--region=REGION] [GLOBAL-FLAG ...]

Mit einem NAT-Regelbefehl löschen

Alternativ können Sie einen NAT-Regel-delete-Befehl verwenden, um eine NAT-Regel aus Ihrem Gateway zu entfernen. Ersetzen Sie NAT_RULE_PRIORITY durch die Prioritätsnummer der NAT-Regel und die anderen Variablen durch Informationen, die Ihrer Konfiguration entsprechen.

gcloud compute routers nats rules delete NAT_RULE_PRIORITY \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    [--region=REGION] [GLOBAL-FLAG ...]

NAT-Regel beschreiben

Console

Informationen zu Ihren NAT-Regeln finden Sie auf der Seite „Cloud NAT“.

  1. Rufen Sie in der Google Cloud Console die Seite „Cloud NAT“ auf.

    Zur Seite „Cloud NAT”

  2. Klicken Sie auf Ihr NAT-Gateway.
  3. Sehen Sie sich die NAT-Regeln an.

Weitere Informationen zu einer einzelnen NAT-Regel finden Sie so:

  1. Klicken Sie auf Bearbeiten.
  2. Wählen Sie unter der Überschrift Benutzerdefinierte Regeln eine NAT-Regel aus.
  3. Sehen Sie sich die zusätzlichen Informationen an.
  4. Klicken Sie auf Abbrechen.

gcloud

Verwenden Sie den folgenden Befehl, um eine NAT-Regel zu beschreiben. Ersetzen Sie NAT_RULE_PRIORITY durch die Prioritätsnummer Ihrer NAT-Regel und die anderen Variablen durch Informationen, die Ihrer Konfiguration entsprechen.

gcloud compute routers nats rules describe NAT_RULE_PRIORITY \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    [--region=REGION] [GLOBAL-FLAG ...]

Alle NAT-Regeln in einem NAT-Gateway auflisten

Console

Sie können sich Ihre NAT-Regeln auf der Seite „Cloud NAT“ ansehen.

  1. Rufen Sie in der Google Cloud Console die Seite „Cloud NAT“ auf.

    Zur Seite „Cloud NAT”

  2. Klicken Sie auf Ihr NAT-Gateway.
  3. Sehen Sie sich die NAT-Regeln an.

gcloud

Verwenden Sie den folgenden Befehl, um alle NAT-Regeln in einem NAT-Gateway aufzulisten. Hier werden auch alle NAT-IP-Adressen angezeigt, die in den NAT-Regeln vorhanden sind, einschließlich der Standardregel. Ersetzen Sie die Variablen durch Informationen, die Ihrer Konfiguration entsprechen.

gcloud compute routers nats rules list \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    [--region=REGION] [GLOBAL-FLAG ...]