Lägga till ett IPv4-program i IPv6 i ett virtuellt Azure-nätverk med hjälp av PowerShell
Den här artikeln visar hur du lägger till IPv6-anslutning till ett befintligt IPv4-program i ett virtuellt Azure-nätverk med en Standard Load Balancer och offentlig IP-adress. Uppgraderingen på plats omfattar:
- IPv6-adressutrymme för det virtuella nätverket och undernätet
- Standard Load Balancer med både IPv4- och IPV6-klientdelskonfigurationer
- Virtuella datorer med nätverkskort som har både en IPv4 - och IPv6-konfiguration
- Offentlig IP-adress för IPv6 så att lastbalanseraren har internetuppkopplad IPv6-anslutning
Azure Cloud Shell
Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln, utan att behöva installera något i din lokala miljö.
Så här startar du Azure Cloud Shell:
Alternativ | Exempel/länk |
---|---|
Välj Prova i det övre högra hörnet i en kod eller ett kommandoblock. Om du väljer Prova kopieras inte koden eller kommandot automatiskt till Cloud Shell. | |
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. | |
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. |
Så här använder du Azure Cloud Shell:
Starta Cloud Shell.
Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.
Klistra in koden eller kommandot i Cloud Shell-sessionen genom att välja Ctrl+Skift+V i Windows och Linux, eller genom att välja Cmd+Shift+V på macOS.
Välj Retur för att köra koden eller kommandot.
Om du väljer att installera och använda PowerShell lokalt kräver den här artikeln Azure PowerShell-modulen version 6.9.0 eller senare. 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.
Förutsättningar
Den här artikeln förutsätter att du har distribuerat en Standard Load Balancer enligt beskrivningen i Snabbstart: Skapa en Standard Load Balancer – Azure PowerShell.
Hämta resursgruppen
Innan du kan skapa det virtuella nätverket med dubbla staplar måste du hämta resursgruppen med Get-AzResourceGroup.
$rg = Get-AzResourceGroup -ResourceGroupName "myResourceGroupSLB"
Skapa en IP-adress för IPv6
Skapa en offentlig IPv6-adress med New-AzPublicIpAddress för din Standard Load Balancer. I följande exempel skapas en offentlig IPv6-IP-adress med namnet PublicIP_v6 i resursgruppen myResourceGroupSLB :
$PublicIP_v6 = New-AzPublicIpAddress `
-Name "PublicIP_v6" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Sku Standard `
-AllocationMethod Static `
-IpAddressVersion IPv6
Konfigurera klientdelen för lastbalanseraren
Hämta den befintliga lastbalanserarens konfiguration och lägg sedan till den nya IP-adressen för IPv6 med hjälp av Add-AzLoadBalancerFrontendIpConfig på följande sätt:
# Retrieve the load balancer configuration
$lb = Get-AzLoadBalancer -ResourceGroupName $rg.ResourceGroupName -Name "MyLoadBalancer"
# Add IPv6 components to the local copy of the load balancer configuration
$lb | Add-AzLoadBalancerFrontendIpConfig `
-Name "dsLbFrontEnd_v6" `
-PublicIpAddress $PublicIP_v6
#Update the running load balancer with the new frontend
$lb | Set-AzLoadBalancer
Konfigurera lastbalanserarens serverdelspool
Skapa serverdelspoolen på den lokala kopian av lastbalanserarens konfiguration och uppdatera lastbalanseraren som körs med den nya serverdelspoolkonfigurationen enligt följande:
$lb | Add-AzLoadBalancerBackendAddressPoolConfig -Name "LbBackEndPool_v6"
# Update the running load balancer with the new backend pool
$lb | Set-AzLoadBalancer
Konfigurera regler för lastbalanserare
Hämta den befintliga konfigurationen av lastbalanserarens klientdel och serverdelspool och lägg sedan till nya belastningsutjämningsregler med hjälp av Add-AzLoadBalancerRuleConfig.
# Retrieve the updated (live) versions of the frontend and backend pool
$frontendIPv6 = Get-AzLoadBalancerFrontendIpConfig -Name "dsLbFrontEnd_v6" -LoadBalancer $lb
$backendPoolv6 = Get-AzLoadBalancerBackendAddressPoolConfig -Name "LbBackEndPool_v6" -LoadBalancer $lb
# Create new LB rule with the frontend and backend
$lb | Add-AzLoadBalancerRuleConfig `
-Name "dsLBrule_v6" `
-FrontendIpConfiguration $frontendIPv6 `
-BackendAddressPool $backendPoolv6 `
-Protocol Tcp `
-FrontendPort 80 `
-BackendPort 80
#Finalize all the load balancer updates on the running load balancer
$lb | Set-AzLoadBalancer
Lägga till IPv6-adressintervall
Lägg till IPv6-adressintervall i det virtuella nätverket och undernätet som är värd för de virtuella datorerna enligt följande:
#Add IPv6 ranges to the VNET and subnet
#Retreive the VNET object
$vnet = Get-AzVirtualNetwork -ResourceGroupName $rg.ResourceGroupName -Name "myVnet"
#Add IPv6 prefix to the VNET
$vnet.addressspace.addressprefixes.add("fd00:db8:deca::/48")
#Update the running VNET
$vnet | Set-AzVirtualNetwork
#Retrieve the subnet object from the local copy of the VNET
$subnet= $vnet.subnets[0]
#Add IPv6 prefix to the Subnet (subnet of the VNET prefix, of course)
$subnet.addressprefix.add("fd00:db8:deca::/64")
#Update the running VNET with the new subnet configuration
$vnet | Set-AzVirtualNetwork
Lägga till IPv6-konfiguration i nätverkskortet
Konfigurera alla vm-nätverkskort med en IPv6-adress med hjälp av Add-AzNetworkInterfaceIpConfig på följande sätt:
#Retrieve the NIC objects
$NIC_1 = Get-AzNetworkInterface -Name "myNic1" -ResourceGroupName $rg.ResourceGroupName
$NIC_2 = Get-AzNetworkInterface -Name "myNic2" -ResourceGroupName $rg.ResourceGroupName
$NIC_3 = Get-AzNetworkInterface -Name "myNic3" -ResourceGroupName $rg.ResourceGroupName
#Add an IPv6 IPconfig to NIC_1 and update the NIC on the running VM
$NIC_1 | Add-AzNetworkInterfaceIpConfig -Name MyIPv6Config -Subnet $vnet.Subnets[0] -PrivateIpAddressVersion IPv6 -LoadBalancerBackendAddressPool $backendPoolv6
$NIC_1 | Set-AzNetworkInterface
#Add an IPv6 IPconfig to NIC_2 and update the NIC on the running VM
$NIC_2 | Add-AzNetworkInterfaceIpConfig -Name MyIPv6Config -Subnet $vnet.Subnets[0] -PrivateIpAddressVersion IPv6 -LoadBalancerBackendAddressPool $backendPoolv6
$NIC_2 | Set-AzNetworkInterface
#Add an IPv6 IPconfig to NIC_3 and update the NIC on the running VM
$NIC_3 | Add-AzNetworkInterfaceIpConfig -Name MyIPv6Config -Subnet $vnet.Subnets[0] -PrivateIpAddressVersion IPv6 -LoadBalancerBackendAddressPool $backendPoolv6
$NIC_3 | Set-AzNetworkInterface
Visa virtuella IPv6-nätverk med dubbla staplar i Azure Portal
Du kan visa det virtuella IPv6-nätverket med dubbla staplar i Azure Portal på följande sätt:
I portalens sökfält anger du virtuella nätverk och
I fönstret Virtuella nätverk väljer du myVNet.
Välj Anslutna enheter under Inställningar för att visa de anslutna nätverksgränssnitten. Det virtuella nätverket med dubbla staplar visar de tre nätverkskorten med både IPv4- och IPv6-konfigurationer.
Rensa resurser
När den inte längre behövs du använda kommandot Remove-AzResourceGroup för att ta bort resursgruppen, den virtuella datorn och alla relaterade resurser.
Remove-AzResourceGroup -Name MyAzureResourceGroupSLB
Nästa steg
I den här artikeln har du uppdaterat en befintlig Standard Load Balancer med en IP-konfiguration på IPv4-klientdelen till en konfiguration med dubbla staplar (IPv4 och IPv6). Du har också lagt till IPv6-konfigurationer till nätverkskorten för de virtuella datorerna i serverdelspoolen och till det virtuella nätverk som är värd för dem. Mer information om IPv6-stöd i virtuella Azure-nätverk finns i Vad är IPv6 för Azure Virtual Network?