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.

  1. Välj resursgruppen och välj sedan brandväggen.

  2. På sidan Översikt , Privata IP-intervall, väljer du standardvärdet IANA RFC 1918.

    Sidan Redigera privata IP-prefix öppnas:

    Screenshot of edit private IP prefixes.

  3. Som standard konfigureras IANAPrivateRanges .

  4. Redigera de privata IP-adressintervallen för din miljö och välj sedan Spara.

Brandväggsprincip

  1. Välj resursgruppen och välj sedan brandväggsprincipen.

  2. Välj Privata IP-intervall (SNAT) i kolumnen Inställningar.

  3. Välj villkoren för att utföra SNAT för din miljö under Utför SNAT för att anpassa SNAT-konfigurationen. Screenshot of Private IP ranges (SNAT).

  4. 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). Screenshot showing firewall add a route server.
  • Ändra brandväggsprincipen för att aktivera IP-prefix för automatisk inlärning (förhandsversion) i avsnittet Privata IP-intervall (SNAT). Screenshot showing firewall policy Private IP ranges (SNAT) settings.
  • Du kan se de inlärda vägarna på sidan Inlärda SNAT IP-prefix (förhandsversion).

Nästa steg