使用 Azure PowerShell 部署具有多個公用 IP 位址的 Azure 防火牆
這功能可啟用下列案例:
- DNAT - 您可以將多個標準連接埠執行個體轉譯到後端伺服器。 例如,如果您有兩個公用 IP 位址,您可以為這兩個 IP 位址轉譯 TCP 通訊埠 3389 (RDP)。
- SNAT - 其他連接埠可用於輸出 SNAT 連線,降低 SNAT 連接埠耗盡的可能性。 Azure 防火牆會隨機選取來源公用 IP 位址以用於連線。 如果您的網路上有任何下游篩選,則您必須允許與防火牆相關聯的所有公用 IP 位址。 請考慮使用公用 IP 位址首碼來簡化此設定。
您可以透過 Azure 入口網站、Azure PowerShell、Azure CLI、REST 和範本使用具有多個公用 IP 位址的 Azure 防火牆。
您可以部署最多 250 個公用 IP 位址的 Azure 防火牆,但 DNAT 目的地規則也會計入 250 最大值。
公用 IP + DNAT 目的地規則 = 250 最大值。
下列 Azure PowerShell 範例示範如何設定、新增和移除 Azure 防火牆的公用 IP 位址。
注意
您無法從 Azure 防火牆公用 IP 位址設定頁面移除第一個 ipConfiguration。 如果您想要修改 IP 位址,可以使用 Azure PowerShell。
建立具有兩個以上公用 IP 位址的防火牆
此範例會建立連結至虛擬網路 vnet 的防火牆,且此防火牆具有兩個公用 IP 位址。
$rgName = "resourceGroupName"
$vnet = Get-AzVirtualNetwork `
-Name "vnet" `
-ResourceGroupName $rgName
$pip1 = New-AzPublicIpAddress `
-Name "AzFwPublicIp1" `
-ResourceGroupName "rg" `
-Sku "Standard" `
-Location "centralus" `
-AllocationMethod Static
$pip2 = New-AzPublicIpAddress `
-Name "AzFwPublicIp2" `
-ResourceGroupName "rg" `
-Sku "Standard" `
-Location "centralus" `
-AllocationMethod Static
New-AzFirewall `
-Name "azFw" `
-ResourceGroupName $rgName `
-Location centralus `
-VirtualNetwork $vnet `
-PublicIpAddress @($pip1, $pip2)
新增公用 IP 位址至現有防火牆
在此範例中,公用 IP 位址 azFwPublicIp1 會附加至防火牆。
$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
從現有防火牆移除公用 IP 位址
在此範例中,公用 IP 位址 azFwPublicIp1 會與防火牆中斷連結。
$pip = Get-AzPublicIpAddress `
-Name "azFwPublicIp1" `
-ResourceGroupName "rg"
$azFw = Get-AzFirewall `
-Name "AzureFirewall" `
-ResourceGroupName "rg"
$azFw.RemovePublicIpAddress($pip)
$azFw | Set-AzFirewall