Intervalos de endereços IP privados SNAT do Firewall do Azure

O Firewall do Azure fornece o recurso SNAT para todo o tráfego de saída para endereços IP públicos. Por padrão, o Firewall do Azure não SNAT com regras de Rede quando o endereço IP de destino está em um intervalo de endereços IP privados por IANA RFC 1918 ou espaço de endereçamento compartilhado por IANA RFC 6598. As regras de aplicativo são sempre SNATed usando um proxy transparente, seja qual for o endereço IP de destino.

Esta lógica funciona bem quando encaminha o tráfego diretamente para a Internet. No entanto, há cenários em que você pode querer substituir o comportamento SNAT padrão.

  • Se você habilitou o túnel forçado, o tráfego vinculado à Internet é SNATed para um dos endereços IP privados do firewall no AzureFirewallSubnet, ocultando a origem do seu firewall local.
  • Se sua organização usa intervalos de endereços IP registrados fora da IANA RFC 1918 ou IANA RFC 6598 para redes privadas, o Firewall do Azure SNATs o tráfego para um dos endereços IP privados do firewall no AzureFirewallSubnet. No entanto, você pode configurar o Firewall do Azure para não SNAT seu intervalo de endereços IP públicos. Por exemplo, para especificar um endereço IP individual, você pode especificá-lo assim: 192.168.1.10. Para especificar um intervalo de endereços IP, você pode especificá-lo assim: 192.168.1.0/24.

O comportamento SNAT do Firewall do Azure pode ser alterado das seguintes maneiras:

  • Para configurar o Firewall do Azure para nunca tráfego SNAT processado por regras de rede, independentemente do endereço IP de destino, use 0.0.0.0/0 como seu intervalo de endereços IP privados. Com essa configuração, o Firewall do Azure nunca pode rotear o tráfego diretamente para a Internet.

  • Para configurar o firewall para sempre SNAT processado por regras de rede, independentemente do endereço de destino, use 255.255.255.255/32 como seu intervalo de endereços IP privados.

  • O Firewall do Azure pode ser configurado para aprender automaticamente intervalos registrados e privados a cada hora e usar as rotas aprendidas para SNAT. Esse recurso de visualização deve ter o Azure Route Server implantado na mesma VNet que o Firewall do Azure.

Importante

A configuração do intervalo de endereços privados só se aplica a regras de rede. Atualmente, as regras de aplicação sempre SNAT.

Importante

Se você quiser especificar seus próprios intervalos de endereços IP privados e manter os intervalos de endereços IANA RFC 1918 padrão, certifique-se de que sua lista personalizada ainda inclua o intervalo IANA RFC 1918.

Você pode configurar os endereços IP privados SNAT usando os seguintes métodos. Você deve configurar os endereços privados SNAT usando o método apropriado para sua configuração. Os firewalls associados a uma política de firewall devem especificar o intervalo na política e não usar AdditionalProperties.

Método Utilização de regras clássicas Usando a política de firewall
Portal do Azure suportado suportado
Azure PowerShell configurar PrivateRange atualmente sem suporte
CLI do Azure configurar --private-ranges atualmente sem suporte
Modelo ARM Configurar AdditionalProperties na propriedade Firewall configurar snat/privateRanges na política de firewall

Configurar intervalos de endereços IP privados SNAT - Azure PowerShell

Regras clássicas

Você pode usar o Azure PowerShell para especificar intervalos de endereços IP privados para o firewall.

Nota

A propriedade firewall PrivateRange é ignorada para firewalls associados a uma Diretiva de Firewall. Você deve usar a SNAT propriedade em, conforme descrito em firewallPolicies Configurar intervalos de endereços IP privados SNAT - modelo ARM.

Novo firewall

Para um novo firewall usando regras clássicas, o cmdlet do Azure PowerShell é:

$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

Implantar o Firewall do Azure usando New-AzFirewall requer uma VNet e um endereço IP público existentes. Consulte Implantar e configurar o Firewall do Azure usando o Azure PowerShell para obter um guia de implantação completo.

Nota

IANAPrivateRanges é expandido para os padrões atuais no Firewall do Azure enquanto os outros intervalos são adicionados a ele. Para manter o padrão IANAPrivateRanges em sua especificação de intervalo privado, ele deve permanecer em sua PrivateRange especificação, conforme mostrado nos exemplos a seguir.

Para obter mais informações, consulte New-AzFirewall.

Firewall existente

Para configurar um firewall existente usando regras clássicas, use os seguintes cmdlets do 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

Configurar intervalos de endereços IP privados SNAT - Azure CLI

Regras clássicas

Você pode usar a CLI do Azure para especificar intervalos de endereços IP privados para o firewall usando regras clássicas.

Novo firewall

Para um novo firewall usando regras clássicas, o comando da CLI do Azure é:

az network firewall create \
-n <fw-name> \
-g <resourcegroup-name> \
--private-ranges 192.168.1.0/24 192.168.1.10 IANAPrivateRanges

Nota

A implantação do Firewall do Azure usando o comando az network firewall create da CLI do Azure requer etapas de configuração adicionais para criar endereços IP públicos e configuração de IP. Consulte Implantar e configurar o Firewall do Azure usando a CLI do Azure para obter um guia de implantação completo.

Nota

IANAPrivateRanges é expandido para os padrões atuais no Firewall do Azure enquanto os outros intervalos são adicionados a ele. Para manter o padrão IANAPrivateRanges em sua especificação de intervalo privado, ele deve permanecer em sua private-ranges especificação, conforme mostrado nos exemplos a seguir.

