Escalado de puertos SNAT con Azure NAT Gateway

Azure Firewall proporciona 2496 puertos SNAT por dirección IP pública configuradas por instancia del conjunto de escalado de máquinas virtuales back-end (mínimo de dos instancias) y puede asociar hasta 250 direcciones IP públicas. Según la arquitectura y los patrones de tráfico, es posible que necesite más de los 1 248 000 puertos SNAT disponibles con esta configuración. Por ejemplo, cuando se usa para proteger grandes implementaciones de Azure Virtual Desktop que se integran con las aplicaciones de Microsoft 365.

Una de las dificultades con el uso de un gran número de direcciones IP públicas es cuando hay requisitos de filtrado de direcciones IP de nivel inferior. Azure Firewall no admite la asignación de un prefijo IP público por sí mismo, pero puede usar direcciones IP públicas individuales de SKU estándar provisionadas desde un prefijo de IP pública. Cuando Azure Firewall está asociado a múltiples direcciones IP públicas, el filtrado downstream debe permitir todas las direcciones IP públicas asociadas a él. Si provisionas estas direcciones desde prefijos IP públicos, puedes permitir los rangos de prefijos correspondientes en lugar de listar cada dirección individualmente.

Una mejor opción para escalar y asignar dinámicamente puertos SNAT salientes es usar un Azure NAT Gateway. Proporciona 64 512 puertos SNAT por dirección IP pública y admite hasta 16 direcciones IP públicas IPv4. Esto proporciona de forma eficaz hasta 1 032 192 puertos SNAT de salida. Azure NAT Gateway también asigna dinámicamente puertos SNAT en un nivel de subred, por lo que todos los puertos SNAT proporcionados por sus direcciones IP asociadas están disponibles a petición para proporcionar conectividad saliente.

Cuando asocias una pasarela NAT con AzureFirewallSubnet, el tráfico de internet saliente desde el cortafuegos utiliza las direcciones IP públicas de la pasarela NAT. No necesitas una ruta adicional definida por el usuario (UDR) para enviar ese tráfico desde el cortafuegos a través de la pasarela NAT. Conserva las rutas de la subred de carga de trabajo que dirigen el tráfico a la dirección IP privada del cortafuegos para su inspección. El tráfico de respuesta a un flujo saliente también pasa por la puerta de enlace NAT. Si varias direcciones IP públicas están asociadas con la pasarela NAT, esta selecciona una dirección de forma aleatoria. No puedes especificar qué dirección usar.

No hay ninguna NAT doble con esta arquitectura. Las instancias de Azure Firewall envían el tráfico a la puerta de enlace NAT mediante su dirección IP privada en lugar de la dirección IP pública de Azure Firewall.

Elección entre varias direcciones IP públicas y la puerta de enlace NAT

Cuando su firewall empieza a quedarse sin puertos SNAT, puede agregar varias direcciones IP públicas o usar una puerta de enlace NAT:

  • Agregue varias direcciones IP públicas cuando sea sensible al costo y sus necesidades de escalado sean moderadas. Cada dirección IP pública añade 2.496 puertos SNAT por instancia de backend, y puedes asociar hasta 250 direcciones IP públicas. Para conocer los pasos, consulte Implementación de una Azure Firewall con varias direcciones IP públicas.
  • Usa un gateway NAT cuando necesites una asignación dinámica de puertos SNAT a través de la subred. Proporciona hasta 64.512 puertos SNAT por dirección IP pública.

Para obtener una comparación completa de las ventajas y desventajas, consulte Procedimientos recomendados para Azure Firewall rendimiento.

Para crear un gateway NAT StandardV2 como parte de un despliegue de Azure Firewall en el portal, seleccione Habilitar gateway NAT en la pestaña Avanzado. Para el procedimiento completo, consulte Crear Azure Firewall con un gateway NAT StandardV2. Los siguientes ejemplos de PowerShell y CLI asocian una pasarela NAT estándar con una subred de cortafuegos existente.

Nota:

Utiliza una pasarela NAT StandardV2 con un cortafuegos redundante por zona. Un gateway NAT estándar no soporta despliegues redundantes por zona. Para los pasos, consulta Integrar Azure Firewall con NAT Gateway V2. Para más información sobre las diferencias de SKU, consulte las SKU de la puerta de enlace NAT. Azure NAT Gateway no está soportado dentro de un hub virtual seguro (vWAN). En una arquitectura vWAN, configura la puerta de enlace NAT directamente en las redes virtuales spoke. Para los pasos para integrar NAT Gateway con un cortafuegos en una red virtual hub, consulta el tutorial de integración de NAT gateway y Azure Firewall. Para obtener más información sobre las opciones de arquitectura de Azure Firewall, consulte ¿Cuáles son las opciones de arquitectura de Azure Firewall Manager?

Asociación de una puerta de enlace NAT con una subred de Azure Firewall: Azure PowerShell

En el ejemplo siguiente se crea y se adjunta una puerta de enlace NAT con una subred de Azure Firewall mediante Azure PowerShell.

# Create public IP addresses
New-AzPublicIpAddress -Name public-ip-1 -ResourceGroupName nat-rg -Sku Standard -AllocationMethod Static -Location 'South Central US'
New-AzPublicIpAddress -Name public-ip-2 -ResourceGroupName nat-rg -Sku Standard -AllocationMethod Static -Location 'South Central US'

# Create NAT gateway
$PublicIPAddress1 = Get-AzPublicIpAddress -Name public-ip-1 -ResourceGroupName nat-rg
$PublicIPAddress2 = Get-AzPublicIpAddress -Name public-ip-2 -ResourceGroupName nat-rg
New-AzNatGateway -Name firewall-nat -ResourceGroupName nat-rg -PublicIpAddress $PublicIPAddress1,$PublicIPAddress2 -Location 'South Central US' -Sku Standard

# Associate NAT gateway to subnet
$virtualNetwork = Get-AzVirtualNetwork -Name nat-vnet -ResourceGroupName nat-rg
$natGateway = Get-AzNatGateway -Name firewall-nat -ResourceGroupName nat-rg
$firewallSubnet = $virtualNetwork.subnets | Where-Object -Property Name -eq AzureFirewallSubnet
$firewallSubnet.NatGateway = $natGateway
$virtualNetwork | Set-AzVirtualNetwork

Asociación de una puerta de enlace NAT con una subred de Azure Firewall: CLI de Azure

En el ejemplo siguiente se crea y se adjunta una puerta de enlace NAT con una subred de Azure Firewall mediante CLI de Azure.

# Create public IP addresses
az network public-ip create --name public-ip-1 --resource-group nat-rg --sku standard
az network public-ip create --name public-ip-2 --resource-group nat-rg --sku standard
# Create NAT gateway
az network nat gateway create --name firewall-nat --resource-group nat-rg --public-ip-addresses public-ip-1 public-ip-2 --sku standard
# Associate NAT gateway to subnet
az network vnet subnet update --name AzureFirewallSubnet --vnet-name nat-vnet --resource-group nat-rg --nat-gateway firewall-nat

Pasos siguientes