Een Azure Gateway Load Balancer met twee stacks implementeren
In deze zelfstudie implementeert u IPv6-configuraties in een bestaande IPv4-geconfigureerde Azure Gateway Load Balancer.
U leert hier hoe u de volgende handelingen kunt uitvoeren:
- Voeg IPv6-adresbereiken toe aan een bestaand subnet.
- Voeg een IPv6-front-end toe aan Gateway Load Balancer.
- Voeg een IPv6-back-endpool toe aan Gateway Load Balancer.
- IPv6-configuratie toevoegen aan netwerkinterfaces.
- Voeg een taakverdelingsregel toe voor IPv6-verkeer.
- Koppel de front-end van de IPv6-load balancer aan gateway load balancer.
Samen met de Gateway Load Balancer bevat dit scenario de volgende reeds geïmplementeerde resources:
- Een virtueel netwerk en subnet met dubbele stack.
- Een standaard load balancer met dubbele front-endconfiguraties (IPv4 + IPv6).
- Een gateway load balancer met alleen IPv4.
- Een netwerkinterface met een dual-stack IP-configuratie, een gekoppelde netwerkbeveiligingsgroep en openbare IPv4- en IPv6-adressen.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een bestaande dual-stack load balancer. Zie IPv6 Dual Stack-toepassing implementeren - Standard Load Balancer voor meer informatie over het maken van een load balancer met twee stacks.
- Een bestaande IPv4-gateway balancer. Zie Een gateway load balancer maken voor meer informatie over het maken van een gateway load balancer.
IPv6-adresbereiken toevoegen aan een bestaand subnet
In dit artikel wordt ervan uitgegaan dat u al een Gateway Load Balancer hebt geconfigureerd voor IPv4-verkeer, met een bijbehorend virtueel netwerk en subnet. In deze stap voegt u IPv6-bereiken toe aan het virtuele netwerk en subnet van uw gateway load balancer. Dit bereik is nodig bij het maken van een IPv6-front-endconfiguratie voor uw Gateway Load Balancer met behulp van een privé-IP-adres van dit subnet/virtueel netwerk.
#Add IPv6 ranges to the virtual network and subnet
#Retrieve the virtual network object
$rg = Get-AzResourceGroup -ResourceGroupName "myResourceGroup"
$vnet = Get-AzVirtualNetwork -ResourceGroupName $rg.ResourceGroupName -Name "myVNet"
#Add IPv6 prefix to the virtual network
$vnet.addressspace.addressprefixes.add("fd00:db8:deca::/48")
#Update the running virtual network
$vnet | Set-AzVirtualNetwork
#Retrieve the subnet object from the local copy of the virtual network
$subnet= $vnet.subnets[0]
#Add IPv6 prefix to the subnet
$subnet.addressprefix.add("fd00:db8:deca::/64")
#Update the running virtual network with the new subnet configuration
$vnet | Set-AzVirtualNetwork
Een IPv6-front-end toevoegen aan gateway load balancer
Nu u IPv6-voorvoegselsbereiken hebt toegevoegd aan het subnet en het virtuele netwerk van uw gateway load balancer, kunnen we een nieuwe IPv6-front-endconfiguratie maken op de Gateway Load Balancer, met een IPv6-adres uit het bereik van uw subnet.
# Retrieve the load balancer configuration
$gwlb = Get-AzLoadBalancer -ResourceGroupName "myResourceGroup"-Name "myGatewayLoadBalancer"
# Add IPv6 frontend configuration to the local copy of the load balancer configuration
$gwlb | Add-AzLoadBalancerFrontendIpConfig `
-Name "myGatewayFrontEndv6" `
-PrivateIpAddressVersion "IPv6" `
-Subnet $subnet
#Update the running load balancer with the new frontend
$gwlb | Set-AzLoadBalancer
Een IPv6-back-endpool toevoegen aan gateway load balancer
Als u IPv6-verkeer wilt distribueren, hebt u een back-endpool met exemplaren met IPv6-adressen nodig. Eerst maakt u een back-endpool op de Gateway Load Balancer. In de volgende stap maakt u IPv6-configuraties aan uw bestaande back-end-NIC's voor IPv4-verkeer en koppelt u deze aan deze back-endpool.
## Create IPv6 tunnel interfaces
$int1 = @{
Type = 'Internal'
Protocol = 'Vxlan'
Identifier = '866'
Port = '2666'
}
$tunnelInterface1 = New-AzLoadBalancerBackendAddressPoolTunnelInterfaceConfig @int1
$int2 = @{
Type = 'External'
Protocol = 'Vxlan'
Identifier = '867'
Port = '2667'
}
$tunnelInterface2 = New-AzLoadBalancerBackendAddressPoolTunnelInterfaceConfig @int2
# Create the IPv6 backend pool
$pool = @{
Name = 'myGatewayBackendPoolv6'
TunnelInterface = $tunnelInterface1,$tunnelInterface2
}
# Add the backend pool to the load balancer
$gwlb | Add-AzLoadBalancerBackendAddressPoolConfig @pool
# Update the load balancer
$gwlb | Set-AzLoadBalancer
IPv6-configuratie toevoegen aan netwerkinterfaces
#Retrieve the NIC object
$NIC_1 = Get-AzNetworkInterface -Name "myNic1" -ResourceGroupName $rg.ResourceGroupName
$backendPoolv6 = Get-AzLoadBalancerBackendAddressPoolConfig -Name "myGatewayBackendPoolv6" -LoadBalancer $gwlb
#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
Een taakverdelingsregel toevoegen voor IPv6-verkeer
Taakverdelingsregels bepalen hoe verkeer wordt gerouteerd naar uw back-endinstanties. Voor Gateway Load Balancer maakt u een taakverdelingsregel waarvoor HA-poorten zijn ingeschakeld, zodat u verkeer van alle protocollen kunt inspecteren en op alle poorten aankomt.
# Retrieve the updated (live) versions of the frontend and backend pool, and existing health probe
$frontendIPv6 = Get-AzLoadBalancerFrontendIpConfig -Name "myGatewayFrontEndv6" -LoadBalancer $gwlb
$backendPoolv6 = Get-AzLoadBalancerBackendAddressPoolConfig -Name "myGatewayBackendPoolv6" -LoadBalancer $gwlb
$healthProbe = Get-AzLoadBalancerProbeConfig -Name "myHealthProbe" -LoadBalancer $gwlb
# Create new LB rule with the frontend and backend
$gwlb | Add-AzLoadBalancerRuleConfig `
-Name "myRulev6" `
-FrontendIpConfiguration $frontendIPv6 `
-BackendAddressPool $backendPoolv6 `
-Protocol All `
-FrontendPort 0 `
-BackendPort 0 `
-Probe $healthProbe
#Finalize all the load balancer updates on the running load balancer
$gwlb | Set-AzLoadBalancer
De front-end van de IPv6-load balancer koppelen aan gateway load balancer
In deze laatste stap koppelt u de IPv6-front-end van uw bestaande Standard Load Balancer aan de IPv6-front-end van de Gateway Load Balancer. Nu wordt al het IPv6-verkeer naar de front-end van uw Standard Load Balancer doorgestuurd naar uw Gateway Load Balancer voor inspectie door de geconfigureerde NVA's voordat u uw toepassing bereikt.
## Place the existing Standard load balancer into a variable. ##
$par1 = @{
ResourceGroupName = 'myResourceGroup'
Name = 'myLoadBalancer'
}
$lb = Get-AzLoadBalancer @par1
## Place the public frontend IP of the Standard load balancer into a variable.
$par3 = @{
ResourceGroupName = 'myResourceGroup'
Name = 'myIPv6PublicIP'
}
$publicIP = Get-AzPublicIPAddress @par3
## Chain the Gateway load balancer to your existing Standard load balancer frontend. ##
# $feip = Get-AzLoadBalancerFrontendIpConfig -Name "myGatewayFrontEndv6" -LoadBalancer $gwlb
$par4 = @{
Name = 'myIPv6FrontEnd'
PublicIPAddress = $publicIP
LoadBalancer = $lb
GatewayLoadBalancerId = $feip.id
}
$config = Set-AzLoadBalancerFrontendIpConfig @par4
$config | Set-AzLoadBalancer
Beperkingen
- Gateway load balancer biedt geen ondersteuning voor NAT 64/46.
- Wanneer u ketening implementeert, moeten de IP-adresversie van standard- en gateway load balancer-front-endconfiguraties overeenkomen.
Volgende stappen
- Meer informatie over Azure Gateway Load Balancer-partners voor het implementeren van virtuele netwerkapparaten.