Distribuera en Azure Firewall med flera offentliga IP-adresser med hjälp av Azure PowerShell

Den här funktionen aktiverar följande scenarier:

  • DNAT – Du kan översätta flera standardportinstanser till dina serverdelsservrar. Om du till exempel har två offentliga IP-adresser kan du översätta TCP-port 3389 (RDP) för båda IP-adresserna.
  • SNAT – Ytterligare portar är tillgängliga för utgående SNAT-anslutningar, vilket minskar risken för SNAT-portöverbelastning. Azure Firewall väljer slumpmässigt den första offentliga KÄLL-IP-adressen som ska användas för en anslutning och väljer en annan offentlig IP-adress när portarna från den första IP-adressen har förbrukats. Om du har filtrering nedströms i nätverket måste du tillåta alla offentliga IP-adresser som är associerade med brandväggen. Överväg att använda ett offentligt IP-adressprefix för att förenkla den här konfigurationen.

Du kan komma åt Azure Firewall med flera offentliga IP-adresser via Azure-portalen, Azure PowerShell, Azure CLI, REST och mallar. Du kan distribuera en Azure Firewall i ett virtuellt navnätverk med upp till 250 offentliga IP-adresser. Men DNAT-målregler räknas också mot den maximala gränsen på 250. Gränsen för en Azure Firewall i en VHUB-distribution med Bring your own Public IP är 250 adresser och för klassisk VHUB-distribution är det 80 offentliga IP-adresser.

Kommentar

I scenarier med hög trafikvolym och dataflöde använder du en NAT Gateway för att tillhandahålla utgående anslutning. NAT Gateway allokerar SNAT-portar dynamiskt över alla offentliga IP-adresser som är associerade med den. Mer information finns i integrera NAT Gateway med Azure Firewall.

Följande Azure PowerShell-exempel visar hur du kan konfigurera, lägga till och ta bort offentliga IP-adresser för Azure Firewall.

Viktigt!

Du kan inte ta bort den första IP-konfigurationen från konfigurationssidan för offentliga IP-adresser i Azure Firewall. Om du vill ändra IP-adressen använder du Azure PowerShell.

Skapa en brandvägg med två eller flera offentliga IP-adresser

I det här exemplet skapas en brandvägg som är kopplad till det virtuella nätverket myVirtualNetwork med två offentliga IP-adresser. Använd Get-AzVirtualNetwork för att hämta det befintliga virtuella nätverket New-AzPublicIpAddress för att skapa varje offentlig IP-adress och New-AzFirewall för att distribuera brandväggen med båda IP-adresserna.

$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)

Lägga till en offentlig IP-adress i en befintlig brandvägg

I det här exemplet är den offentliga IP-adressen azFwPublicIp1 kopplad till brandväggen. Använd New-AzPublicIpAddress för att skapa den nya IP-adressen, Get-AzFirewall för att hämta det befintliga brandväggsobjektet och Set-AzFirewall för att spara den uppdaterade konfigurationen.

$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

Ta bort en offentlig IP-adress från en befintlig brandvägg

I det här exemplet kopplas den offentliga IP-adressen azFwPublicIp1 bort från brandväggen. Använd Get-AzPublicIpAddress för att hämta den befintliga IP-adressen, Get-AzFirewall för att hämta brandväggsobjektet och Set-AzFirewall för att spara den uppdaterade konfigurationen.

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

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

$azFw.RemovePublicIpAddress($pip)

$azFw | Set-AzFirewall

Nästa steg