Lär dig hur du skapar och tar bort en NAT-gatewayresurs från ett virtuellt nätverksundernät. En NAT-gateway möjliggör utgående anslutning för resurser i ett virtuellt Azure-nätverk. Du kan ändra de offentliga IP-adresser och offentliga IP-adressprefix som är associerade med NAT-gatewayen som ändrats efter distributionen.
Den här artikeln beskriver hur du hanterar följande aspekter av NAT-gatewayen:
Skapa en NAT-gateway och associera den med ett befintligt undernät.
Ta bort en NAT-gateway från ett befintligt undernät och ta bort NAT-gatewayen.
Lägg till eller ta bort en offentlig IP-adress eller ett offentligt IP-prefix.
Det virtuella exempelnätverk som används i den här artikeln heter vnet-1.
Exempelundernätet heter subnet-1.
Nat-exempelgatewayen heter nat-gateway.
Om du vill använda Azure PowerShell för den här artikeln behöver du:
Azure PowerShell installerat lokalt eller Azure Cloud Shell.
Om du väljer att installera och använda PowerShell lokalt kräver den här artikeln version 5.4.1 eller senare av Azure PowerShell-modulen. Kör Get-Module -ListAvailable Az för att hitta den installerade versionen. Om du behöver uppgradera kan du läsa Install Azure PowerShell module (Installera Azure PowerShell-modul).
Om du kör PowerShell lokalt måste du också köra Connect-AzAccount för att skapa en anslutning till Azure.
Kontrollera att modulen Az.Network är 4.3.0 eller senare. Om du vill verifiera den installerade modulen använder du kommandot Get-InstalledModule -Name "Az.Network". Om modulen kräver en uppdatering använder du kommandot Update-Module -Name Az.Network.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
Välj fliken Utgående IP eller välj Nästa: Utgående IP-adress.
Du kan välja en befintlig offentlig IP-adress eller prefix eller båda för att associera med NAT-gatewayen och aktivera utgående anslutning.
Om du vill skapa en ny offentlig IP-adress för NAT-gatewayen väljer du Skapa en ny offentlig IP-adress. Ange public-ip-nat i Namn. Välj OK.
Om du vill skapa ett nytt offentligt IP-prefix för NAT-gatewayen väljer du Skapa ett nytt offentligt IP-prefix. Ange public-ip-prefix-nat i Namn. Välj en prefixstorlek. Välj OK.
Välj fliken Undernät eller välj Nästa: Undernät.
Välj ditt virtuella nätverk. I det här exemplet väljer du vnet-1 i listrutan.
Markera kryssrutan bredvid undernät-1.
Välj Granska + skapa.
Välj Skapa.
Offentlig IP-adress
Om du vill skapa en NAT-gateway med en offentlig IP-adress kör du följande PowerShell-kommandon.
Använd cmdleten New-AzPublicIpAddress för att skapa en offentlig IP-adress för NAT-gatewayen.
## Create public IP address for NAT gateway ##
$ip = @{
Name = 'public-ip-nat'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
}
New-AzPublicIpAddress @ip
Använd cmdleten New-AzNatGateway för att skapa en NAT-gatewayresurs och associera den offentliga IP-adress som du skapade. Använd cmdleten Set-AzVirtualNetworkSubnetConfig för att konfigurera NAT-gatewayen för ditt virtuella nätverksundernät.
## 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
Offentligt IP-prefix
Om du vill skapa en NAT-gateway med ett offentligt IP-prefix använder du dessa kommandon.
Använd cmdleten New-AzPublicIpPrefix för att skapa ett offentligt IP-prefix för NAT-gatewayen.
## 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
Använd cmdleten New-AzNatGateway för att skapa en NAT-gatewayresurs och associera det offentliga IP-prefixet som du skapade. Använd cmdleten Set-AzVirtualNetworkSubnetConfig för att konfigurera NAT-gatewayen för ditt virtuella nätverksundernät.
## 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
Offentlig IP-adress
Om du vill skapa en NAT-gateway med en offentlig IP-adress använder du följande kommandon.
I sökrutan överst i Azure Portal anger du NAT-gateway. Välj NAT-gatewayer i sökresultaten.
Välj nat-gateway.
Under Inställningar väljer du Undernät.
Om du vill ta bort NAT-gatewayen från alla undernät väljer du Ta bort association.
Om du bara vill ta bort NAT-gatewayen från ett av flera undernät avmarkerar du kryssrutan bredvid undernätet och väljer Spara.
Du kan nu associera NAT-gatewayen med ett annat undernät eller virtuellt nätverk i din prenumeration. Slutför följande steg för att ta bort NAT-gatewayresursen.
I sökrutan överst i Azure Portal anger du NAT-gateway. Välj NAT-gatewayer i sökresultaten.
Välj nat-gateway.
Välj Ta bort.
Välj Ja.
Använd Set-AzVirtualNetworkSubnetConfig för att ta bort NAT-gatewayassociationen från undernätet genom att ange värdet till $null. Använd Set-AzVirtualNetwork för att uppdatera konfigurationen av det virtuella nätverket.
# 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
I sökrutan överst i Azure Portal anger du Offentlig IP-adress. Välj Offentliga IP-adresser i sökresultatet.
Välj Skapa.
Ange följande information i Skapa offentlig IP-adress.
Inställning
Värde
Prenumeration
Välj din prenumeration.
Resursgrupp
Välj din resursgrupp. I exemplet används test-rg.
Region
Välj en region. I det här exemplet används USA, östra 2.
Name
Ange public-ip-nat2.
IP-version
Välj IPv4.
SKU
Välj Standard.
Availability zone
Välj standardvärdet zonredundant.
Nivå
Välj Regional.
Välj Granska + skapa och välj sedan Skapa.
I sökrutan överst i Azure Portal anger du NAT-gateway. Välj NAT-gatewayer i sökresultaten.
Välj nat-gateway.
Under Inställningar väljer du Utgående IP-adress.
IP-adresserna och prefixen som är associerade med NAT-gatewayen visas. Bredvid Offentliga IP-adresser väljer du Ändra.
Bredvid Offentliga IP-adresser väljer du listrutan för IP-adresser. Välj den IP-adress som du skapade för att lägga till i NAT-gatewayen. Om du vill ta bort en adress avmarkerar du den.
Välj OK.
Välj Spara.
Lägga till offentlig IP-adress
Om du vill lägga till en offentlig IP-adress i NAT-gatewayen lägger du till den i ett matrisobjekt tillsammans med de aktuella IP-adresserna. PowerShell-cmdletarna ersätter alla adresser.
I det här exemplet heter den befintliga IP-adressen som är associerad med NAT-gatewayen public-ip-nat. Ersätt det här värdet med en matris som innehåller både public-ip-nat och en ny IP-adress. Om du redan har konfigurerat flera IP-adresser måste du också lägga till dem i matrisen.
## Create public IP address for NAT gateway ##
$ip = @{
Name = 'public-ip-nat2'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
}
New-AzPublicIpAddress @ip
Använd Set-AzNatGateway för att lägga till den offentliga IP-adressen till NAT-gatewayen.
## 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
Ta bort offentlig IP-adress
Om du vill ta bort en offentlig IP-adress från en NAT-gateway skapar du ett matrisobjekt som inte innehåller den IP-adress som du vill ta bort. Du har till exempel en NAT-gateway konfigurerad med två offentliga IP-adresser. Du vill ta bort en av IP-adresserna. IP-adresserna som är associerade med NAT-gatewayen heter public-ip-nat och public-ip-nat2. Om du vill ta bort public-ip-nat2 skapar du ett matrisobjekt för PowerShell-kommandot som endast innehåller public-ip-nat. När du använder kommandot tillämpas matrisen igen på NAT-gatewayen och public-ip-nat är den enda associerade offentliga IP-adressen.
Använd Set-AzNatGateway för att ta bort en offentlig IP-adress från NAT-gatewayen.
## 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
Lägga till offentlig IP-adress
I det här exemplet heter den befintliga offentliga IP-adressen som är associerad med NAT-gatewayen public-ip-nat.
az network public-ip create \
--resource-group test-rg \
--location eastus2 \
--name public-ip-nat2 \
--sku standard
Använd az network nat gateway update för att lägga till den offentliga IP-adress som du skapade i NAT-gatewayen. Azure CLI-kommandot ersätter värdena. Det lägger inte till något nytt värde. Om du vill lägga till den nya IP-adressen till NAT-gatewayen måste du även inkludera andra IP-adresser som är associerade med NAT-gatewayen.
Använd az network nat gateway update för att ta bort en offentlig IP-adress från NAT-gatewayen. Azure CLI-kommandot ersätter värdena. Det tar inte bort något värde. Om du vill ta bort en offentlig IP-adress tar du med alla IP-adresser i kommandot som du vill behålla. Utelämna det värde som du vill ta bort. Du har till exempel en NAT-gateway konfigurerad med två offentliga IP-adresser. Du vill ta bort en av IP-adresserna. IP-adresserna som är associerade med NAT-gatewayen heter public-ip-nat och public-ip-nat2. Om du vill ta bort public-ip-nat2 utelämnar du namnet på IP-adressen från kommandot . Kommandot återskapar IP-adresserna som anges i kommandot till NAT-gatewayen. Den tar bort alla IP-adresser som inte visas.
I sökrutan överst i Azure Portal anger du offentligt IP-prefix. Välj Offentliga IP-prefix i sökresultaten.
Välj Skapa.
Ange följande information på fliken Grundläggande i Skapa ett offentligt IP-prefix.
Inställning
Värde
Projektinformation
Prenumeration
Välj din prenumeration.
Resursgrupp
Välj din resursgrupp. I det här exemplet används test-rg.
Instansinformation
Name
Ange public-ip-prefix-nat.
Region
Välj din region. I det här exemplet används USA, östra 2.
IP-version
Välj IPv4.
Ägarskap för prefix
Välj Microsoft-ägd.
Prefixstorlek
Välj en prefixstorlek. I det här exemplet används /28 (16 adresser).
Välj Granska + skapa och välj sedan Skapa.
I sökrutan överst i Azure Portal anger du NAT-gateway. Välj NAT-gatewayer i sökresultaten.
Välj nat-gateway.
Under Inställningar väljer du Utgående IP-adress.
Sidan visar IP-adresser och prefix som är associerade med NAT-gatewayen. Bredvid Offentliga IP-prefix väljer du Ändra.
Bredvid Offentliga IP-prefix väljer du listrutan. Välj det IP-adressprefix som du skapade för att lägga till prefixet i NAT-gatewayen. Om du vill ta bort ett prefix avmarkerar du det.
Välj OK.
Välj Spara.
Lägga till offentligt IP-prefix
Om du vill lägga till ett offentligt IP-prefix i NAT-gatewayen lägger du till det i ett matrisobjekt tillsammans med de aktuella IP-prefixen. PowerShell-cmdletarna ersätter alla IP-prefix.
I det här exemplet heter det befintliga offentliga IP-prefixet som är associerat med NAT-gatewayen public-ip-prefix-nat. Ersätt det här värdet med en matris som innehåller både public-ip-prefix-nat och ett nytt IP-adressprefix. Om du redan har konfigurerat flera IP-prefix måste du även lägga till dem i matrisen.
Använd New-AzPublicIpPrefix för att skapa ett nytt offentligt IP-prefix för NAT-gatewayen.
## 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
Använd Set-AzNatGateway för att lägga till det offentliga IP-prefixet i NAT-gatewayen.
## 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
Ta bort offentligt IP-prefix
Om du vill ta bort ett offentligt IP-prefix från en NAT-gateway skapar du ett matrisobjekt som inte innehåller det IP-adressprefix som du vill ta bort. Du har till exempel en NAT-gateway konfigurerad med två offentliga IP-prefix. Du vill ta bort ett av IP-prefixen. IP-prefixen som är associerade med NAT-gatewayen heter public-ip-prefix-nat och public-ip-prefix-nat2. Om du vill ta bort public-ip-prefix-nat2 skapar du ett matrisobjekt för PowerShell-kommandot som endast innehåller public-ip-prefix-nat. När du använder kommandot tillämpas matrisen igen på NAT-gatewayen och public-ip-prefix-nat är det enda prefix som är associerat.
Använd cmdleten Set-AzNatGateway för att ta bort ett offentligt IP-prefix från NAT-gatewayen.
## 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
Lägga till offentligt IP-prefix
I det här exemplet heter det befintliga offentliga IP-prefixet som är associerat med NAT-gatewayen public-ip-prefix-nat.
Använd az network nat gateway update för att lägga till det offentliga IP-prefixet som du skapade i NAT-gatewayen. Azure CLI-kommandot ersätter värden. Det lägger inte till något värde. Om du vill lägga till det nya IP-adressprefixet i NAT-gatewayen måste du även inkludera andra IP-prefix som är associerade till NAT-gatewayen.
Använd az network nat gateway update för att ta bort ett offentligt IP-prefix från NAT-gatewayen. Azure CLI-kommandot ersätter värdena. Det tar inte bort något värde. Om du vill ta bort ett offentligt IP-prefix tar du med alla prefix i kommandot som du vill behålla. Utelämna den som du vill ta bort. Du har till exempel en NAT-gateway konfigurerad med två offentliga IP-prefix. Du vill ta bort ett av prefixen. IP-prefixen som är associerade med NAT-gatewayen heter public-ip-prefix-nat och public-ip-prefix-nat2. Om du vill ta bort public-ip-prefix-nat2 utelämnar du namnet på IP-prefixet från kommandot. Kommandot återskapar DE IP-prefix som anges i kommandot till NAT-gatewayen. Den tar bort alla IP-adresser som inte visas.