Partilhar via


Azure Firewall SNAT private IP address ranges

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 realiza SNAT com regras de Rede quando o endereço IP de destino está em um intervalo de endereços IP privados, de acordo com IANA RFC 1918 ou espaço de endereçamento compartilhado, de acordo com IANA RFC 6598. Application rules are always SNATed using a transparent proxy regardless of the destination IP address.

Esse comportamento padrão é adequado ao rotear o tráfego diretamente para a Internet. No entanto, há cenários em que talvez seja necessário substituir o comportamento SNAT padrão:

  • If you've enabled forced tunneling, Internet-bound traffic is SNATed to one of the firewall's private IP addresses in AzureFirewallSubnet, hiding the source from your on-premises firewall.
  • Se a sua organização utilizar intervalos de endereços IP registados fora do IANA RFC 1918 ou IANA RFC 6598 para redes privadas, o Firewall do Azure realiza SNAT no tráfego para um dos endereços IP privados do firewall no AzureFirewallSubnet. Você pode configurar o Firewall do Azure para não realizar SNAT no intervalo de endereços IP públicos. Por exemplo, especifique um endereço IP individual como x.x.x.x ou um intervalo de endereços IP como x.x.x.x/24.

Você pode alterar o comportamento SNAT do Firewall do Azure das seguintes maneiras:

  • To configure Azure Firewall to never SNAT traffic processed by network rules regardless of the destination IP address, use 0.0.0.0/0 as your private IP address range. Com essa configuração, o Firewall do Azure não pode rotear o tráfego diretamente para a Internet.
  • To configure the firewall to always SNAT traffic processed by network rules regardless of the destination address, use 255.255.255.255/32 as your private IP address range.
  • O Firewall do Azure pode ser configurado para aprender automaticamente intervalos registrados e privados a cada hora e usar as rotas aprendidas para SNAT. Esta funcionalidade de pré-visualização requer o Azure Route Server implementado na mesma rede virtual que a Firewall do Azure.

Important

  • A configuração do intervalo de endereços privados só se aplica a regras de rede. Application rules always SNAT.
  • Se você quiser especificar seus próprios intervalos de endereços IP privados e manter os intervalos de endereços padrão IANA RFC 1918, 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. Use 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 Using firewall policy
Portal do Azure suportado suportado
Azure PowerShell configure PrivateRange atualmente sem suporte
Azure CLI configure --private-ranges atualmente sem suporte
Modelo ARM Configurar AdditionalProperties nas definições do 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 firewallPolicies , conforme descrito em Configurar intervalos de endereços IP privados SNAT - modelo ARM.

New firewall

Para um novo firewall usando regras clássicas, use o seguinte 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

  • A implantação do Firewall do Azure usando New-AzFirewall requer uma rede virtual existente e um endereço IP público. Consulte Implantar e configurar o Firewall do Azure usando o Azure PowerShell para obter um guia de implantação completo.
  • IANAPrivateRanges is expanded to the current defaults on Azure Firewall while the other ranges are added to it. Para manter o IANAPrivateRanges padrão em sua especificação de intervalo privado, ele deve permanecer em sua PrivateRange especificação, conforme mostrado no exemplo.

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.

New firewall

Para um novo firewall usando regras clássicas, use o seguinte 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

  • Implantar o 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.
  • IANAPrivateRanges is expanded to the current defaults on Azure Firewall while the other ranges are added to it. Para manter o IANAPrivateRanges padrão em sua especificação de intervalo privado, ele deve permanecer em sua private-ranges especificação, conforme mostrado no exemplo.

Firewall existente

Para configurar um firewall existente usando regras clássicas, use o seguinte 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 Modelo ARM, adicione o seguinte à propriedade additionalProperties:

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

Política de firewall

Azure Firewalls associated with a firewall policy supports SNAT private ranges since API version 2020-11-01. Você pode usar um modelo para atualizar o intervalo privado SNAT na Diretiva de firewall. O exemplo a seguir configura o firewall para sempre aplicar SNAT ao tráfego de rede.

{
   "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:

  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.
  4. Selecione Aplicar.

Auto-learn SNAT routes (preview)

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 rede virtual que o Firewall do Azure. O firewall deve ser associado ao Servidor de Rotas do Azure e configurado para aprender automaticamente os 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 rede virtual (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 pelo Firewall

    Get-AzFirewallLearnedIpPrefix -Name $azureFirewallName -ResourceGroupName $rgname 
    

Configurar com o portal do Azure

Para configurar rotas SNAT de aprendizagem automática (visualização) usando o portal do Azure, siga estas etapas:

  1. Adicione uma sub-rede:

    • Adicione uma sub-rede chamada RouteServerSubnet à sua rede virtual de firewall existente.
    • Verifique se o tamanho da sub-rede é pelo menos /27.
  2. Deploy a Route Server:

  3. Associate the Route Server:

    • On the firewall's Learned SNAT IP Prefixes (preview) page, add the route server.
  4. Modificar a política de firewall:

    • Habilite Aprendizagem automática de prefixos IP (pré-visualização) na secção Intervalos de IP privados (SNAT) da sua política de firewall.
  5. Veja as rotas aprendidas:

    • Check the learned routes on the Learned SNAT IP Prefixes (preview) page.

Próximos passos