Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure Firewall proporciona capacidad SNAT para todo el tráfico saliente a las IP públicas. De forma predeterminada, Azure Firewall no usa SNAT con reglas de red cuando la dirección IP de destino está en un intervalo de direcciones IP privadas por IANA RFC 1918 o espacio de direcciones compartido por IANA RFC 6598. Las reglas de aplicación siempre usan SNAT a través de un proxy transparente independientemente de la dirección IP de destino.
Este comportamiento predeterminado es adecuado al enrutar el tráfico directamente a Internet. Sin embargo, hay escenarios en los que es posible que tenga que invalidar el comportamiento predeterminado de SNAT:
- Si habilita la tunelización forzada, los SNAT de Azure Firewall enlazan el tráfico enlazado a Internet a una de las direcciones IP privadas del firewall en AzureFirewallSubnet, ocultando el origen del firewall local.
- Si su organización utiliza rangos de direcciones IP registradas fuera de los estándares IANA RFC 1918 o IANA RFC 6598 para redes privadas, Azure Firewall SNATea el tráfico a una de las direcciones IP privadas del firewall en AzureFirewallSubnet. Puede configurar Azure Firewall de modo que no aplique SNAT al intervalo de direcciones IP públicas. Por ejemplo, especifique una dirección IP individual como
x.x.x.xo un intervalo de direcciones IP comox.x.x.x/24.
Puede cambiar el comportamiento de SNAT de Azure Firewall de las maneras siguientes:
- Para configurar Azure Firewall para nunca aplicar SNAT al tráfico procesado por las reglas de red, independientemente de la dirección IP de destino, use 0.0.0.0/0 como intervalo de direcciones IP privadas. Con esta configuración, Azure Firewall no puede enrutar el tráfico directamente a Internet.
- Para configurar el firewall para que el tráfico SNAT sea siempre procesado por reglas de red independientemente de la dirección de destino, use 255.255.255.255/32 como intervalo de direcciones IP privadas.
- Para configurar Azure Firewall y que aprenda automáticamente los rangos de direcciones IP registradas y privadas a intervalos regulares, habilita rutas SNAT de aprendizaje automático. Los rangos de direcciones aprendidos se tratan como internos y el tráfico destinado a estos rangos no se registra con SNAT.
Importante
- La configuración del intervalo de direcciones privadas solo se aplicará a las reglas de red. Las reglas de aplicación siempre usan SNAT.
- Si desea especificar sus propios intervalos de direcciones IP privadas y mantener los intervalos de direcciones RFC 1918 de IANA predeterminados, asegúrese de que la lista personalizada todavía incluye el intervalo de RFC 1918 de IANA.
La siguiente tabla muestra los métodos de configuración soportados. Los firewalls asociados a una directiva de firewall deben especificar el intervalo de la directiva y no usar AdditionalProperties.
| Método | Reglas clásicas | Directiva de firewall |
|---|---|---|
| Azure PowerShell | Soportado | No soportado |
| CLI de Azure | Soportado | No soportado |
| Plantilla ARM | Soportado | Soportado |
| Azure Portal | Soportado | Soportado |
Configurar rangos de direcciones IP privadas SNAT
Elige tu método de configuración. Azure PowerShell y CLI de Azure solo soportan reglas clásicas. Para configurar rangos SNAT con una política de cortafuegos, utiliza una plantilla ARM o el portal de Azure.
- Azure PowerShell
- CLI de Azure
- plantilla ARM
- Portal de Azure
Use Azure PowerShell para especificar intervalos de direcciones IP privadas para el firewall.
Nota
La propiedad PrivateRange del firewall se omite para los firewalls asociados a una directiva de firewall. Debes usar la SNAT propiedad en firewallPolicies tal y como se describe en la pestaña de plantilla ARM .
Nuevo firewall
Para un nuevo cortafuegos que use reglas clásicas, crea el cortafuegos usando New-AzFirewall:
$azFw = @{
Name = '<fw-name>'
ResourceGroupName = '<resourcegroup-name>'
Location = '<location>'
VirtualNetworkName = '<vnet-name>'
PublicIpName = '<public-ip-name>'
PrivateRange = @("IANAPrivateRanges", "192.168.1.0/24", "192.168.1.10")
}
New-AzFirewall @azFw
Nota
- La implementación de Azure Firewall mediante
New-AzFirewallrequiere una red virtual existente y una dirección IP pública. Para obtener una guía de implementación completa, consulte Implementación y configuración de Azure Firewall mediante Azure PowerShell. -
IANAPrivateRangesse expande a los valores predeterminados actuales en Azure Firewall, mientras que los otros intervalos se agregan a él. Para mantener el valor predeterminado deIANAPrivateRangesen su especificación de intervalo privado, debe permanecer en la especificación dePrivateRange, tal como se muestra en el ejemplo.
Firewall existente
Para configurar un cortafuegos existente que use reglas clásicas, consigue el cortafuegos usando Get-AzFirewall y actualízalo usando Set-AzFirewall:
$azfw = Get-AzFirewall -Name '<fw-name>' -ResourceGroupName '<resourcegroup-name>'
$azfw.PrivateRange = @("IANAPrivateRanges", "192.168.1.0/24", "192.168.1.10")
Set-AzFirewall -AzureFirewall $azfw
Aprendizaje automático de rutas SNAT
Puedes configurar Azure Firewall para que aprenda automáticamente tanto los rangos registrados como los privados cada 30 minutos. Estos intervalos de direcciones aprendidos son internos de la red, por lo que el tráfico a los destinos de los intervalos aprendidos no es SNATed. Tanto los despliegues de red virtual (VNet) como los despliegues de hub virtual seguro (vHub) soportan rutas SNAT de aprendizaje automático.
Nota
- Auto-learn SNAT requiere que Azure Firewall esté asociado con Azure Route Server.
- Para despliegues de VNet, debes desplegar Azure Route Server en la misma red virtual que Azure Firewall.
- Para despliegues de vHub, Azure Route Server ya está desplegado y asociado por defecto.
- Para ambos modelos de despliegue, debes activar el auto-learn SNAT en la política de Azure Firewall una vez completada la asociación.
- Para más información acerca de las opciones de arquitectura de Azure Firewall, consulte ¿Cuáles son las opciones de arquitectura de Azure Firewall Manager?
Firewall VNet
Para despliegues de VNet, necesitas desplegar y asociar Azure Route Server antes de habilitar rutas SNAT de aprendizaje automático.
Requisitos previos:
- Una subred llamada RouteServerSubnet en tu red virtual de cortafuegos con un tamaño mínimo /27.
- Azure Route Server implementado en la misma red virtual que su cortafuegos. Para los pasos de despliegue, consulta Inicio rápido: Crear y configurar Route Server usando el portal de Azure.
- CLI de Azure
- plantilla ARM
- Azure PowerShell
- Portal de Azure
En los siguientes ejemplos, sustituye los nombres de las variables ($azureFirewallName, $rgname, $location, etc.) por tus propios valores.
Crea un nuevo firewall con un ID de Servidor de Ruta usando New-AzFirewall.
# Specify the Route Server resource ID $routeServerId="/subscriptions/your_sub/resourceGroups/testRG/providers/Microsoft.Network/virtualHubs/TestRS" # Create the firewall $azureFirewall = New-AzFirewall -Name $azureFirewallName ` -ResourceGroupName $rgname ` -Location $location ` -RouteServerId $routeServerId # Verify the Route Server ID is set Get-AzFirewall -Name $azureFirewallName -ResourceGroupName $rgnameAsocia un Servidor de Rutas con un firewall existente usando Get-AzFirewall y Set-AzFirewall.
# Specify the Route Server resource ID $routeServerId="/subscriptions/your_sub/resourceGroups/testRG/providers/Microsoft.Network/virtualHubs/TestRS" # Get the firewall $azFirewall = Get-AzFirewall -Name $azureFirewallName -ResourceGroupName $rgname # Associate the Route Server and update the firewall $azFirewall.RouteServerId = $routeServerId Set-AzFirewall -AzureFirewall $azFirewall # Verify the Route Server ID is updated Get-AzFirewall -Name $azureFirewallName -ResourceGroupName $rgnameCrea una nueva política de cortafuegos con auto-learning activado usando New-AzFirewallPolicySnat y New-AzFirewallPolicy.
# Include AutoLearnPrivateRange to enable auto-learn $snat = New-AzFirewallPolicySnat -PrivateRange $privateRange -AutoLearnPrivateRange # Create the firewall policy with SNAT configuration $azureFirewallPolicy = New-AzFirewallPolicy -Name $azureFirewallPolicyName ` -ResourceGroupName $rgname ` -Location $location ` -Snat $snat # Verify the firewall policy Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgnameActualiza una política de cortafuegos existente con SNAT usando New-AzFirewallPolicySnat y Set-AzFirewallPolicy.
$snat = New-AzFirewallPolicySnat -PrivateRange $privateRange2 -AutoLearnPrivateRange # Update the firewall policy $azureFirewallPolicy.Snat = $snat Set-AzFirewallPolicy -InputObject $azureFirewallPolicy # Verify the update Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgnameVerifica los prefijos aprendidos usando Get-AzFirewallLearnedIpPrefix.
Get-AzFirewallLearnedIpPrefix -Name $azureFirewallName -ResourceGroupName $rgname
cortafuegos de vHub
Para despliegues de vHub, Azure Route Server ya está desplegado y asociado por defecto. Solo necesitas activar el autoaprendizaje en tu política de cortafuegos.
- CLI de Azure
- plantilla ARM
- Azure PowerShell
- Portal de Azure
En los siguientes ejemplos, sustituye los nombres de las variables ($azureFirewallName, $rgname, $location, etc.) por tus propios valores.
Crea una nueva política de cortafuegos con auto-learning activado usando New-AzFirewallPolicySnat y New-AzFirewallPolicy.
# Include AutoLearnPrivateRange to enable auto-learn $snat = New-AzFirewallPolicySnat -PrivateRange $privateRange -AutoLearnPrivateRange # Create the firewall policy with SNAT configuration $azureFirewallPolicy = New-AzFirewallPolicy -Name $azureFirewallPolicyName ` -ResourceGroupName $rgname ` -Location $location ` -Snat $snat # Verify the firewall policy Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgnameActualiza una política de cortafuegos existente con SNAT usando New-AzFirewallPolicySnat y Set-AzFirewallPolicy.
$snat = New-AzFirewallPolicySnat -PrivateRange $privateRange2 -AutoLearnPrivateRange # Update the firewall policy $azureFirewallPolicy.Snat = $snat Set-AzFirewallPolicy -InputObject $azureFirewallPolicy # Verify the update Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgnameConsigue el hub virtual usando Get-AzVirtualHub y la política de firewall usando Get-AzFirewallPolicy.
$Hub = Get-AzVirtualHub -ResourceGroupName $rgname -Name $virtualHubName $azureFirewallPolicy = Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgnameCrea una configuración de IP pública usando New-AzFirewallHubPublicIpAddress y New-AzFirewallHubIpAddress.
$azureFirewallPIPs = New-AzFirewallHubPublicIpAddress -Count 1 $azureFirewallHubIPs = New-AzFirewallHubIpAddress -PublicIP $azureFirewallPIPsCrea el firewall de vHub con la política de auto-aprendizaje usando New-AzFirewall.
$azureFirewall = New-AzFirewall -Name $azureFirewallName ` -ResourceGroupName $rgname ` -Location $location ` -VirtualHubId $Hub.Id ` -FirewallPolicyId $azureFirewallPolicy.Id ` -SkuName "AZFW_Hub" ` -HubIPAddress $azureFirewallHubIPs ` -SkuTier $FirewallTierVerifica los prefijos aprendidos usando Get-AzFirewallLearnedIpPrefix.
Get-AzFirewallLearnedIpPrefix -Name $azureFirewallName -ResourceGroupName $rgname