Configurer et gérer les règles Cloud NAT
Cette page explique comment configurer des règles Cloud NAT pour Public NAT. Avant de configurer des règles Cloud NAT, consultez la présentation des règles Cloud NAT.
Créer des règles NAT
Pour créer des règles NAT, Cloud NAT utilise le langage CEL (Common Expression Language), comme décrit dans Langage d'expression des règles. Pour obtenir des exemples d'expressions que vous pouvez utiliser dans vos règles NAT, consultez Exemples d'expressions.
Si vous souhaitez créer des règles NAT, assurez-vous que le mappage indépendant du point de terminaison est désactivé pour votre passerelle NAT.
Créer des règles basées sur les sources
La procédure décrite dans cette section explique comment créer des règles NAT basées sur la source pour les conditions suivantes :
- Les paquets provenant de la plage d'adresses IP sources
10.10.1.0/24
doivent utiliserIP_ADDRESS_1
. - Les paquets provenant de la plage d'adresses IP sources
10.10.2.0/24
doivent utiliserIP_ADDRESS_2
. - Tous les autres paquets doivent utiliser
IP_ADDRESS_3
.
Pour les conditions 1 et 2, vous créez deux règles NAT. La condition 3 est remplie par la règle NAT par défaut pour la correspondance des adresses sources.
IP_ADDRESS_1
, IP_ADDRESS_2
et IP_ADDRESS_3
sont les adresses IP externes que vous souhaitez utiliser pour le NAT.
Console
Ajouter des règles NAT à une passerelle NAT existante
Ajoutez une règle NAT qui correspond au trafic provenant de
10.10.1.0/24
et qui traduit l'adresse IP source enIP_ADDRESS_1
.Dans la console Trusted Cloud , accédez à la page Cloud NAT.
Cliquez sur votre passerelle NAT.
Cliquez sur Modifier.
Pour Adresses IP Cloud NAT, sélectionnez Manuelles.
Dans la section Règles Cloud NAT, cliquez sur Ajouter une règle.
Dans le champ Priorité de la règle, saisissez un nombre compris entre
0
(priorité la plus élevée) et65000
(priorité la plus faible). Par exemple,100
.Pour Correspondance des plages d'adresses IP, sélectionnez Source.
Dans le champ Plages d'adresses IP sources, saisissez
10.10.1.0/24
.Dans la section Adresses IP, sélectionnez l'adresse IP que vous souhaitez utiliser pour
IP_ADDRESS_1
.Cliquez sur OK.
Ajoutez une règle NAT qui correspond au trafic provenant de
10.10.2.0/24
et le traduit enIP_ADDRESS_2
.- Dans la section Règles Cloud NAT, cliquez sur Ajouter une règle.
- Dans le champ Priorité de la règle, saisissez un nombre compris entre
0
(priorité la plus élevée) et65000
(priorité la plus faible). Par exemple,200
. - Pour Correspondance des plages d'adresses IP, sélectionnez Source.
- Dans le champ Plages d'adresses IP sources, saisissez
10.10.2.0/24
. - Dans la section Adresses IP, sélectionnez l'adresse IP que vous souhaitez utiliser pour
IP_ADDRESS_2
. - Cliquez sur OK.
- Cliquez sur Enregistrer pour enregistrer les deux règles.
gcloud
Suivez les procédures des sections suivantes pour créer un fichier de règles, créer une passerelle Cloud NAT qui utilise les règles de ce fichier ou ajouter des règles à une passerelle NAT existante.
Ajouter des règles NAT à une passerelle NAT existante
Vous pouvez ajouter une règle NAT à l'aide de la commande gcloud beta compute routers nats rules create
.
Ajoutez une règle NAT qui utilise
IP_ADDRESS_1
pour le trafic provenant de10.10.1.0/24
: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
Remplacez les éléments suivants :
NAT_RULE_PRIORITY
: numéro de règle qui identifie de manière unique la règle NAT, de0
(priorité la plus élevée) à65000
(priorité la plus basse), par exemple100
NAT_ROUTER
: nom du routeur Cloud Router que vous utilisez pour la passerelle NATREGION
: région de la passerelle NATNAT_CONFIG
: nom de la configuration NATIP_ADDRESS_1
: adresse IP externe attribuée manuellement que vous souhaitez utiliser pour les paquets correspondant à la règle
Ajoutez une règle NAT qui utilise
IP_ADDRESS_2
pour le trafic provenant de10.10.2.0/24
: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
Remplacez les éléments suivants :
NAT_RULE_PRIORITY
: numéro de règle qui identifie de manière unique la règle NAT, de0
(priorité la plus élevée) à65000
(priorité la plus basse), par exemple200
NAT_ROUTER
: nom du routeur Cloud Router que vous utilisez pour la passerelle NATREGION
: région de la passerelle NATNAT_CONFIG
: nom de la configuration NATIP_ADDRESS_2
: adresse IP externe attribuée manuellement que vous souhaitez utiliser pour les paquets correspondant à la règle
Créer une passerelle NAT à l'aide d'un fichier de règles NAT
L'exemple de code suivant est un exemple de fichier de règle. Vous pouvez modifier ce fichier de règles en fonction de votre cas d'utilisation ou ignorer cette étape si vous en possédez déjà un.
Créer un fichier de règles
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
Dans l'exemple précédent, IP_ADDRESS_1
et IP_ADDRESS_2
sont les adresses IP externes allouées manuellement que vous souhaitez utiliser pour les paquets correspondant aux règles. Pour chaque adresse IP, remplacez les éléments suivants :
PROJECT_ID
: projet de l'adresse IPREGION
: région dans laquelle l'adresse IP est réservée
Créer une passerelle NAT à l'aide d'un fichier de règles NAT
La commande suivante crée une passerelle NAT et la configure avec des règles provenant d'un fichier de règles NAT. Si vous avez déjà configuré une passerelle NAT, consultez Ajouter des règles NAT à une passerelle NAT existante.
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
Remplacez les éléments suivants :
NAT_CONFIG
: nom de la configuration NATNAT_ROUTER
: nom du routeur Cloud Router que vous souhaitez utiliser pour la passerelle NATREGION
: région dans laquelle vous souhaitez créer la passerelle Cloud NATIP_ADDRESS_3
etIP_ADDRESS_4
: adresses IP externes que vous souhaitez utiliser pour la règle NAT par défautPATH_TO_NAT_RULE_FILE
: chemin d'accès au fichier de règles NAT
Créer des règles basées sur la destination
Les étapes de configuration suivantes répondent aux conditions suivantes :
- Les paquets dont l'adresse de destination est
198.51.100.10
doivent utiliser l'adresse IP NATIP_ADDRESS_1
. - Les paquets dont l'adresse de destination est
198.51.100.20/30
doivent utiliser l'adresse IP NATIP_ADDRESS_2
ouIP_ADDRESS_3
.
Vous pouvez créer une règle NAT pour répondre à chacune de ces conditions.
Console
Ajouter des règles NAT à une passerelle NAT existante
Ajoutez une règle NAT qui utilise
IP_ADDRESS_1
pour envoyer le trafic vers198.51.100.10
.Dans la console Trusted Cloud , accédez à la page Cloud NAT.
Cliquez sur Modifier.
Pour Adresses IP Cloud NAT, sélectionnez Manuelles.
Dans la section Règles Cloud NAT, cliquez sur Ajouter une règle.
Dans le champ Priorité de la règle, saisissez un nombre compris entre
0
(priorité la plus élevée) et65000
(priorité la plus faible). Par exemple,100
.Pour Correspondance des plages d'adresses IP, sélectionnez Destination.
Dans le champ Plages d'adresses IP de destination, saisissez
198.51.100.10
.Dans la section Adresses IP, sélectionnez l'adresse IP que vous souhaitez utiliser pour
IP_ADDRESS_1
.Cliquez sur OK.
Ajoutez une règle NAT qui utilise
IP_ADDRESS_2
ouIP_ADDRESS_3
pour envoyer le trafic vers198.51.100.20/30
.- Dans la section Règles Cloud NAT, cliquez sur Ajouter une règle.
- Dans le champ Priorité de la règle, saisissez un nombre compris entre
0
(priorité la plus élevée) et65000
(priorité la plus faible). Par exemple,200
. - Pour Correspondance des plages d'adresses IP, sélectionnez Destination.
- Dans le champ Plages d'adresses IP de destination, saisissez
198.51.100.20/30
. - Dans la section Adresses IP, sélectionnez l'adresse IP que vous souhaitez utiliser pour
IP_ADDRESS_2
. - Cliquez sur Ajouter une adresse IP, puis sélectionnez l'adresse IP que vous souhaitez utiliser pour
IP_ADDRESS_3
. - Cliquez sur OK.
- Cliquez sur Enregistrer pour enregistrer les deux règles.
gcloud
Suivez les procédures des sections suivantes pour créer un fichier de règles, créer une passerelle NAT qui utilise les règles de ce fichier ou ajouter des règles à une passerelle NAT existante.
Ajouter des règles NAT à une passerelle NAT existante
Vous pouvez ajouter une règle NAT à l'aide de la commande de règle NAT.
Remplacez NAT_RULE_PRIORITY
par la priorité de la règle NAT que vous souhaitez attribuer à la règle (de 0
, la plus élevée, à 65000
, la plus basse) et remplacez les autres variables par des informations correspondant à votre configuration.
Tout d'abord, ajoutez une règle NAT qui envoie le trafic de IP_ADDRESS1
vers 198.51.100.10
.
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 ...]
Ensuite, ajoutez une règle NAT qui envoie le trafic de IP_ADDRESS2
ou IP_ADDRESS3
à 198.51.100.20/30
.
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 ...]
Créer un fichier de règles
L'exemple de code suivant est un exemple de fichier de règle. Vous pouvez modifier ce fichier de règles en fonction de votre cas d'utilisation ou ignorer cette étape si vous en possédez déjà un.
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
Créer une passerelle NAT à l'aide d'un fichier de règles NAT
La commande suivante crée une passerelle NAT et la configure avec des règles provenant d'un fichier de règles NAT. Si vous avez déjà configuré une passerelle NAT, consultez Ajouter des règles NAT à une passerelle NAT existante. Remplacez les variables par les informations correspondant à votre configuration.
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 ...]
Mettre à jour des règles NAT
Pour mettre à jour vos règles NAT, suivez les étapes décrites dans les sections suivantes. Vous ne pouvez utiliser les fichiers de règles qu'avec l'outil de ligne de commande gcloud
.
Console
- Dans la console Trusted Cloud , accédez à la page Cloud NAT.
- Cliquez sur votre passerelle NAT.
- Cliquez sur Modifier.
- Sous Règles personnalisées, cliquez sur la règle que vous souhaitez mettre à jour.
- Dans les champs développés, vous pouvez modifier toutes les informations que vous souhaitez.
- Cliquez sur OK.
- Cliquez sur Enregistrer.
gcloud
Mise à jour à l'aide d'un fichier de règles NAT
Pour mettre à jour une passerelle NAT avec votre fichier de règles NAT, utilisez la commande gcloud compute routers nats update
.
Remplacez les variables par les informations correspondant à votre configuration.
gcloud compute routers nats update NAT_NAME \ --router=ROUTER_NAME \ --rules=PATH_TO_NAT_RULE_FILE \ [--region=REGION] [GLOBAL-FLAG ...]
L'exemple de code suivant est un exemple de fichier de règle. Notez l'action sourceNatDrainIps
, qui empêche les nouvelles connexions à la destination à l'aide de IP_ADDRESS1
, mais conserve les connexions existantes.
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
Mise à jour à l'aide d'une commande de règle NAT
Pour mettre à jour une seule règle NAT, exécutez la commande suivante. Remplacez NAT_RULE_PRIORITY
par le numéro de priorité de la règle NAT et remplacez les autres variables par des informations correspondant à votre configuration. Notez l'option source-nat-drain-ips
, qui empêche les nouvelles connexions à la destination à l'aide de IP_ADDRESS3
et IP_ADDRESS4
, mais conserve les connexions existantes.
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 ...]
Supprimer des règles NAT
Console
- Dans la console Trusted Cloud , accédez à la page Cloud NAT.
- Cliquez sur votre passerelle NAT.
- Cliquez sur Modifier.
- Sous Règles personnalisées, maintenez le pointeur sur la règle que vous souhaitez supprimer. Cliquez sur .
- Cliquez sur Enregistrer.
gcloud
Pour supprimer une règle NAT d'une passerelle, vous pouvez la supprimer directement de la passerelle, ou la supprimer du fichier de règles et mettre à jour la passerelle.
Suppression à l'aide d'un fichier de règles NAT
Vous pouvez supprimer directement une règle NAT de votre fichier de règles, puis mettre à jour votre passerelle NAT. La commande de mise à jour de la passerelle NAT est répétée ici pour plus de commodité.
Remplacez les variables par les informations correspondant à votre configuration.
gcloud compute routers nats update NAT_NAME \ --router=ROUTER_NAME \ --rules=PATH_TO_NAT_RULE_FILE \ [--region=REGION] [GLOBAL-FLAG ...]
Suppression à l'aide d'une commande de règle NAT
Vous pouvez également exécuter la commande delete
pour supprimer une règle NAT de votre passerelle. Remplacez NAT_RULE_PRIORITY
par le numéro de priorité de la règle NAT et remplacez les autres variables par des informations correspondant à votre configuration.
gcloud compute routers nats rules delete NAT_RULE_PRIORITY \ --router=ROUTER_NAME \ --nat=NAT_NAME \ [--region=REGION] [GLOBAL-FLAG ...]
Décrire une règle NAT
Console
Vous pouvez afficher des informations sur vos règles NAT sur la page Cloud NAT.
- Dans la console Trusted Cloud , accédez à la page Cloud NAT.
- Cliquez sur votre passerelle NAT.
- Affichez les règles NAT.
Pour plus d'informations sur une règle NAT individuelle, procédez comme suit :
- Cliquez sur Modifier.
- Sous l'en-tête Règles personnalisées, sélectionnez une règle NAT.
- Consultez les informations supplémentaires.
- Cliquez sur Annuler.
gcloud
Pour décrire une règle NAT, exécutez la commande suivante. Remplacez NAT_RULE_PRIORITY
par le numéro de priorité de votre règle NAT et remplacez les autres variables par des informations correspondant à votre configuration.
gcloud compute routers nats rules describe NAT_RULE_PRIORITY \ --router=ROUTER_NAME \ --nat=NAT_NAME \ [--region=REGION] [GLOBAL-FLAG ...]
Répertorier toutes les règles NAT d'une passerelle NAT
Console
Vous pouvez afficher vos règles NAT sur la page Cloud NAT.
- Dans la console Trusted Cloud , accédez à la page Cloud NAT.
- Cliquez sur votre passerelle NAT.
- Affichez les règles NAT.
gcloud
Pour répertorier toutes les règles NAT d'une passerelle NAT, exécutez la commande suivante. Toutes les adresses IP NAT présentes dans les règles NAT sont également affichées, y compris la règle par défaut. Remplacez les variables par les informations correspondant à votre configuration.
gcloud compute routers nats rules list \ --router=ROUTER_NAME \ --nat=NAT_NAME \ [--region=REGION] [GLOBAL-FLAG ...]