Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Azure Firewall and Azure Firewall policy support IPv6. You can configure IPv6 subnets, address spaces, public IPv6 addresses, user-defined routes (UDRs), and network rules to manage IPv6 traffic. You can deploy a firewall in IPv4-only mode or in dual stack mode (IPv4 and IPv6). IPv6-only firewalls aren't supported.
This article shows you how to upgrade an existing firewall to dual stack mode and deploy a new dual stack firewall.
Important
IPv6 support on Azure Firewall is currently in PREVIEW. See the Supplemental Terms of Use for Microsoft Azure Previews for legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
Supported scenarios and limitations
Azure Firewall's IPv6 support is designed for specific use cases and has certain constraints. Review the following supported scenarios and limitations before you deploy.
Supported scenarios
- PowerShell and Azure CLI: Deployment of the feature by using PowerShell and Azure CLI is currently supported. Azure portal support is coming soon.
- Network rules: Azure Firewall fully supports IPv6 traffic in network rules. You can create rules to allow or deny IPv6 traffic.
- DNS proxy: Azure Firewall can be configured as a DNS proxy in IPv6 networks.
Note
For all outbound connections from the virtual network, Azure Firewall applies source network address translation (SNAT) by using the firewall instance's IP address. If the destination address is within the IANA-defined unique local address (ULA) range (fc00::/7), SNAT isn't applied. This behavior is by design and can't be changed.
Limitations
- Azure Firewalls deployed in Israel Central, Israel Northwest, Qatar Central, UAE Central, and UAE North currently don't support dual-stack mode. This capability will soon be available in these regions.
- Deployment through the Azure portal isn't currently supported. Portal support is coming soon.
- Classic Azure Firewall isn't supported.
- Virtual hub (vHub) Firewall isn't supported.
- Application and DNAT rules aren't supported yet.
- Threat intelligence, IDPS, Explicit Proxy, and IP Groups based scenarios aren't supported.
- Reverting a dual stack firewall back to IPv4-only mode isn't supported. This temporary limitation will be removed when dual stack support becomes generally available.
Note
Existing features compatible with IPv4-only firewall continue to support IPv4 in dual-stack firewall as well. The preceding limitations apply only to IPv6.
Prerequisites
If you don't have an Azure subscription, create a free account to get started.
Configure dual stack on an existing Azure Firewall
To upgrade an existing Azure Firewall from IPv4-only to dual stack mode (IPv4 and IPv6):
- Add an IPv6 address space to the virtual network.
- Add an IPv6 subnet prefix to the
AzureFirewallSubnet. - Create a public IPv6 address.
- Add the public IPv6 address to your firewall configuration.
- Add network rules for IPv6 traffic as needed.
Important
After you upgrade a firewall to dual stack mode, you can't revert it back to IPv4-only mode. This temporary limitation will be removed when dual stack support becomes generally available.
Use the following tabs to add IPv6 support to a firewall that's already deployed.
Update the virtual network (VNET) to add an IPv6 address space using Get-AzVirtualNetwork and Set-AzVirtualNetwork.
Retrieve the existing VNET:
$vnet = Get-AzVirtualNetwork -Name "test-vnet" -ResourceGroupName "test-rg"Add the IPv6 address space:
$vnet.AddressSpace.AddressPrefixes.Add("fd00:c1d0:3f1f::/48") $vnet | Set-AzVirtualNetworkUpdate the AzureFirewallSubnet to add an IPv6 subnet prefix using Set-AzVirtualNetworkSubnetConfig.
Set-AzVirtualNetworkSubnetConfig -Name "AzureFirewallSubnet" ` -VirtualNetwork $vnet ` -AddressPrefix @("10.0.0.0/24", "fd00:c1d0:3f1f:1::/64") $vnet | Set-AzVirtualNetworkCreate and attach an IPv6 public IP using New-AzPublicIpAddress and Set-AzFirewall.
$publicIpV6 = New-AzPublicIpAddress ` -ResourceGroupName "test-rg" ` -Location "southcentralus" ` -Name "test-v6pip" ` -AllocationMethod Static ` -Sku Standard ` -IpAddressVersion IPv6 $azFw = Get-AzFirewall -Name "test-fw" -ResourceGroupName "test-rg" $azFw.AddPublicIpAddress($publicIpV6) $azFw | Set-AzFirewall
Create a dual stack Azure Firewall
To set up a dual stack firewall by using PowerShell:
Create a resource group by using the New-AzResourceGroup cmdlet.
New-AzResourceGroup -Name "test-rg" -Location "southcentralus"Create the firewall subnet and virtual network by using the New-AzVirtualNetworkSubnetConfig and New-AzVirtualNetwork cmdlets.
$FWsub = New-AzVirtualNetworkSubnetConfig ` -Name "AzureFirewallSubnet" ` -AddressPrefix @("10.0.1.0/26", "fd00:c1d0:3f1f:1::/64") $vnet = New-AzVirtualNetwork ` -Name "test-vnet" ` -ResourceGroupName "test-rg" ` -Location "southcentralus" ` -AddressPrefix @("10.0.0.0/16", "fd00:c1d0:3f1f::/48") ` -Subnet $FWsubCreate public IPv4 and IPv6 addresses by using the New-AzPublicIpAddress cmdlet.
$publicIpV4 = New-AzPublicIpAddress ` -ResourceGroupName "test-rg" ` -Location "southcentralus" ` -Name "v4pip" ` -AllocationMethod Static ` -Sku Standard $publicIpV6 = New-AzPublicIpAddress ` -ResourceGroupName "test-rg" ` -Location "southcentralus" ` -Name "v6pip" ` -AllocationMethod Static ` -Sku Standard ` -IpAddressVersion IPv6Create a firewall policy by using the New-AzFirewallPolicy cmdlet.
$fwPolicy = New-AzFirewallPolicy -Name "fw-policy" -ResourceGroupName "test-rg" -Location "southcentralus" -SkuTier "Premium"Create the dual stack firewall by using the New-AzFirewall cmdlet.
$Azfw = New-AzFirewall -Name "firewall-test" ` -ResourceGroupName "test-rg" ` -Location "southcentralus" ` -VirtualNetwork $vnet ` -PublicIpAddress @($publicIpV4, $publicIpV6) ` -Sku AZFW_VNet ` -SkuTier Premium ` -FirewallPolicyId $fwPolicy.Id