Cloud NAT-Regeln einrichten und verwalten
Auf dieser Seite wird beschrieben, wie Sie Cloud NAT-Regeln für Public NAT konfigurieren. Bevor Sie Cloud NAT-Regeln konfigurieren, lesen Sie die Übersicht über Cloud NAT-Regeln.
NAT-Regeln erstellen
Zum Erstellen 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 deaktiviert sein für Ihr NAT-Gateway.
Quellbasierte Regeln erstellen
In diesem Abschnitt werden die Schritte zum Erstellen quellbasierter NAT-Regeln für die folgenden Bedingungen beschrieben:
- Pakete aus dem Quell-IP-Bereich
10.10.1.0/24müssenIP_ADDRESS_1verwenden. - Pakete aus dem Quell-IP-Bereich
10.10.2.0/24müssenIP_ADDRESS_2verwenden. - Alle anderen Pakete müssen
IP_ADDRESS_3verwenden.
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.
Console
NAT-Regeln zu einem vorhandenen NAT-Gateway hinzufügen
Fügen Sie eine NAT-Regel hinzu, die mit Traffic von
10.10.1.0/24übereinstimmt und die Quell-IP inIP_ADDRESS_1übersetzt.Rufen Sie in der Google Cloud Console die Seite Cloud NAT auf.
Klicken Sie auf Ihr NAT-Gateway.
Klicken Sie auf Bearbeiten.
Wählen Sie unter Cloud NAT-IP-Adressen die Option Manuell aus.
Klicken Sie im Bereich Cloud NAT-Regeln auf Regel hinzufügen.
Geben Sie im Feld Regelpriorität eine Zahl zwischen
0(höchste Priorität) und65000(niedrigste Priorität) ein. Beispiel:100.Wählen Sie unter IP-Bereiche abgleichen die Option Quelle aus.
Geben Sie im Feld Quell-IP-Bereiche
10.10.1.0/24ein.Wählen Sie im Bereich IP-Adressen die IP-Adresse aus, die Sie für
IP_ADDRESS_1verwenden möchten.Klicken Sie auf Fertig.
Fügen Sie eine NAT-Regel hinzu, die mit Traffic von
10.10.2.0/24übereinstimmt und ihn inIP_ADDRESS_2übersetzt.- Klicken Sie im Bereich Cloud NAT-Regeln auf Regel hinzufügen.
- Geben Sie im Feld Regelpriorität eine Zahl zwischen
0(höchste Priorität) und65000(niedrigste Priorität) ein. Beispiel:200. - Wählen Sie unter IP-Bereiche abgleichen die Option Quelle aus.
- Geben Sie im Feld Quell-IP-Bereiche
10.10.2.0/24ein. - Wählen Sie im Bereich IP-Adressen die IP-Adresse aus, die Sie für
IP_ADDRESS_2verwenden möchten. - Klicken Sie auf Fertig.
- 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
Sie können eine neue NAT-Regel mit dem
gcloud compute routers nats rules create Befehl hinzufügen.
Fügen Sie eine NAT-Regel hinzu, die
IP_ADDRESS_1für Traffic von10.10.1.0/24verwendet:gcloud 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_1Ersetzen Sie Folgendes:
NAT_RULE_PRIORITY: Eine Regelnummer, die die NAT-Regel eindeutig identifiziert, von0(höchste Priorität) bis65000(niedrigste Priorität). Beispiel:100NAT_ROUTER: Der 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 mit der Regel übereinstimmen.
Fügen Sie eine NAT-Regel hinzu, die
IP_ADDRESS_2für Traffic von10.10.2.0/24verwendet:gcloud 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_2Ersetzen Sie Folgendes:
NAT_RULE_PRIORITY: Eine Regelnummer, die die NAT-Regel eindeutig identifiziert, von0(höchste Priorität) bis65000(niedrigste Priorität). Beispiel:200NAT_ROUTER: Der 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_2: Die manuell zugewiesene externe IP-Adresse, die Sie für Pakete verwenden möchten, die mit der Regel übereinstimmen.
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 mit den Regeln übereinstimmen. 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 zu einem vorhandenen NAT-Gateway hinzufügen.
gcloud 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: Ein Name für die NAT-Konfiguration.NAT_ROUTER: Der 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_3undIP_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.10müssen die NAT-IP-AdresseIP_ADDRESS_1verwenden. - Pakete mit der Zieladresse
198.51.100.20/30müssen die NAT-IP-AdresseIP_ADDRESS_2oderIP_ADDRESS_3verwenden.
Sie können eine NAT-Regel für jede dieser Bedingungen erstellen.
Console
NAT-Regeln zu einem vorhandenen NAT-Gateway hinzufügen
Fügen Sie eine NAT-Regel hinzu, die
IP_ADDRESS_1verwendet, um Traffic an198.51.100.10zu senden.Rufen Sie in der Google Cloud Console die Seite Cloud NAT auf.
Klicken Sie auf Bearbeiten.
Wählen Sie unter Cloud NAT-IP-Adressen die Option Manuell aus.
Klicken Sie im Bereich Cloud NAT-Regeln auf Regel hinzufügen.
Geben Sie im Feld Regelpriorität eine Zahl zwischen
0(höchste Priorität) und65000(niedrigste Priorität) ein. Beispiel:100.Wählen Sie unter IP-Bereiche abgleichen die Option Ziel aus.
Geben Sie im Feld Ziel-IP-Bereiche
198.51.100.10ein.Wählen Sie im Bereich IP-Adressen die IP-Adresse aus, die Sie für
IP_ADDRESS_1verwenden möchten.Klicken Sie auf Fertig.
Fügen Sie eine NAT-Regel hinzu, die
IP_ADDRESS_2oderIP_ADDRESS_3verwendet, um Traffic an198.51.100.20/30zu senden.- Klicken Sie im Bereich Cloud NAT-Regeln auf Regel hinzufügen.
- Geben Sie im Feld Regelpriorität eine Zahl zwischen
0(höchste Priorität) und65000(niedrigste Priorität) ein. Beispiel:200. - Wählen Sie unter IP-Bereiche abgleichen die Option Ziel aus.
- Geben Sie im Feld Ziel-IP-Bereiche
198.51.100.20/30ein. - Wählen Sie im Bereich IP-Adressen die IP-Adresse aus, die Sie für
IP_ADDRESS_2verwenden möchten. - Klicken Sie auf IP-Adresse hinzufügen und wählen Sie die IP-Adresse aus, die Sie für
IP_ADDRESS_3verwenden möchten. - Klicken Sie auf Fertig.
- 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 die NAT_RULE_PRIORITY durch die NAT-Regel
priorität, die Sie der Regel zuweisen möchten (von 0 (höchste) bis
65000 (niedrigste)), und ersetzen Sie 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 zu 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
- Rufen Sie in der Google Cloud Console die Seite „Cloud NAT“ auf.
- Klicken Sie auf Ihr NAT-Gateway.
- Klicken Sie auf Bearbeiten.
- Klicken Sie unter Benutzerdefinierte Regeln auf die Regel, die Sie aktualisieren möchten.
- In den maximierten Feldern können Sie bei Bedarf die Informationen ändern.
- Klicken Sie auf Fertig.
- 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 NAT-Regelprioritätsnummer 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 bestehende 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
- Rufen Sie in der Google Cloud Console die Seite „Cloud NAT“ auf.
- Klicken Sie auf Ihr NAT-Gateway.
- Klicken Sie auf Bearbeiten.
- Halten Sie unter Benutzerdefinierte Regeln den Mauszeiger auf die Regel, die Sie löschen möchten. Klicken Sie auf .
- 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-Regelbefehl delete verwenden, um eine NAT-Regel aus Ihrem Gateway zu entfernen. Ersetzen Sie NAT_RULE_PRIORITY durch die NAT-Regelprioritätsnummer 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“.
- Rufen Sie in der Google Cloud Console die Seite „Cloud NAT“ auf.
- Klicken Sie auf Ihr NAT-Gateway.
- Sehen Sie sich die NAT-Regeln an.
Weitere Informationen zu einer einzelnen NAT-Regel finden Sie so:
- Klicken Sie auf Bearbeiten.
- Wählen Sie unter der Überschrift Benutzerdefinierte Regeln eine NAT-Regel aus.
- Sehen Sie sich die zusätzlichen Informationen an.
- Klicken Sie auf Abbrechen.
gcloud
Verwenden Sie den folgenden Befehl, um eine NAT-Regel zu beschreiben. Ersetzen Sie NAT_RULE_PRIORITY durch Ihre NAT-Regelprioritätsnummer 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.
- Rufen Sie in der Google Cloud Console die Seite „Cloud NAT“ auf.
- Klicken Sie auf Ihr NAT-Gateway.
- 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 ...]