Firewall existente

Para configurar um firewall existente usando regras clássicas, o comando da CLI do Azure é:

az network firewall update \
-n <fw-name> \
-g <resourcegroup-name> \
--private-ranges 192.168.1.0/24 192.168.1.10 IANAPrivateRanges

Configurar intervalos de endereços IP privados SNAT - modelo ARM

Regras clássicas

Para configurar o SNAT durante a implantação do additionalProperties Modelo ARM, você pode adicionar o seguinte à propriedade:

"additionalProperties": {
   "Network.SNAT.PrivateRanges": "IANAPrivateRanges , IPRange1, IPRange2"
},

Política de firewall

Os Firewalls do Azure associados a uma política de firewall dão suporte a intervalos privados SNAT desde a versão da API 2020-11-01. Atualmente, você pode usar um modelo para atualizar o intervalo privado SNAT na diretiva de firewall. O exemplo a seguir configura o firewall para sempre tráfego de rede 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]" 
                } 
            } 

Configurar intervalos de endereços IP privados SNAT - Portal do Azure

Regras clássicas

Você pode usar o portal do Azure para especificar intervalos de endereços IP privados para o firewall.

  1. Selecione o grupo de recursos e, em seguida, selecione o firewall.

  2. Na página Visão geral, Intervalos de IP privados, selecione o valor padrão IANA RFC 1918.

    A página Editar prefixos IP privados abre:

    Screenshot of edit private IP prefixes.

  3. Por padrão, IANAPrivateRanges é configurado.

  4. Edite os intervalos de endereços IP privados para o seu ambiente e, em seguida, selecione Guardar.

Política de firewall

  1. Selecione o grupo de recursos e, em seguida, selecione a política de firewall.

  2. Selecione Intervalos de IP privados (SNAT) na coluna Configurações .

  3. Selecione as condições para executar o SNAT para seu ambiente em Executar SNAT para personalizar a configuração do SNAT . Screenshot of Private IP ranges (SNAT).

  4. Selecione Aplicar.

Rotas SNAT de aprendizagem automática (visualização)

Você pode configurar o Firewall do Azure para aprender automaticamente intervalos registrados e privados a cada 30 minutos. Esses intervalos de endereços aprendidos são considerados internos à rede, portanto, o tráfego para destinos nos intervalos aprendidos não é SNATed. Os intervalos SNAT de aprendizagem automática exigem que o Azure Route Server seja implantado na mesma VNet que o Firewall do Azure. O firewall deve ser associado ao Servidor de Rotas do Azure e configurado para aprender automaticamente intervalos SNAT na Política de Firewall do Azure. Atualmente, você pode usar um modelo ARM, o Azure PowerShell ou o portal do Azure para configurar rotas SNAT de aprendizado automático.

Nota

As rotas SNAT de aprendizagem automática estão disponíveis apenas em implantações de VNet (rede virtual de hub). Ele não está disponível em implantações VWAN (hub virtual seguro). Para obter mais informações sobre as opções de arquitetura do Firewall do Azure, consulte Quais são as opções de arquitetura do Gerenciador de Firewall do Azure?

Configurar usando um modelo ARM

Você pode usar o JSON a seguir para configurar o aprendizado automático. O Firewall do Azure deve estar associado a um Servidor de Rotas do Azure.

	  "type": "Microsoft.Network/firewallPolicies",
         "apiVersion": "2022-11-01",
	"name": "[parameters('firewallPolicies_DatabasePolicy_name')]", 
            "location": "eastus", 
            "properties": { 
                "sku": { 
                    "tier": "Standard" 
                }, 
                "snat": { 
                     "autoLearnPrivateRanges": "Enabled"
                } 
            } 

Use o seguinte JSON para associar um Servidor de Rotas do Azure:

  "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')]"
    },
    ...
  }

Configurar usando o Azure PowerShell

  • Crie um novo firewall com um 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 
    
  • Atualizar um firewall existente com 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
    
    
  • Criar nova política de firewall com o parâmetro SNAT fornecido

    # 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 
    
    
  • Atualizar uma política de firewall existente com 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 
    
  • Obter prefixos aprendidos do Firewall

      Get-AzFirewallLearnedIpPrefix -Name $azureFirewallName -ResourceGroupName $rgname 
    

Configurar com o portal do Azure

Você pode usar o portal para associar um Servidor de Rotas ao Firewall do Azure para configurar rotas SNAT de aprendizado automático (visualização).

Use o portal para concluir as seguintes tarefas:

  • Adicione uma sub-rede chamada RouteServerSubnet à sua rede virtual de firewall existente. O tamanho da sub-rede deve ser pelo menos /27.
  • Implante um servidor de rotas na rede virtual de firewall existente. Para obter informações sobre o Servidor de Rotas do Azure, consulte Guia de início rápido: criar e configurar o Servidor de Rotas usando o portal do Azure.
  • Adicione o servidor de rotas na página Prefixos IP SNAT aprendidos do firewall (visualização). Screenshot showing firewall add a route server.
  • Modifique sua política de firewall para habilitar prefixos IP de aprendizagem automática (visualização) na seção Private IP ranges (SNAT). Screenshot showing firewall policy Private IP ranges (SNAT) settings.
  • Você pode ver as rotas aprendidas na página Prefixos IP SNAT aprendidos (visualização).

Próximos passos