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:
- Pakete aus dem Quell-IP-Bereich
10.10.1.0/24
müssenIP_ADDRESS_1
verwenden. - Pakete aus dem Quell-IP-Bereich
10.10.2.0/24
müssenIP_ADDRESS_2
verwenden. - 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
Fügen Sie eine NAT-Regel hinzu, die Traffic von
10.10.1.0/24
abgleicht und die Quell-IP inIP_ADDRESS_1
übersetzt.Wechseln Sie in der Google Cloud Console zur Seite Cloud NAT.
Klicken Sie auf Ihr NAT-Gateway.
Klicken Sie auf Bearbeiten.
Wählen Sie für 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 für IP-Bereiche abgleichen die Option Quelle aus.
Geben Sie im Feld Quell-IP-Bereiche
10.10.1.0/24
ein.Wählen Sie im Abschnitt IP-Adressen die IP-Adresse aus, die Sie für
IP_ADDRESS_1
verwenden 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 für IP-Bereiche abgleichen die Option Quelle aus.
- Geben Sie im Feld Quell-IP-Bereiche
10.10.2.0/24
ein. - Wählen Sie im Abschnitt IP-Adressen die IP-Adresse aus, die Sie für
IP_ADDRESS_2
verwenden 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
Mit dem gcloud beta compute routers nats rules create
-Befehl können Sie eine neue NAT-Regel hinzufügen.
Fügen Sie eine NAT-Regel hinzu, die
IP_ADDRESS_1
für Traffic von10.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, von0
(höchste Priorität) bis65000
(niedrigste Priorität), z. B.100
.NAT_ROUTER
: Name des Cloud Router, den Sie für das NAT-Gateway verwendenREGION
: die Region des NAT-GatewaysNAT_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
Fügen Sie eine NAT-Regel hinzu, die
IP_ADDRESS_2
für Traffic von10.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, von0
(höchste Priorität) bis65000
(niedrigste Priorität), z. B.200
.NAT_ROUTER
: Name des Cloud Router, den Sie für das NAT-Gateway verwendenREGION
: Region des NAT-GatewaysNAT_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-AdresseREGION
: 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-KonfigurationNAT_ROUTER
: Name des Cloud Router, den Sie für das NAT-Gateway verwenden möchtenREGION
: die Region, in der Sie das Cloud NAT-Gateway erstellen möchtenIP_ADDRESS_3
undIP_ADDRESS_4
: die externen IP-Adressen, die Sie für die Standard-NAT-Regel verwenden möchtenPATH_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-AdresseIP_ADDRESS_1
verwenden. - Pakete mit der Zieladresse
198.51.100.20/30
müssen die NAT-IP-AdresseIP_ADDRESS_2
oderIP_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
Fügen Sie eine NAT-Regel hinzu, die
IP_ADDRESS_1
verwendet, um Traffic an198.51.100.10
zu senden.Wechseln Sie in der Google Cloud Console zur Seite Cloud NAT.
Klicken Sie auf Bearbeiten.
Wählen Sie für 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 für IP-Bereiche abgleichen die Option Ziel aus.
Geben Sie im Feld Ziel-IP-Bereiche
198.51.100.10
ein.Wählen Sie im Abschnitt IP-Adressen die IP-Adresse aus, die Sie für
IP_ADDRESS_1
verwenden möchten.Klicken Sie auf Fertig.
Fügen Sie eine NAT-Regel hinzu, die
IP_ADDRESS_2
oderIP_ADDRESS_3
verwendet, um Traffic an198.51.100.20/30
zu 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 für IP-Bereiche abgleichen die Option Ziel aus.
- Geben Sie im Feld Ziel-IP-Bereiche
198.51.100.20/30
ein. - Wählen Sie im Abschnitt IP-Adressen die IP-Adresse aus, die Sie für
IP_ADDRESS_2
verwenden möchten. - 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. - 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 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
- 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 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
- 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-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“.
- 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 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.
- 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 ...]