Cloud NAT-Regeln einrichten und verwalten

Auf dieser Seite erfahren Sie, wie Sie Cloud NAT-Regeln konfigurieren. Lesen Sie vor dem Einrichten von Cloud NAT-Regeln die Übersicht über Cloud NAT-Regeln.

NAT-Regeln erstellen

NAT-Regeln werden in der Syntax der Common Expression Language geschrieben. Weitere Informationen zur Common Expression Language finden Sie unter Sprache von Regelausdrücken.

Die folgenden Beispielkonfigurationsschritte erfüllen die folgenden Bedingungen:

  • VMs müssen die NAT-IP-Adresse mit dem Ressourcennamen IP_ADDRESS1 verwenden, um Traffic an das Ziel 198.51.100.10 zu senden.
  • VMs müssen NAT-IP-Adressen mit dem Ressourcennamen IP_ADDRESS2 oder IP_ADDRESS3 verwenden, um Traffic an 198.51.100.20/30 zu senden.

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

Console

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

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

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

    Zur Seite "Cloud NAT"

  2. Wählen Sie Ihr NAT-Gateway aus.
  3. Wählen Sie Bearbeiten aus.
  4. Wählen Sie unter NAT-Regeln die Option Neue Regel hinzufügen aus.
  5. Geben Sie im Feld Übereinstimmung den Wert 198.51.100.10 ein.
  6. Wählen Sie im Menü IP-Adresse die IP-Adresse aus, die Sie für IP_ADDRESS1 verwendet haben.
  7. Geben Sie im Feld Regelnummer 100 ein.
  8. Wählen Sie Fertig aus.

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

  1. Wählen Sie unter NAT-Regeln die Option Neue Regel hinzufügen aus.
  2. Geben Sie im Feld Übereinstimmung den Wert 198.51.100.20/30 ein.
  3. Wählen Sie im Menü IP-Adresse die IP-Adresse aus, die Sie für IP_ADDRESS2 verwendet haben.
  4. Wählen Sie IP-Adresse hinzufügen und dann die IP-Adresse aus, die Sie für IP_ADDRESS3 verwendet haben.
  5. Geben Sie im Feld Regelnummer 200 ein.
  6. Wählen Sie Fertig aus.
  7. Wählen Sie Speichern aus, 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-Regel zu einem vorhandenen NAT-Gateway hinzufügen

Sie können eine neue NAT-Regel mit dem NAT-Regelbefehl hinzufügen. Ersetzen Sie NAT_RULE_NUMBER durch die gewünschte NAT-Regelnummer 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_NUMBER \
    --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_NUMBER \
    --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-Regel 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. Wechseln Sie in der Google Cloud Console zur Seite „Cloud NAT“.

    Zur Seite "Cloud NAT"

  2. Wählen Sie Ihr NAT-Gateway aus.
  3. Wählen Sie Bearbeiten aus.
  4. Klicken Sie unter Benutzerdefinierte Regeln auf die Regel, die Sie aktualisieren möchten.
  5. In den erweiterten Feldern können Sie alle Informationen ändern, die Sie ändern möchten.
  6. Wenn Sie alle Änderungen vorgenommen haben, wählen Sie Fertig aus.
  7. Klicken Sie auf Speichern.

gcloud

Aktualisierung mit einer NAT-Regeldatei

Verwenden Sie den folgenden Befehl, um Ihre NAT-Regeldatei zum Aktualisieren eines NAT-Gateways zu verwenden. 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, die neue Verbindungen zum Ziel mit IP_ADDRESS1 verhindert, aber bestehende Verbindungen beibehält.

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_NUMBER durch die gewünschte NAT-Regelnummer und die anderen Variablen durch Informationen, die Ihrer Konfiguration entsprechen. Beachten Sie die Option source-nat-drain-ips, die neue Verbindungen zum Ziel mithilfe von IP_ADDRESS3 und IP_ADDRESS4 verhindert, aber vorhandene Verbindungen beibehält.

gcloud compute routers nats rules update NAT_RULE_NUMBER \
    --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. Wechseln Sie in der Google Cloud Console zur Seite „Cloud NAT“.

    Zur Seite "Cloud NAT"

  2. Wählen Sie Ihr NAT-Gateway aus.
  3. Wählen Sie Bearbeiten aus.
  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_NUMBER durch die gewünschte NAT-Regelnummer und die anderen Variablen durch Informationen, die Ihrer Konfiguration entsprechen.

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

NAT-Regel beschreiben

Console

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

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

    Zur Seite "Cloud NAT"

  2. Wählen Sie Ihr NAT-Gateway aus.
  3. Sehen Sie sich die NAT-Regeln an.

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

  1. Wählen Sie Bearbeiten aus.
  2. Wählen Sie unter der Überschrift Benutzerdefinierte Regeln eine NAT-Regel aus.
  3. Sehen Sie sich zusätzliche Informationen an.
  4. Wählen Sie Abbrechen aus, um zu gewährleisten, dass keine Änderungen gespeichert werden.

gcloud

Verwenden Sie den folgenden Befehl, um eine NAT-Regel zu beschreiben. Ersetzen Sie NAT_RULE_NUMBER durch Ihre NAT-Regelnummer und die anderen Variablen durch Informationen, die Ihrer Konfiguration entsprechen.

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

Alle NAT-Regeln in einem NAT-Gateway auflisten

Console

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

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

    Zur Seite "Cloud NAT"

  2. Wählen Sie Ihr NAT-Gateway aus.
  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 ...]