Privata IP-adressintervall för Azure Firewall SNAT
Azure Firewall tillhandahåller SNAT-funktioner för all utgående trafik till offentliga IP-adresser. Som standard är Azure Firewall 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 är alltid SNATed med en transparent proxy oavsett mål-IP-adress.
Den här logiken fungerar bra när du dirigerar trafik direkt till Internet. Det finns dock scenarier där du kanske vill åsidosätta standardbeteendet för SNAT.
- Om du har aktiverat tvingad tunneltrafik är Internetbunden trafik SNATed till en av brandväggens privata IP-adresser i AzureFirewallSubnet, vilket 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 dock konfigurera Azure Firewall till att inte SNAT ditt offentliga IP-adressintervall. Om du till exempel vill ange en enskild IP-adress kan du ange den så här:
192.168.1.10
. Om du vill ange ett intervall med IP-adresser kan du ange det så här:192.168.1.0/24
.
Azure Firewall SNAT-beteende kan ändras 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 målets IP-adress. Med den här konfigurationen kan Azure Firewall aldrig 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 som bearbetas av nätverksregler oavsett måladress.
Azure Firewall kan konfigureras för att automatiskt lära sig registrerade och privata intervall varje timme och använda de inlärda vägarna för SNAT. Den här förhandsgranskningsfunktionen måste ha Azure Route Server distribuerad i samma virtuella nätverk som Azure Firewall.
Viktigt!
Konfigurationen av det privata adressintervallet gäller endast för nätverksregler. För närvarande är programregler alltid SNAT.
Viktigt!
Om du vill ange dina egna privata IP-adressintervall och behålla standardadressintervallen för IANA RFC 1918 kontrollerar du att din anpassade lista fortfarande innehåller IANA RFC 1918-intervallet.
Du kan konfigurera de privata SNAT-IP-adresserna med hjälp av följande metoder. Du måste konfigurera de privata SNAT-adresserna med den metod som är lämplig för konfigurationen. Brandväggar som är associerade med en brandväggsprincip måste ange intervallet i principen och inte använda AdditionalProperties
.
Metod | Använda klassiska regler | Använda brandväggsprincip |
---|---|---|
Azure Portal | stöds | stöds |
Azure PowerShell | Konfigurera PrivateRange |
stöds för närvarande inte |
Azure CLI | Konfigurera --private-ranges |
stöds för närvarande inte |
ARM-mall | konfigurera AdditionalProperties i brandväggsegenskap |
konfigurera snat/privateRanges i brandväggsprincipen |
Konfigurera privata IP-adressintervall för SNAT – Azure PowerShell
Klassiska regler
Du kan använda Azure PowerShell för att ange privata IP-adressintervall för brandväggen.
Kommentar
Brandväggsegenskapen PrivateRange
ignoreras för brandväggar som är associerade med en brandväggsprincip. Du måste använda egenskapen i firewallPolicies
enligt beskrivningen SNAT
i Konfigurera privata IP-adressintervall för SNAT – ARM-mall.
Ny brandvägg
För en ny brandvägg med klassiska regler är Azure PowerShell-cmdleten:
$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
Kommentar
För att distribuera Azure Firewall med hjälp av New-AzFirewall
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 .
Kommentar
IANAPrivateRanges expanderas till de aktuella standardvärdena i Azure Firewall medan de andra intervallen läggs till i den. Om du vill behålla standardvärdet IANAPrivateRanges i din privata intervallspecifikation måste den finnas kvar i PrivateRange
specifikationen enligt följande exempel.
Mer information finns i New-AzFirewall.
Befintlig brandvägg
Om du vill konfigurera en befintlig brandvägg med klassiska regler använder du följande Azure PowerShell-cmdletar:
$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
Konfigurera privata IP-adressintervall för SNAT – Azure CLI
Klassiska regler
Du kan använda Azure CLI för att ange privata IP-adressintervall för brandväggen med hjälp av klassiska regler.
Ny brandvägg
För en ny brandvägg med klassiska regler är Azure CLI-kommandot:
az network firewall create \
-n <fw-name> \
-g <resourcegroup-name> \
--private-ranges 192.168.1.0/24 192.168.1.10 IANAPrivateRanges
Kommentar
För att distribuera Azure Firewall med azure CLI-kommandot az network firewall create
krävs ytterligare konfigurationssteg för att skapa offentliga IP-adresser och IP-konfiguration. En fullständig distributionsguide finns i Distribuera och konfigurera Azure Firewall med Azure CLI .
Kommentar
IANAPrivateRanges expanderas till de aktuella standardvärdena i Azure Firewall medan de andra intervallen läggs till i den. Om du vill behålla standardvärdet IANAPrivateRanges i din privata intervallspecifikation måste den finnas kvar i private-ranges
specifikationen enligt följande exempel.
Befintlig brandvägg
För att konfigurera en befintlig brandvägg med klassiska regler är Azure CLI-kommandot:
az network firewall update \
-n <fw-name> \
-g <resourcegroup-name> \
--private-ranges 192.168.1.0/24 192.168.1.10 IANAPrivateRanges
Konfigurera privata IP-adressintervall för SNAT – ARM-mall
Klassiska regler
Om du vill konfigurera SNAT under distributionen av ARM-mallen kan du lägga till följande i additionalProperties
egenskapen:
"additionalProperties": {
"Network.SNAT.PrivateRanges": "IANAPrivateRanges , IPRange1, IPRange2"
},
Brandväggsprincip
Azure Firewalls som är associerade med en brandväggsprincip har stöd för privata SNAT-intervall sedan API-versionen 2020-11-01. För närvarande kan du använda en mall för att uppdatera det privata SNAT-intervallet i brandväggsprincipen. Följande exempel konfigurerar brandväggen till alltid SNAT-nätverkstrafik:
{
"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]"
}
}
Konfigurera privata IP-adressintervall för SNAT – Azure-portalen
Klassiska regler
Du kan använda Azure-portalen för att ange privata IP-adressintervall för brandväggen.
Välj resursgruppen och välj sedan brandväggen.
På sidan Översikt , Privata IP-intervall, väljer du standardvärdet IANA RFC 1918.
Sidan Redigera privata IP-prefix öppnas:
Som standard konfigureras IANAPrivateRanges .
Redigera de privata IP-adressintervallen för din miljö och välj sedan Spara.
Brandväggsprincip
Välj resursgruppen och välj sedan brandväggsprincipen.
Välj Privata IP-intervall (SNAT) i kolumnen Inställningar.
Välj villkoren för att utföra SNAT för din miljö under Utför SNAT för att anpassa SNAT-konfigurationen.
Välj Använd.
Auto-learn SNAT-vägar (förhandsversion)
Du kan konfigurera Azure Firewall för att automatiskt lära dig både registrerade och privata intervall var 30:e minut. Dessa inlärda adressintervall anses vara interna för nätverket, så trafik till mål i de inlärda intervallen är inte SNATed. SNAT-intervall för automatisk inlärning kräver att Azure Route Server distribueras i samma virtuella nätverk som Azure Firewall. Brandväggen måste vara associerad med Azure Route Server och konfigureras för att automatiskt lära sig SNAT-intervall i Azure Firewall Policy. Du kan för närvarande använda en ARM-mall, Azure PowerShell eller Azure-portalen för att konfigurera SNAT-vägar för automatisk inlärning.
Kommentar
SNAT-vägar för automatisk inlärning kan endast användas i VNet-distributioner (virtuellt hubbnätverk). Det är inte tillgängligt för VWAN-distributioner (skyddad virtuell hubb). Mer information om arkitekturalternativ för Azure Firewall finns i Vad är arkitekturalternativen för Azure Firewall Manager?
Konfigurera med hjälp av en ARM-mall
Du kan använda följande JSON för att konfigurera automatisk inlärning. Azure Firewall måste associeras med en Azure Route Server.
"type": "Microsoft.Network/firewallPolicies",
"apiVersion": "2022-11-01",
"name": "[parameters('firewallPolicies_DatabasePolicy_name')]",
"location": "eastus",
"properties": {
"sku": {
"tier": "Standard"
},
"snat": {
"autoLearnPrivateRanges": "Enabled"
}
}
Använd följande JSON för att associera en Azure Route Server:
"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')]"
},
...
}
Konfigurera med Azure PowerShell
Skapa en ny brandvägg med ett 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
Uppdatera en befintlig brandvägg med 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
Skapa en ny brandväggsprincip med SNAT-parametern angivet
# 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
Uppdatera en befintlig brandväggsprincip med 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
Hämta inlärda brandväggsprefix
Get-AzFirewallLearnedIpPrefix -Name $azureFirewallName -ResourceGroupName $rgname
Konfigurera med hjälp av Azure-portalen
Du kan använda portalen för att associera en routningsserver med Azure Firewall för att konfigurera SNAT-vägar för automatisk inlärning (förhandsversion).
Använd portalen för att utföra följande uppgifter:
- Lägg till ett undernät med namnet RouteServerSubnet i ditt befintliga virtuella brandväggsnätverk. Storleken på undernätet ska vara minst /27.
- Distribuera en routningsserver till det befintliga virtuella brandväggsnätverket. Information om Azure Route Server finns i Snabbstart: Skapa och konfigurera routningsserver med hjälp av Azure-portalen.
- Lägg till routningsservern på sidan med inlärda SNAT IP-prefix (förhandsversion).
- Ändra brandväggsprincipen för att aktivera IP-prefix för automatisk inlärning (förhandsversion) i avsnittet Privata IP-intervall (SNAT).
- Du kan se de inlärda vägarna på sidan Inlärda SNAT IP-prefix (förhandsversion).
Nästa steg
- Läs mer om tvingad tunneltrafik i Azure Firewall.