Intervalos de direcciones IP privadas de SNAT de Azure Firewall
Azure Firewall proporciona capacidad SNAT para todo el tráfico saliente a las IP públicas. De forma predeterminada, Azure Firewall no aplica SNAT con reglas de red cuando la dirección IP de destino es un intervalo de direcciones IP privadas, de acuerdo con la normativa RFC 1918 de IANA o el espacio de direcciones compartidas según la normativa RFC 6598 de IANA. Las reglas de aplicación aplican SNAT siempre mediante un proxy transparente, independientemente de la dirección IP de destino.
Esta lógica funciona bien cuando se enruta el tráfico directamente a Internet. Pero hay escenarios en los que le interesará reemplazar el comportamiento SNAT predeterminado.
- Si ha se habilitado tunelización forzada, al tráfico enlazado a Internet se le aplica SNAT a una de las direcciones IP privadas del firewall en AzureFirewallSubnet, ocultando el origen del firewall local.
- Si su organización usa intervalos de direcciones IP registrados fuera de IANA RFC 1918 o IANA RFC 6598 para las redes privadas, Azure Firewall aplicará SNAT al tráfico para una de las direcciones IP privadas de firewall en AzureFirewallSubnet. Sin embargo, puede configurar Azure Firewall de modo que no aplique SNAT al intervalo de direcciones IP públicas. Por ejemplo, para especificar una dirección IP individual, puede especificarla de la siguiente manera:
192.168.1.10
. Para especificar un intervalo de direcciones IP, puede especificarlo de la siguiente manera:192.168.1.0/24
.
El comportamiento de SNAT de Azure Firewall se puede cambiar de las siguientes maneras:
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 nunca puede enrutar el tráfico directamente a Internet.
Para configurar el firewall en siempre aplicar SNAT procesado por las reglas de red, independientemente de la dirección IP de destino, use 255.255.255.255/32 como intervalo de direcciones IP privadas.
Azure Firewall se puede configurar para conocer automáticamente los intervalos registrados y privados cada hora y usar las rutas aprendidas para SNAT. Esta funcionalidad de versión preliminar debe tener Azure Route Server implementado en la misma red virtual que Azure Firewall.
Importante
La configuración del intervalo de direcciones privadas solo se aplicará a las reglas de red. Actualmente, las reglas de aplicación siempre son SNAT.
Importante
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.
Puede configurar las direcciones IP privadas de SNAT mediante los métodos siguientes. Debe configurar las direcciones privadas de SNAT mediante el método adecuado para la configuración. Los firewalls asociados a una directiva de firewall deben especificar el intervalo de la directiva y no usar AdditionalProperties
.
Método | Uso de reglas clásicas | Uso de directiva de firewall |
---|---|---|
Azure Portal | Se admite | Se admite |
Azure PowerShell | configurar PrivateRange |
No se admite actualmente |
Azure CLI | configurar --private-ranges |
No se admite actualmente |
Plantilla ARM | configurar AdditionalProperties en la propiedad del firewall |
configurar snat/privateRanges en la directiva del firewall |
Configuración de intervalos de direcciones IP privadas de SNAT: Azure PowerShell
Reglas clásicas
Puede usar Azure PowerShell a fin de 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. Debe usar la propiedad SNAT
de firewallPolicies
, tal y como se describe en Configuración de intervalos de direcciones IP privadas de SNAT: plantilla de ARM.
Nuevo firewall
En el caso de un nuevo firewall con reglas clásicas, el cmdlet de Azure PowerShell es:
$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 con New-AzFirewall
requiere que existan una red virtual y una dirección IP pública. Consulte Implementación y configuración de Azure Firewall mediante Azure PowerShell para obtener una guía completa.
Nota
IANAPrivateRanges se expande a los valores predeterminados actuales en Azure Firewall mientras que los demás intervalos se agregan a él. Para mantener el valor predeterminado de IANAPrivateRanges en su especificación de intervalo privado, debe permanecer en la especificación de PrivateRange
, tal como se muestra en los ejemplos siguientes.
Para más información, consulte New-AzFirewall.
Firewall existente
Para configurar un firewall existente con reglas clásicas, use los siguientes cmdlets de Azure PowerShell:
$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
Configuración de intervalos de direcciones IP privadas de SNAT: CLI de Azure
Reglas clásicas
Puede usar la CLI de Azure a fin de especificar intervalos de direcciones IP privadas para el firewall con reglas clásicas.
Nuevo firewall
En el caso de un nuevo firewall con reglas clásicas, el comando de la CLI de Azure es:
az network firewall create \
-n <fw-name> \
-g <resourcegroup-name> \
--private-ranges 192.168.1.0/24 192.168.1.10 IANAPrivateRanges
Nota
La implementación de Azure Firewall con el comando az network firewall create
de la CLI de Azure requiere pasos de configuración adicionales para crear direcciones IP públicas y la configuración de IP. Consulte Implementación y configuración de Azure Firewall mediante la CLI de Azure para obtener una guía completa.
Nota
IANAPrivateRanges se expande a los valores predeterminados actuales en Azure Firewall mientras que los demás intervalos se agregan a él. Para mantener el valor predeterminado de IANAPrivateRanges en su especificación de intervalo privado, debe permanecer en la especificación de private-ranges
, tal como se muestra en los ejemplos siguientes.
Firewall existente
Para configurar un firewall existente con reglas clásicas, el comando de la CLI de Azure es:
az network firewall update \
-n <fw-name> \
-g <resourcegroup-name> \
--private-ranges 192.168.1.0/24 192.168.1.10 IANAPrivateRanges
Configuración de intervalos de direcciones IP privadas de SNAT: plantilla de ARM
Reglas clásicas
Para configurar SNAT durante la implementación de la plantilla de ARM, puede agregar lo siguiente a la propiedad additionalProperties
:
"additionalProperties": {
"Network.SNAT.PrivateRanges": "IANAPrivateRanges , IPRange1, IPRange2"
},
Directiva de firewall
Las instancias de Azure Firewall asociadas a una directiva de firewall admiten intervalos privados de SNAT desde la versión de API 2020-11-01. Actualmente, puede usar una plantilla para actualizar el intervalo privado de SNAT en la directiva de firewall. En el ejemplo siguiente se configura el firewall para que siempre sea tráfico de red SNAT:
{
"type": "Microsoft.Network/firewallPolicies",
"apiVersion": "2020-11-01",
"name": "[parameters('firewallPolicies_DatabasePolicy_name')]",
"location": "eastus",
"properties": {
"sku": {
"tier": "Standard"
},
"snat": {
"privateRanges": "[255.255.255.255/32]"
}
}
Configuración de intervalos de direcciones IP privadas de SNAT: Azure Portal
Reglas clásicas
Puede usar Azure Portal a fin de especificar intervalos de direcciones IP privadas para el firewall.
Seleccione el grupo de recursos y, después, el firewall.
En la página Información general, Intervalos IP privados, seleccione el valor predeterminado IANA RFC 1918.
Se abre la página Editar prefijos IP privados:
De forma predeterminada, IANAPrivateRanges está configurado.
Edite los intervalos de direcciones IP privadas para su entorno y, después, seleccione Guardar.
Directiva de firewall
Seleccione el grupo de recursos y, después, la directiva de firewall.
Seleccione Intervalos de direcciones IP privadas (SNAT) en la columna Configuración.
Para personalizar la configuración de SNAT, en Realizar SNAT, seleccione las condiciones para realizar la traducción SNAT para su entorno.
Seleccione Aplicar.
Rutas SNAT de aprendizaje automático (versión preliminar)
Puede configurar Azure Firewall para que aprenda automáticamente los intervalos registrados y privados cada 30 minutos. Estos intervalos de direcciones aprendidos se consideran internos a la red, por lo que, no se aplica SNAT al tráfico dirigido a los destinos de los intervalos aprendidos. Los intervalos SNAT de aprendizaje automático requiere que Azure Route Server se implemente en la misma red virtual que Azure Firewall. El firewall debe estar asociado a Azure Route Server y configurarse para aprender automáticamente los intervalos SNAT de la directiva de Azure Firewall. Actualmente puede usar una plantilla de ARM, Azure PowerShell o Azure Portal para configurar rutas SNAT de aprendizaje automático.
Nota:
Las rutas SNAT de aprendizaje automático solo están disponibles en las implementaciones de red virtual (red virtual del centro). No está disponible en las implementaciones de VWAN (centro virtual protegido). 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?
Configuración mediante una plantilla de ARM
Puede usar el siguiente JSON para configurar el aprendizaje automático. Azure Firewall debe estar asociado a una instancia de Azure Route Server.
"type": "Microsoft.Network/firewallPolicies",
"apiVersion": "2022-11-01",
"name": "[parameters('firewallPolicies_DatabasePolicy_name')]",
"location": "eastus",
"properties": {
"sku": {
"tier": "Standard"
},
"snat": {
"autoLearnPrivateRanges": "Enabled"
}
}
Use el siguiente JSON para asociar una instancia de Azure Route Server:
"type": "Microsoft.Network/azureFirewalls",
"apiVersion": "2022-11-01",
"name": "[parameters('azureFirewalls_testFW_name')]",
"location": "eastus",
"properties": {
"sku": {
"name": "AZFW_VNet",
"tier": "Standard"
},
"threatIntelMode": "Alert",
"additionalProperties": {
"Network.RouteServerInfo.RouteServerID": "[parameters'virtualHubs_TestRouteServer_externalid')]"
},
...
}
Configuración mediante Azure PowerShell
Crear un firewall con un RouteServerId.
# specify RouteServerId Uri $routeServerId="/subscriptions/your_sub/resourceGroups/testRG/providers/Microsoft.Network/virtualHubs/TestRS" # Create AzureFirewall $azureFirewall = New-AzFirewall -Name $azureFirewallName -ResourceGroupName ` $rgname -Location $location -RouteServerId $routeServerId # Get firewall and confirm if RouteServerId is included on the response under additional properties (Network.RouteServerInfo.RouteServerID) Get-AzFirewall -Name $azureFirewallName -ResourceGroupName $rgname
Actualizar un firewall existente con RouteServerId
# specify RouteServerId Uri $routeServerId="/subscriptions/ your_sub /resourceGroups/testRG/providers/Microsoft.Network/virtualHubs/TestRS" # Get firewall $azFirewall = Get-AzFirewall -Name $azureFirewallName -ResourceGroupName $rgname # Update the response with RouteServerId and do firewall SET $azFirewall.RouteServerId = $routeServerId Set-AzFirewall -AzureFirewall $azFirewall # Do firewall Get and confirm if routeServerId is updated Get-AzFirewall -Name $azureFirewallName -ResourceGroupName $rgname
Crear una directiva de firewall con el parámetro SNAT proporcionado
# If AutoLearnPrivateRange parameter is provided, auto learn will be enabled, if not it will be disabled $snat = New-AzFirewallPolicySnat -PrivateRange $privateRange -AutoLearnPrivateRange # Create AzureFirewallPolicy (with SNAT) $azureFirewallPolicy = New-AzFirewallPolicy -Name $azureFirewallPolicyName ` -ResourceGroupName $rgname -Location $location -Snat $snat # Get AzureFirewallPolicy and verify Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgname
Actualizar una directiva de firewall existente con SNAT
$snat = New-AzFirewallPolicySnat -PrivateRange $privateRange2 # Set AzureFirewallPolicy $azureFirewallPolicy.Snat = $snat Set-AzFirewallPolicy -InputObject $azureFirewallPolicy # Do Get and Verify Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgname
Obtener prefijos aprendidos de firewall
Get-AzFirewallLearnedIpPrefix -Name $azureFirewallName -ResourceGroupName $rgname
Configurar mediante Azure Portal
Puede usar el portal para asociar una instancia de Route Server con Azure Firewall para configurar rutas SNAT de aprendizaje automático (versión preliminar).
Use el portal para completar las siguientes tareas:
- Agregue una subred denominada RouteServerSubnet al firewall VNet existente. El tamaño de la subred debe ser al menos /27.
- Implemente un servidor de rutas en el firewall VNet existente. Para obtener información sobre Azure Route Server, consulte Inicio rápido: Creación y configuración de Route Server mediante Azure Portal.
- Agregue el servidor de rutas en la página deprefijos de IP SNAT aprendidos del firewall (versión preliminar).
- Modifique la directiva de firewall para habilitar los prefijos IP de Aprendizaje automático (versión preliminar) en la sección Intervalos de direcciones IP privadas (SNAT).
- Puede ver las rutas aprendidas en la página Prefijos de IP de SNAT aprendidos (versión preliminar).
Pasos siguientes
- Obtener más información sobre Tunelización forzada de Azure Firewall.