Implemente um Azure Firewall com múltiplos endereços IP públicos utilizando o Azure PowerShell

Esse recurso permite os seguintes cenários:

  • DNAT - É possível traduzir várias instâncias de portas padrão para os seus servidores de backend. Por exemplo, se tiver dois endereços IP públicos, poderá converter a porta TCP 3389 (RDP) para ambos os endereços IP.
  • SNAT - Estão disponíveis portas adicionais para ligações SNAT de saída, reduzindo o potencial de esgotamento das portas SNAT. O Azure Firewall seleciona aleatoriamente o primeiro endereço IP público de origem a usar numa ligação e seleciona outro IP público depois de as portas do primeiro IP serem esgotadas. Se tiver alguma filtragem a jusante na rede, terá de permitir todos os endereços IP públicos associados à firewall.

Pode aceder ao Azure Firewall com múltiplos endereços IP públicos através do portal Azure, Azure PowerShell, CLI do Azure, REST e templates. Pode associar até 250 endereços IP públicos a um Azure Firewall implementado numa rede virtual. As regras de destino do DNAT também contam para o máximo de 250. Para um Azure Firewall implementado num hub virtual seguro (VHub), pode associar até 80 endereços IP públicos.

Importante

O Azure Firewall não suporta a atribuição de um Public IP Prefix. Deve associar endereços IP públicos Standard individuais ao firewall.

Nota

Adicionar múltiplos endereços IP públicos é a forma mais económica de escalar portas SNAT. Em cenários com elevado volume de tráfego e throughput, use antes um NAT Gateway para uma solução mais escalável. O NAT Gateway aloca dinamicamente portas SNAT entre todos os IPs públicos associados. Para mais informações, consulte Integrar NAT Gateway com Azure Firewall e a comparação de opções nas melhores práticas.

Os exemplos seguintes do Azure PowerShell mostram como pode configurar, adicionar e remover endereços IP públicos para o Azure Firewall.

Importante

Não pode remover a primeira configuração de IP da página de configuração de endereços IP públicos do Azure Firewall. Se quiseres modificar o endereço IP, usa o Azure PowerShell.

Crie um firewall com dois ou mais endereços IP públicos

Este exemplo cria uma firewall ligada à rede virtual myVirtualNetwork com dois endereços IP públicos. Use Get-AzVirtualNetwork para recuperar a rede virtual existente, New-AzPublicIpAddress para criar cada endereço IP público e New-AzFirewall para implementar o firewall com ambos os IPs.

$rgName = "resourceGroupName"

$vnet = Get-AzVirtualNetwork `
  -Name "myVirtualNetwork" `
  -ResourceGroupName $rgName

$pip1 = New-AzPublicIpAddress `
  -Name "AzFwPublicIp1" `
  -ResourceGroupName $rgName `
  -Sku "Standard" `
  -Location "centralus" `
  -AllocationMethod Static

$pip2 = New-AzPublicIpAddress `
  -Name "AzFwPublicIp2" `
  -ResourceGroupName $rgName `
  -Sku "Standard" `
  -Location "centralus" `
  -AllocationMethod Static

New-AzFirewall `
  -Name "azFw" `
  -ResourceGroupName $rgName `
  -Location centralus `
  -VirtualNetwork $vnet `
  -PublicIpAddress @($pip1, $pip2)

Adicionar um endereço IP público a um firewall existente

Neste exemplo, o endereço IP público azFwPublicIp1 está associado ao firewall. Use New-AzPublicIpAddress para criar o novo IP, Get-AzFirewall para recuperar o objeto de firewall existente e Set-AzFirewall para guardar a configuração atualizada.

$pip = New-AzPublicIpAddress `
  -Name "azFwPublicIp1" `
  -ResourceGroupName "rg" `
  -Sku "Standard" `
  -Location "centralus" `
  -AllocationMethod Static

$azFw = Get-AzFirewall `
  -Name "AzureFirewall" `
  -ResourceGroupName "rg"

$azFw.AddPublicIpAddress($pip)

$azFw | Set-AzFirewall

Remover um endereço IP público de um firewall existente

Neste exemplo, o endereço IP público azFwPublicIp1 está destacado do firewall. Use Get-AzPublicIpAddress para recuperar o IP existente, Get-AzFirewall para recuperar o objeto firewall e Set-AzFirewall para guardar a configuração atualizada.

$pip = Get-AzPublicIpAddress `
  -Name "azFwPublicIp1" `
  -ResourceGroupName "rg"

$azFw = Get-AzFirewall `
  -Name "AzureFirewall" `
  -ResourceGroupName "rg"

$azFw.RemovePublicIpAddress($pip)

$azFw | Set-AzFirewall

Próximos passos