Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Firewall tillhandahåller SNAT-funktioner för all utgående trafik till offentliga IP-adresser. Azure Firewall använder som standard inte SNAT med nätverksregler när mål-IP-adressen är i ett privat IP-adressintervall per IANA RFC 1918 eller delat adressutrymme per IANA RFC 6598. Programregler använder alltid SNAT via en transparent proxy oavsett målets IP-adress.
Det här standardbeteendet är lämpligt när du dirigerar trafik direkt till Internet. Det finns dock scenarier där du kan behöva åsidosätta standardbeteendet för SNAT:
- Om du aktiverar tvingad tunneltrafik använder Azure Firewall SNAT internetbunden trafik till en av brandväggens privata IP-adresser i AzureFirewallSubnet och döljer källan från din lokala brandvägg.
- Om din organisation använder registrerade IP-adressintervall utanför IANA RFC 1918 eller IANA RFC 6598 för privata nätverk, tar Azure Firewall SNAT trafiken till en av brandväggens privata IP-adresser i AzureFirewallSubnet. Du kan konfigurera Azure Firewall så att den inte SNAT:ar ditt offentliga IP-adressintervall. Ange till exempel en enskild IP-adress som
x.x.x.xeller ett intervall med IP-adresser somx.x.x.x/24.
Du kan ändra SNAT-beteendet för Azure Firewall på följande sätt:
- Använd 0.0.0.0/0 som ditt privata IP-adressintervall för att konfigurera Azure Firewall att aldrig SNAT-trafik som bearbetas av nätverksregler, oavsett destinationens IP-adress. Med den här konfigurationen kan Azure Firewall inte dirigera trafik direkt till Internet.
- Använd 255.255.255.255.255.255.255/32 som ditt privata IP-adressintervall för att konfigurera brandväggen till alltid SNAT-trafik som bearbetas av nätverksregler oavsett måladress.
- För att konfigurera Azure Firewall så att den automatiskt lär sig registrerade och privata IP-adressintervall med jämna mellanrum, aktivera auto-lärande SNAT-rutter. Inlärda adressområden behandlas som interna och trafik som är avsedd för dessa intervall är inte SNAT:ad.
Viktigt!
- Konfigurationen av det privata adressintervallet gäller endast för nätverksregler. Programregler använder alltid SNAT.
- Om du vill ange egna privata IP-adressintervall och behålla de förvalda IANA RFC 1918-adressintervallen, se till att din anpassade lista fortfarande inkluderar IANA RFC 1918-intervallen.
Följande tabell visar de stödda konfigurationsmetoderna. Brandväggar som är associerade med en brandväggsprincip måste ange intervallet i principen och inte använda AdditionalProperties.
| Metod | Klassiska regler | Brandväggsprincip |
|---|---|---|
| Azure PowerShell | Supported | Stöds ej |
| Azure CLI | Supported | Stöds ej |
| ARM template | Supported | Supported |
| Azure Portal | Supported | Supported |
Konfigurera privata IP-adressintervall för SNAT
Välj din konfigurationsmetod. Azure PowerShell och Azure CLI stöder endast klassiska regler. För att konfigurera SNAT-intervall med en brandväggspolicy, använd en ARM-mall eller Azure-portalen.
Använd Azure PowerShell för att ange privata IP-adressintervall för brandväggen.
Note
Brandväggsegenskapen PrivateRange ignoreras för brandväggar som är associerade med en brandväggsprincip. Du måste använda egenskapen SNAT i firewallPolicies enligt beskrivningen på fliken ARM-mallen .
Ny brandvägg
För en ny brandvägg som använder klassiska regler, skapa brandväggen genom att använda New-AzFirewall:
$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
Note
- För att distribuera Azure Firewall med hjälp
New-AzFirewallav krävs ett befintligt virtuellt nätverk och en offentlig IP-adress. En fullständig distributionsguide finns i Distribuera och konfigurera Azure Firewall med Azure PowerShell. -
IANAPrivateRangesexpanderar till de aktuella standardvärdena i Azure Firewall medan de andra intervallen läggs till i den. Om du vill behållaIANAPrivateRangesstandardvärdet i din privata intervallspecifikation måste den finnas kvar i dinPrivateRangespecifikation enligt exemplet.
Befintlig brandvägg
För att konfigurera en befintlig brandvägg som använder klassiska regler, hämta brandväggen genom att använda Get-AzFirewall och uppdatera den med Set-AzFirewall:
$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
Automatiskt lär dig SNAT-rutter
Du kan konfigurera Azure Firewall så att den automatiskt lär sig både registrerade och privata intervall var 30:e minut. Dessa inlärda adressintervall är interna för nätverket, så trafik till mål i inlärda intervall är inte SNATed. Både virtuella nätverksutplaceringar (VNet) och säkra virtuella hubvar (vHub) stödjer automatiskt lärande SNAT-rutter.
Note
- Auto-learn SNAT kräver att Azure Firewall är kopplat till Azure Route Server.
- För VNet-distributioner måste du distribuera Azure Route Server i samma virtuella nätverk som Azure Firewall.
- För vHub-distributioner är Azure Route Server redan distribuerad och associerad som standard.
- För båda distributionsmodellerna måste du aktivera auto-learn SNAT i Azure Firewall Policy efter att kopplingen är klar.
- Mer information om arkitekturalternativ för Azure Firewall finns i Vad är arkitekturalternativen för Azure Firewall Manager?
VNet-brandvägg
För VNet-distributioner behöver du distribuera och associera Azure Route Server innan du aktiverar auto-lärande SNAT-rutter.
Förutsättningar:
- Ett subnät med namnet RouteServerSubnet i ditt virtuella brandväggsnätverk med en storlek på minst /27.
- Azure Route Server distribuerades i samma virtuella nätverk som din brandvägg. Information om driftsättningsstegen finns i Snabbstart: Skapa och konfigurera Route Server med hjälp av Azure-portalen.
I följande exempel, ersätt variabelnamnen ($azureFirewallName, $rgname, $location, osv.) med dina egna värden.
Skapa en ny brandvägg med ett Route Server-ID genom att använda New-AzFirewall.
# Specify the Route Server resource ID $routeServerId="/subscriptions/your_sub/resourceGroups/testRG/providers/Microsoft.Network/virtualHubs/TestRS" # Create the firewall $azureFirewall = New-AzFirewall -Name $azureFirewallName ` -ResourceGroupName $rgname ` -Location $location ` -RouteServerId $routeServerId # Verify the Route Server ID is set Get-AzFirewall -Name $azureFirewallName -ResourceGroupName $rgnameKoppla en Route Server till en befintlig brandvägg genom att använda Get-AzFirewall och Set-AzFirewall.
# Specify the Route Server resource ID $routeServerId="/subscriptions/your_sub/resourceGroups/testRG/providers/Microsoft.Network/virtualHubs/TestRS" # Get the firewall $azFirewall = Get-AzFirewall -Name $azureFirewallName -ResourceGroupName $rgname # Associate the Route Server and update the firewall $azFirewall.RouteServerId = $routeServerId Set-AzFirewall -AzureFirewall $azFirewall # Verify the Route Server ID is updated Get-AzFirewall -Name $azureFirewallName -ResourceGroupName $rgnameSkapa en ny brandväggspolicy med auto-learn aktiverad genom att använda New-AzFirewallPolicySnat och New-AzFirewallPolicy.
# Include AutoLearnPrivateRange to enable auto-learn $snat = New-AzFirewallPolicySnat -PrivateRange $privateRange -AutoLearnPrivateRange # Create the firewall policy with SNAT configuration $azureFirewallPolicy = New-AzFirewallPolicy -Name $azureFirewallPolicyName ` -ResourceGroupName $rgname ` -Location $location ` -Snat $snat # Verify the firewall policy Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgnameUppdatera en befintlig brandväggspolicy med SNAT genom att använda New-AzFirewallPolicySnat och Set-AzFirewallPolicy.
$snat = New-AzFirewallPolicySnat -PrivateRange $privateRange2 -AutoLearnPrivateRange # Update the firewall policy $azureFirewallPolicy.Snat = $snat Set-AzFirewallPolicy -InputObject $azureFirewallPolicy # Verify the update Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgnameVerifiera de inlärda prefixen genom att använda Get-AzFirewallLearnedIpPrefix.
Get-AzFirewallLearnedIpPrefix -Name $azureFirewallName -ResourceGroupName $rgname
vHub-brandväggen
För vHub-distributioner är Azure Route Server redan distribuerad och associerad som standard. Du behöver bara aktivera auto-learn i din brandväggspolicy.
I följande exempel, ersätt variabelnamnen ($azureFirewallName, $rgname, $location, osv.) med dina egna värden.
Skapa en ny brandväggspolicy med auto-learn aktiverad genom att använda New-AzFirewallPolicySnat och New-AzFirewallPolicy.
# Include AutoLearnPrivateRange to enable auto-learn $snat = New-AzFirewallPolicySnat -PrivateRange $privateRange -AutoLearnPrivateRange # Create the firewall policy with SNAT configuration $azureFirewallPolicy = New-AzFirewallPolicy -Name $azureFirewallPolicyName ` -ResourceGroupName $rgname ` -Location $location ` -Snat $snat # Verify the firewall policy Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgnameUppdatera en befintlig brandväggspolicy med SNAT genom att använda New-AzFirewallPolicySnat och Set-AzFirewallPolicy.
$snat = New-AzFirewallPolicySnat -PrivateRange $privateRange2 -AutoLearnPrivateRange # Update the firewall policy $azureFirewallPolicy.Snat = $snat Set-AzFirewallPolicy -InputObject $azureFirewallPolicy # Verify the update Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgnameHämta den virtuella hubben genom att använda Get-AzVirtualHub och brandväggspolicyn genom att använda Get-AzFirewallPolicy.
$Hub = Get-AzVirtualHub -ResourceGroupName $rgname -Name $virtualHubName $azureFirewallPolicy = Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgnameSkapa en publik IP-konfiguration genom att använda New-AzFirewallHubPublicIpAddress och New-AzFirewallHubHubIpAddress.
$azureFirewallPIPs = New-AzFirewallHubPublicIpAddress -Count 1 $azureFirewallHubIPs = New-AzFirewallHubIpAddress -PublicIP $azureFirewallPIPsSkapa vHub-brandväggen med auto-learn-policyn genom att använda New-AzFirewall.
$azureFirewall = New-AzFirewall -Name $azureFirewallName ` -ResourceGroupName $rgname ` -Location $location ` -VirtualHubId $Hub.Id ` -FirewallPolicyId $azureFirewallPolicy.Id ` -SkuName "AZFW_Hub" ` -HubIPAddress $azureFirewallHubIPs ` -SkuTier $FirewallTierVerifiera de inlärda prefixen genom att använda Get-AzFirewallLearnedIpPrefix.
Get-AzFirewallLearnedIpPrefix -Name $azureFirewallName -ResourceGroupName $rgname