Compartir por


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.

  1. Seleccione el grupo de recursos y, después, el firewall.

  2. 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:

    Screenshot of edit private IP prefixes.

  3. De forma predeterminada, IANAPrivateRanges está configurado.

  4. Edite los intervalos de direcciones IP privadas para su entorno y, después, seleccione Guardar.

Directiva de firewall

  1. Seleccione el grupo de recursos y, después, la directiva de firewall.

  2. Seleccione Intervalos de direcciones IP privadas (SNAT) en la columna Configuración.

  3. Para personalizar la configuración de SNAT, en Realizar SNAT, seleccione las condiciones para realizar la traducción SNAT para su entorno. Screenshot of Private IP ranges (SNAT).

  4. 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). Screenshot showing firewall add a route server.
  • 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). Screenshot showing firewall policy Private IP ranges (SNAT) settings.
  • Puede ver las rutas aprendidas en la página Prefijos de IP de SNAT aprendidos (versión preliminar).

Pasos siguientes