Intervalos de endereços IP privados SNAT do Azure Firewall
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 firewallPolicies
, conforme descrito em 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.
Selecione o grupo de recursos e, em seguida, selecione o firewall.
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:
Por padrão, IANAPrivateRanges é configurado.
Edite os intervalos de endereços IP privados para o seu ambiente e, em seguida, selecione Guardar.
Política de firewall
Selecione o grupo de recursos e, em seguida, selecione a política de firewall.
Selecione Intervalos de IP privados (SNAT) na coluna Configurações .
Selecione as condições para executar o SNAT para seu ambiente em Executar SNAT para personalizar a configuração do SNAT.
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).
- Modifique sua política de firewall para habilitar prefixos IP de aprendizagem automática (visualização) na seção Private IP ranges (SNAT).
- Você pode ver as rotas aprendidas na página Prefixos IP SNAT aprendidos (visualização).
Próximos passos
- Saiba mais sobre o túnel forçado do Firewall do Azure.