Découvrez comment créer et supprimer une ressource de passerelle NAT à partir d’un sous-réseau de réseau virtuel. Une passerelle NAT active la connectivité sortante des ressources incluses dans un réseau virtuel Azure. Vous pouvez modifier les adresses IP publiques et les préfixes d’adresses IP publiques associés à la passerelle NAT modifiée après le déploiement.
Cet article explique comment gérer les aspects suivants de la passerelle NAT :
Créer une passerelle NAT et l’associer à un sous-réseau existant.
Supprimez une passerelle NAT d’un sous-réseau existant et supprimez la passerelle NAT.
Ajouter ou supprimer une adresse IP publique ou un préfixe d’adresse IP publique.
L’exemple de réseau virtuel qui est utilisé dans cet article est nommé vnet-1.
Le sous-réseau de l’exemple est nommé subnet-1.
L’exemple de passerelle NAT est nommé nat-gateway.
Pour utiliser Azure PowerShell pour cet article, vous avez besoin des éléments suivants :
Azure PowerShell installé localement ou Azure Cloud Shell.
Si vous choisissez d’installer et d’utiliser PowerShell en local, vous devez exécuter le module Azure PowerShell version 5.4.1 ou ultérieure pour les besoins de cet article. Exécutez Get-Module -ListAvailable Az pour rechercher la version installée. Si vous devez effectuer une mise à niveau, consultez Installer le module Azure PowerShell.
Si vous exécutez PowerShell localement, vous devez également exécuter Connect-AzAccount pour créer une connexion avec Azure.
Vérifiez que votre module Az.Network est 4.3.0 ou ultérieure. Pour vérifier le module installé, utilisez la commande Get-InstalledModule -Name "Az.Network". Si le module nécessite une mise à jour, utilisez la commande Update-Module -Name Az.Network.
Connectez-vous à Azure PowerShell et sélectionnez l’abonnement que vous souhaitez utiliser. Pour plus d’informations, consultez Se connecter avec Azure PowerShell.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
L’exemple de réseau virtuel qui est utilisé dans cet article est nommé vnet-1.
Le sous-réseau de l’exemple est nommé subnet-1.
L’exemple de passerelle NAT est nommé nat-gateway.
Créer une passerelle NAT et l’associer à un sous-réseau existant
Vous pouvez créer une ressource de passerelle NAT et l’ajouter à un sous-réseau existant en utilisant le portail Azure, Azure PowerShell, Azure CLI ou Bicep.
Sélectionnez l’onglet Adresse IP sortante ou sélectionnez Suivant : Adresse IP sortante.
Vous pouvez sélectionner une adresse IP publique ou un préfixe d’adresse IP publique existants à associer à la passerelle NAT et activer la connectivité sortante.
Pour créer une adresse IP publique pour la passerelle NAT, sélectionnez Créer une adresse IP publique. Entrez public-ip-nat dans Nom. Cliquez sur OK.
Pour créer un préfixe d’adresse IP publique pour la passerelle NAT, sélectionnez Créer un préfixe d’adresse IP publique. Entrez public-ip-prefix-nat dans Nom. Sélectionnez une valeur dans Taille du préfixe. Sélectionnez OK.
Sélectionnez l’onglet Sous-réseau, ou sélectionnez Suivant : Sous-réseau.
Sélectionnez votre réseau virtuel. Dans cet exemple, sélectionnez vnet-1 dans la liste déroulante.
Cochez la case en regard de subnet-1.
Sélectionnez Revoir + créer.
Sélectionnez Create (Créer).
Adresse IP publique
Pour créer une passerelle NAT avec une adresse IP publique, exécutez les commandes PowerShell suivantes.
Utilisez le cmdlet New-AzPublicIpAddress pour créer une adresse IP publique pour la passerelle NAT.
## Create public IP address for NAT gateway ##
$ip = @{
Name = 'public-ip-nat'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
}
New-AzPublicIpAddress @ip
Utilisez la cmdlet New-AzNatGateway pour créer une ressource de passerelle NAT et associer l’adresse IP publique que vous avez créée. Utilisez la cmdlet Set-AzVirtualNetworkSubnetConfig pour configurer la passerelle NAT pour votre sous-réseau de réseau virtuel.
## Place the virtual network into a variable. ##
$net = @{
Name = 'vnet-1'
ResourceGroupName = 'test-rg'
}
$vnet = Get-AzVirtualNetwork @net
## Place the public IP address you created previously into a variable. ##
$pip = @{
Name = 'public-ip-nat'
ResourceGroupName = 'test-rg'
}
$publicIP = Get-AzPublicIPAddress @pip
## Create NAT gateway resource ##
$nat = @{
ResourceGroupName = 'test-rg'
Name = 'nat-gateway'
IdleTimeoutInMinutes = '4'
Sku = 'Standard'
Location = 'eastus2'
PublicIpAddress = $publicIP
}
$natGateway = New-AzNatGateway @nat
## Create the subnet configuration. ##
$sub = @{
Name = 'subnet-1'
VirtualNetwork = $vnet
NatGateway = $natGateway
AddressPrefix = '10.0.0.0/24'
}
Set-AzVirtualNetworkSubnetConfig @sub
## Save the configuration to the virtual network. ##
$vnet | Set-AzVirtualNetwork
Préfixe d’adresse IP publique
Pour créer une passerelle NAT avec un préfixe d’adresse IP publique, utilisez ces commandes.
Utilisez la cmdlet New-AzPublicIpPrefix pour créer un préfixe d’adresse IP publique pour la passerelle NAT.
## Create public IP prefix for NAT gateway ##
$ip = @{
Name = 'public-ip-prefix-nat'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Sku = 'Standard'
PrefixLength ='29'
}
New-AzPublicIpPrefix @ip
Utilisez la cmdlet New-AzNatGateway pour créer une ressource de passerelle NAT et associer le préfixe d’adresse IP publique que vous avez créé. Utilisez la cmdlet Set-AzVirtualNetworkSubnetConfig pour configurer la passerelle NAT pour votre sous-réseau de réseau virtuel.
## Place the virtual network into a variable. ##
$net = @{
Name = 'vnet-1'
ResourceGroupName = 'test-rg'
}
$vnet = Get-AzVirtualNetwork @net
## Place the public IP prefix you created previously into a variable. ##
$pip = @{
Name = 'public-ip-prefix-nat'
ResourceGroupName = 'test-rg'
}
$publicIPprefix = Get-AzPublicIPPrefix @pip
## Create NAT gateway resource ##
$nat = @{
ResourceGroupName = 'test-rgNAT'
Name = 'nat-gateway'
IdleTimeoutInMinutes = '4'
Sku = 'Standard'
Location = 'eastus2'
PublicIpPrefix = $publicIPprefix
}
$natGateway = New-AzNatGateway @nat
## Create the subnet configuration. ##
$sub = @{
Name = 'subnet-1'
VirtualNetwork = $vnet
NatGateway = $natGateway
AddressPrefix = '10.0.0.0/24'
}
Set-AzVirtualNetworkSubnetConfig @sub
## Save the configuration to the virtual network. ##
$vnet | Set-AzVirtualNetwork
Adresse IP publique
Pour créer une passerelle NAT avec une adresse IP publique, utilisez les commandes suivantes.
Dans la zone de recherche située en haut du portail Azure, entrez Passerelle NAT. Sélectionnez Passerelle NAT dans les résultats de la recherche.
Sélectionnez nat-gateway.
Sous Paramètres, sélectionnez Sous-réseaux.
Pour supprimer la passerelle NAT de tous les sous-réseaux, sélectionnez Dissocier.
Pour supprimer la passerelle NAT d’un seul sous-réseaux parmi plusieurs, décochez la case en regard du sous-réseau et sélectionnez Enregistrer.
Vous pouvez maintenant associer la passerelle NAT à un autre sous-réseau ou réseau virtuel inclus dans votre abonnement. Pour supprimer la ressource de passerelle NAT, effectuez les étapes suivantes.
Dans la zone de recherche située en haut du portail Azure, entrez Passerelle NAT. Sélectionnez Passerelle NAT dans les résultats de la recherche.
Sélectionnez nat-gateway.
Sélectionnez Supprimer.
Sélectionnez Oui.
Utilisez Set-AzVirtualNetworkSubnetConfig pour supprimer l’association de passerelle NAT du sous-réseau en définissant la valeur sur $null. Utilisez Set-AzVirtualNetwork pour mettre à jour la configuration du réseau virtuel.
# Specify the resource group and NAT gateway name
$resourceGroupName = "test-rg"
# Specify the virtual network name and subnet name
$virtualNetworkName = "vnet-1"
$subnetName = "subnet-1"
# Get the virtual network
$vnet = @{
Name = $virtualNetworkName
ResourceGroupName = $resourceGroupName
}
$virtualNetwork = Get-AzVirtualNetwork @vnet
# Get the subnet
$subnet = $virtualNetwork.Subnets | Where-Object {$_.Name -eq $subnetName}
# Remove the NAT gateway association from the subnet
$subnet.NatGateway = $null
# Update the subnet configuration
$subConfig = @{
Name = $subnetName
VirtualNetwork = $virtualNetwork
AddressPrefix = $subnet.AddressPrefix
}
Set-AzVirtualNetworkSubnetConfig @subConfig
# Update the virtual network
Set-AzVirtualNetwork -VirtualNetwork $virtualNetwork
Utilisez remove-AzNatGateway pour supprimer la ressource de la passerelle NAT.
# Specify the resource group and NAT gateway name
$resourceGroupName = "test-rg"
$natGatewayName = "nat-gateway"
$nat = @{
Name = $natGatewayName
ResourceGroupName = $resourceGroupName
}
Remove-AzNatGateway @nat
Dans la zone de recherche située en haut du portail Azure, entrez Adresse IP publique. Sélectionnez Adresses IP publique dans les résultats de la recherche.
Sélectionnez Create (Créer).
Entrez les informations suivantes dans Créer une adresse IP publique.
Paramètre
Valeur
Abonnement
Sélectionnez votre abonnement.
Groupe de ressources
Sélectionnez votre groupe de ressources. L’exemple utilise test-rg.
Région
Sélectionnez une région. Cet exemple utilise East US 2.
Nom
Entrez public-ip-nat2.
Version IP
Sélectionnez IPv4.
SKU
Sélectionnez Standard.
Zone de disponibilité
Sélectionnez la valeur par défaut Redondant interzone.
Niveau
Sélectionnez Régional.
Sélectionnez Vérifier + créer, puis sélectionnez Créer.
Dans la zone de recherche située en haut du portail Azure, entrez Passerelle NAT. Sélectionnez Passerelle NAT dans les résultats de la recherche.
Sélectionnez nat-gateway.
Sous Paramètres, sélectionnez IP sortant.
Les adresses IP et préfixes d’adresses IP associés à la passerelle NAT sont affichés. En regard d’Adresses IP publiques, sélectionnez Modifier.
En regard de Adresses IP publiques, sélectionnez la liste déroulante des adresses IP. Sélectionnez l’adresse IP que vous avez créée pour l’ajouter à la passerelle NAT. Pour supprimer une adresse, désélectionnez-la.
Sélectionnez OK.
Sélectionnez Enregistrer.
Ajouter une adresse IP publique
Pour ajouter une adresse IP publique à la passerelle NAT, ajoutez-la à un objet tableau avec les adresses IP actuelles. Les applets de commande PowerShell remplacent toutes les adresses.
Dans cet exemple, l’adresse IP existante associée à la passerelle NAT est nommé public-ip-nat. Remplacez cette valeur par un tableau qui contient à la fois public-ip-nat et une nouvelle adresse IP. Si plusieurs adresses IP sont déjà configurées, vous devez également les ajouter au tableau.
Utilisez New-AzPublicIpAddress pour créer une adresse IP publique pour la passerelle NAT.
## Create public IP address for NAT gateway ##
$ip = @{
Name = 'public-ip-nat2'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
}
New-AzPublicIpAddress @ip
Utilisez Set-AzNatGateway pour ajouter l’adresse IP publique à la passerelle NAT.
## Place NAT gateway into a variable. ##
$ng = @{
Name = 'nat-gateway'
ResourceGroupName = 'test-rg'
}
$nat = Get-AzNatGateway @ng
## Place the existing public IP address associated with the NAT gateway into a variable. ##
$ip = @{
Name = 'public-ip-nat'
ResourceGroupName = 'test-rg'
}
$publicIP1 = Get-AzPublicIPaddress @ip
## Place the public IP address you created previously into a variable. ##
$ip = @{
Name = 'public-ip-nat2'
ResourceGroupName = 'test-rg'
}
$publicIP2 = Get-AzPublicIPaddress @ip
## Place the public IP address variables into an array. ##
$pipArray = $publicIP1,$publicIP2
## Add the IP address to the NAT gateway. ##
$nt = @{
NatGateway = $nat
PublicIpAddress = $pipArray
}
Set-AzNatGateway @nt
Supprimer une adresse IP publique
Pour supprimer une adresse IP publique d’une passerelle NAT, créez un objet tableau qui ne contient pas l’adresse IP à supprimer. Par exemple, vous avez une passerelle NAT configurée avec deux adresses IP publiques. Vous voulez supprimer l’une des adresses IP. Les adresses IP associées à la passerelle NAT sont nommées public-ip-nat et public-ip-nat2. Pour supprimer public-ip-nat2, créez un objet de tableau pour la commande PowerShell qui contient uniquement public-ip-nat. Quand vous appliquez la commande, le tableau est réappliqué à la passerelle NAT, et public-ip-nat est la seule adresse IP publique associée.
Utilisez Set-AzNatGateway pour supprimer une adresse IP publique de la passerelle NAT.
## Place NAT gateway into a variable. ##
$ng = @{
Name = 'nat-gateway'
ResourceGroupName = 'test-rg'
}
$nat = Get-AzNatGateway @ng
## Place the existing public IP address associated with the NAT gateway into a variable. ##
$ip = @{
Name = 'public-ip-nat'
ResourceGroupName = 'test-rg'
}
$publicIP1 = Get-AzPublicIPaddress @ip
## Place the second public IP address into a variable. ##
$ip = @{
Name = 'public-ip-nat2'
ResourceGroupName = 'test-rg'
}
$publicIP2 = Get-AzPublicIPAddress @ip
## Place ONLY the public IP you wish to keep in the array. ##
$pipArray = $publicIP1
## Add the public IP address to the NAT gateway. ##
$nt = @{
NatGateway = $nat
PublicIpAddress = $pipArray
}
Set-AzNatGateway @nt
Ajouter une adresse IP publique
Dans cet exemple, l’adresse IP publique existante associée à la passerelle NAT est nommé public-ip-nat.
az network public-ip create \
--resource-group test-rg \
--location eastus2 \
--name public-ip-nat2 \
--sku standard
Utilisez az network nat gateway update pour ajouter l’adresse IP publique que vous avez créée à la passerelle NAT. La commande Azure CLI remplace les valeurs. Elle n’ajoute pas de nouvelle valeur. Pour ajouter la nouvelle adresse IP à la passerelle NAT, vous devez également inclure toutes les autres adresses IP associées à la passerelle NAT.
Utilisez az network nat gateway update pour supprimer une adresse IP publique de la passerelle NAT. La commande Azure CLI remplace les valeurs. Elle ne supprime pas de valeur. Pour supprimer une adresse IP publique, incluez dans la commande l’adresse IP que vous souhaitez conserver. Omettez la valeur que vous souhaitez supprimer. Par exemple, vous avez une passerelle NAT configurée avec deux adresses IP publiques. Vous voulez supprimer l’une des adresses IP. Les adresses IP associées à la passerelle NAT sont nommées public-ip-nat et public-ip-nat2. Pour supprimer public-ip-nat2, omettez le nom de l’adresse IP de la commande. La commande réapplique les adresses IP listées dans la commande à la passerelle NAT. Elle supprime toute adresse IP non répertoriée.
Dans la zone de recherche située en haut du portail Azure, entrez Préfixe d’adresse IP publique. Sélectionnez Préfixes d’adresse IP publique.
Sélectionnez Create (Créer).
Saisissez les informations suivantes dans l’onglet De base de Créer un préfixe d’adresse IP publique.
Paramètre
Valeur
Détails du projet
Abonnement
Sélectionnez votre abonnement.
Groupe de ressources
Sélectionnez votre groupe de ressources. Cet exemple utilise test-rg.
Détails de l’instance
Nom
Entrez public-ip-prefix-nat.
Région
Sélectionnez votre région. Cet exemple utilise East US 2.
Version de l’adresse IP
Sélectionnez IPv4.
Propriété du préfixe
Sélectionnez Propriété de Microsoft.
Taille de préfixe
Sélectionnez une taille de préfixe. Cet exemple utilise /28 (16 adresses).
Sélectionnez Vérifier + créer, puis sélectionnez Créer.
Dans la zone de recherche située en haut du portail Azure, entrez Passerelle NAT. Sélectionnez Passerelle NAT dans les résultats de la recherche.
Sélectionnez nat-gateway.
Sous Paramètres, sélectionnez IP sortant.
La page affiche les adresses IP et les préfixes associés à la passerelle NAT. En regard de Préfixes d’adresses IP publiques, sélectionnez Modifier.
En regard de Préfixes d’adresses IP publiques, sélectionnez la zone de liste déroulante. Sélectionnez le préfixe d'adresse IP que vous avez créé pour l’ajouter à la passerelle NAT. Pour supprimer un préfixe, désélectionnez-le.
Sélectionnez OK.
Sélectionnez Enregistrer.
Ajouter le préfixe d’adresse IP publique
Pour ajouter un préfixe d’adresse IP publique à la passerelle NAT, ajoutez-le à un objet de type tableau avec les préfixes d’adresse IP actuels. Les applets de commande PowerShell remplacent tous les préfixes IP.
Dans cet exemple, le préfixe d’adresse IP publique existant associé à la passerelle NAT est nommé public-ip-prefix-nat. Remplacez cette valeur par un tableau qui contient à la fois public-ip-prefix-nat et un nouveau préfixe d’adresse IP. Si plusieurs préfixes IP sont déjà configurés, vous devez également les ajouter au tableau.
Utilisez New-AzPublicIpPrefix pour créer un préfixe d’adresse IP publique pour la passerelle NAT.
## Create public IP prefix for NAT gateway ##
$ip = @{
Name = 'public-ip-prefix-nat2'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Sku = 'Standard'
PrefixLength = '29'
}
New-AzPublicIpPrefix @ip
Utilisez Set-AzNatGateway pour ajouter le préfixe d’adresse IP publique à la passerelle NAT.
## Place NAT gateway into a variable. ##
$ng = @{
Name = 'nat-gateway'
ResourceGroupName = 'test-rg'
}
$nat = Get-AzNatGateway @ng
## Place the existing public IP prefix associated with the NAT gateway into a variable. ##
$ip = @{
Name = 'public-ip-prefix-nat'
ResourceGroupName = 'test-rg'
}
$prefixIP1 = Get-AzPublicIPPrefix @ip
## Place the public IP prefix you created previously into a variable. ##
$ip = @{
Name = 'public-ip-prefix-nat2'
ResourceGroupName = 'test-rg'
}
$prefixIP2 = Get-AzPublicIPprefix @ip
## Place the public IP address variables into an array. ##
$preArray = $prefixIP1,$prefixIP2
## Add the IP address prefix to the NAT gateway. ##
$nt = @{
NatGateway = $nat
PublicIpPrefix = $preArray
}
Set-AzNatGateway @nt
Supprimer un préfixe d’adresse IP publique
Pour supprimer un préfixe d’adresse IP publique d’une passerelle NAT, créez un objet tableau qui ne contient pas le préfixe d’adresse IP que vous souhaitez supprimer. Par exemple, vous avez une passerelle NAT configurée avec deux préfixes d’adresse IP publique. Vous souhaitez supprimer un des préfixes IP. Les préfixes IP associés à la passerelle NAT sont nommés public-ip-prefix-nat et public-ip-prefix-nat2. Pour supprimer public-ip-prefix-nat2, créez un objet de tableau pour la commande PowerShell qui contient uniquement public-ip-prefix-nat. Lorsque vous appliquez la commande, le tableau est réappliqué à la passerelle NAT, et public-ip-prefix-nat est le seul préfixe associé.
Utilisez la cmdlet Set-AzNatGateway pour supprimer un préfixe d’adresse IP publique de la passerelle NAT.
## Place NAT gateway into a variable. ##
$ng = @{
Name = 'nat-gateway'
ResourceGroupName = 'test-rg'
}
$nat = Get-AzNatGateway @ng
## Place the existing public IP prefix associated with the NAT gateway into a variable. ##
$ip = @{
Name = 'public-ip-prefix-nat'
ResourceGroupName = 'test-rg'
}
$prefixIP1 = Get-AzPublicIPPrefix @ip
## Place the secondary public IP prefix into a variable. ##
$ip = @{
Name = 'public-ip-prefix-nat2'
ResourceGroupName = 'test-rg'
}
$prefixIP2 = Get-AzPublicIPprefix @ip
## Place ONLY the prefix you wish to keep in the array. DO NOT ADD THE SECONDARY VARIABLE ##
$preArray = $prefixIP1
## Add the IP address prefix to the NAT gateway. ##
$nt = @{
NatGateway = $nat
PublicIpPrefix = $preArray
}
Set-AzNatGateway @nt
Ajouter le préfixe d’adresse IP publique
Dans cet exemple, le préfixe d’adresse IP publique existant associé à la passerelle NAT est nommé public-ip-prefix-nat.
Utilisez az network nat gateway update pour ajouter le préfixe d’adresse IP publique que vous avez créé à la passerelle NAT. La commande Azure CLI remplace les valeurs. Elle n’ajoute pas de valeur. Pour ajouter le nouveau préfixe d’adresse IP à la passerelle NAT, vous devez également inclure tous les autres préfixes d’adresse IP associés à la passerelle NAT.
Utilisez az network nat gateway update pour supprimer un préfixe d’adresse IP publique de la passerelle NAT. La commande Azure CLI remplace les valeurs. Elle ne supprime pas de valeur. Pour supprimer un préfixe d’adresse IP publique, incluez dans la commande le préfixe que vous souhaitez conserver. Omettez celui que vous souhaitez supprimer. Par exemple, vous avez une passerelle NAT configurée avec deux préfixes d’adresse IP publique. Vous voulez supprimer l’un des préfixes. Les préfixes IP associés à la passerelle NAT sont nommés public-ip-prefix-nat et public-ip-prefix-nat2. Pour supprimer public-ip-prefix-nat2, omettez le nom du préfixe IP de la commande. La commande réapplique les préfixes IP listés dans la commande à la passerelle NAT. Elle supprime toute adresse IP non répertoriée.