Delen via


Azure Firewall SNAT voor privé-IP-adresreeksen

Azure Firewall biedt SNAT-mogelijkheden voor al het uitgaande verkeer naar openbare IP-adressen. Azure Firewall gebruikt standaard geen SNAT met netwerkregels wanneer het doel-IP-adres zich in een privé-IP-adresbereik bevindt per IANA RFC 1918 of gedeelde adresruimte per IANA RFC 6598. Toepassingsregels worden altijd SNATed met een transparante proxy, ongeacht het doel-IP-adres.

Dit standaardgedrag is geschikt wanneer verkeer rechtstreeks naar internet wordt gerouteerd. Er zijn echter scenario's waarin u mogelijk het standaardgedrag van SNAT moet overschrijven:

  • Als u geforceerde tunneling hebt ingeschakeld, wordt internetverkeer via SNATed naar een van de privé-IP-adressen van de firewall in AzureFirewallSubnet, waardoor de bron van uw on-premises firewall wordt verborgen.
  • Als uw organisatie geregistreerde IP-adresbereiken buiten IANA RFC 1918 of IANA RFC 6598 gebruikt voor privénetwerken, maakt Azure Firewall SNATs het verkeer naar een van de privé-IP-adressen van de firewall in AzureFirewallSubnet. U kunt Azure Firewall configureren om SNAT niet in te schakelen voor uw openbare IP-adresbereik. Geef bijvoorbeeld een afzonderlijk IP-adres op als x.x.x.x of een bereik van IP-adressen als x.x.x.x/24.

U kunt het SNAT-gedrag van Azure Firewall op de volgende manieren wijzigen:

  • Gebruik 0.0.0.0/0 als uw bereik voor privé-IP-adressen om Azure Firewall zodanig te configureren dat SNAT-verkeer nooit wordt verwerkt door netwerkregels, ongeacht het doel-IP-adres. Met deze configuratie kan Azure Firewall verkeer niet rechtstreeks naar internet routeren.
  • Gebruik 255.255.255.255.255.255/32 als uw privé-IP-adresbereik om de firewall zo te configureren dat altijd SNAT-verkeer wordt verwerkt door netwerkregels, ongeacht het doeladresbereik.
  • Azure Firewall kan elk uur worden geconfigureerd om geregistreerde en privébereiken automatisch te leren en de geleerde routes voor SNAT te gebruiken. Voor deze preview-functie is Azure Route Server vereist die is geïmplementeerd in hetzelfde virtuele netwerk als de Azure Firewall.

Belangrijk

  • De configuratie van het privéadresbereik is alleen van toepassing op netwerkregels. Toepassingsregels zijn altijd SNAT.
  • Als u uw eigen privé-IP-adresbereiken wilt opgeven en de standaardadresbereiken van IANA RFC 1918 wilt behouden, moet u ervoor zorgen dat uw aangepaste lijst nog steeds het bereik IANA RFC 1918 bevat.

U kunt de privé-IP-adressen van SNAT configureren met behulp van de volgende methoden. Gebruik de methode die geschikt is voor uw configuratie. Firewalls die zijn gekoppeld aan een firewallbeleid, moeten het bereik in het beleid opgeven en niet gebruiken AdditionalProperties.

Wijze Klassieke regels gebruiken Firewallbeleid gebruiken
Azure Portal ondersteund ondersteund
Azure PowerShell Configureren PrivateRange momenteel niet ondersteund
Azure-CLI Configureren --private-ranges momenteel niet ondersteund
ARM-sjabloon configureren AdditionalProperties in firewalleigenschap Configureer snat/privateRanges in firewallbeleid

Privé-IP-adresbereiken voor SNAT configureren - Azure PowerShell

Klassieke regels

U kunt Azure PowerShell gebruiken om privé-IP-adresbereiken voor de firewall op te geven.

Notitie

De firewalleigenschap PrivateRange wordt genegeerd voor firewalls die zijn gekoppeld aan een firewallbeleid. U moet de SNAT eigenschap gebruiken zoals firewallPolicies beschreven in SNAT-privé-IP-adresbereiken configureren - ARM-sjabloon.

Nieuwe firewall

Gebruik de volgende Azure PowerShell-cmdlet voor een nieuwe firewall met klassieke regels:

$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

Notitie

  • Voor het implementeren van Azure Firewall met behulp van New-AzFirewall een bestaand virtueel netwerk en een openbaar IP-adres is vereist. Zie Azure Firewall implementeren en configureren met behulp van Azure PowerShell voor een volledige implementatiehandleiding.
  • IANAPrivateRanges wordt uitgebreid naar de huidige standaardwaarden in Azure Firewall, terwijl de andere bereiken eraan worden toegevoegd. Als u de IANAPrivateRanges standaardspecificatie van uw privébereik wilt behouden, moet deze in uw PrivateRange specificatie blijven, zoals wordt weergegeven in het voorbeeld.

Zie New-AzFirewall voor meer informatie.

Bestaande firewall

Als u een bestaande firewall wilt configureren met behulp van klassieke regels, gebruikt u de volgende Azure PowerShell-cmdlets:

$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

Privé-IP-adresbereiken van SNAT configureren - Azure CLI

Klassieke regels

U kunt Azure CLI gebruiken om privé-IP-adresbereiken voor de firewall op te geven met behulp van klassieke regels.

Nieuwe firewall

Gebruik de volgende Azure CLI-opdracht voor een nieuwe firewall met behulp van klassieke regels:

az network firewall create \
-n <fw-name> \
-g <resourcegroup-name> \
--private-ranges 192.168.1.0/24 192.168.1.10 IANAPrivateRanges

Notitie

  • Voor het implementeren van Azure Firewall met behulp van de Azure CLI-opdracht az network firewall create zijn extra configuratiestappen vereist om openbare IP-adressen en IP-configuratie te maken. Zie Azure Firewall implementeren en configureren met behulp van Azure CLI voor een volledige implementatiehandleiding.
  • IANAPrivateRanges wordt uitgebreid naar de huidige standaardwaarden in Azure Firewall, terwijl de andere bereiken eraan worden toegevoegd. Als u de IANAPrivateRanges standaardspecificatie van uw privébereik wilt behouden, moet deze in uw private-ranges specificatie blijven, zoals wordt weergegeven in het voorbeeld.

Bestaande firewall

Als u een bestaande firewall wilt configureren met behulp van klassieke regels, gebruikt u de volgende Azure CLI-opdracht:

az network firewall update \
-n <fw-name> \
-g <resourcegroup-name> \
--private-ranges 192.168.1.0/24 192.168.1.10 IANAPrivateRanges

Privé-IP-adresbereiken voor SNAT configureren - ARM-sjabloon

Klassieke regels

Als u SNAT wilt configureren tijdens de implementatie van ARM-sjablonen, voegt u het volgende toe aan de additionalProperties eigenschap:

"additionalProperties": {
   "Network.SNAT.PrivateRanges": "IANAPrivateRanges, IPRange1, IPRange2"
},

Firewallbeleid

Azure Firewalls die zijn gekoppeld aan een firewallbeleid ondersteunen SNAT-privébereiken sinds API-versie 2020-11-01. U kunt een sjabloon gebruiken om het privébereik van SNAT bij te werken in het firewallbeleid. In het volgende voorbeeld wordt de firewall geconfigureerd voor altijd SNAT-netwerkverkeer:

{
   "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]"
      }
   }
}

Privé-IP-adresbereiken van SNAT configureren - Azure Portal

Klassieke regels

U kunt Azure Portal gebruiken om privé-IP-adresbereiken voor de firewall op te geven.

  1. Selecteer uw resourcegroep en selecteer vervolgens uw firewall.

  2. Selecteer op de overzichtspagina Privé-IP-bereiken de standaardwaarde IANA RFC 1918.

    De pagina Persoonlijke IP-voorvoegsels bewerken wordt geopend:

  3. IANAPrivateRanges is standaard geconfigureerd.

  4. Bewerk de privé-IP-adresbereiken voor uw omgeving en selecteer Opslaan.

Firewallbeleid

  1. Selecteer uw resourcegroep en selecteer vervolgens uw firewallbeleid.
  2. Selecteer Privé-IP-bereiken (SNAT) in de kolom Instellingen .
  3. Selecteer de voorwaarden voor het uitvoeren van SNAT voor uw omgeving onder SNAT uitvoeren om de SNAT-configuratie aan te passen.
  4. Klik op Toepassen.

SNAT-routes automatisch leren (preview)

U kunt Azure Firewall zo configureren dat het zowel geregistreerde als privébereiken elke 30 minuten automatisch leert. Deze geleerde adresbereiken worden als intern voor het netwerk beschouwd, dus verkeer naar bestemmingen in de geleerde bereiken wordt niet via SNAT verwerkt. Voor automatisch leren van SNAT-bereiken moet Azure Route Server worden geïmplementeerd in hetzelfde virtuele netwerk als de Azure Firewall. De firewall moet zijn gekoppeld aan de Azure Route Server en zijn geconfigureerd om SNAT-bereiken automatisch te leren in het Azure Firewall-beleid. U kunt momenteel een ARM-sjabloon, Azure PowerShell of Azure Portal gebruiken om SNAT-routes automatisch te leren configureren.

Notitie

SNAT-routes voor automatisch leren zijn alleen beschikbaar voor implementaties van virtuele netwerken (virtueel hubnetwerk). Het is niet beschikbaar op VWAN-implementaties (beveiligde virtuele hub). Zie Wat zijn de architectuuropties van Azure Firewall Manager voor meer informatie over opties voor Azure Firewall-architectuur?

Configureren met behulp van een ARM-sjabloon

U kunt de volgende JSON gebruiken om autolearn te configureren. Azure Firewall moet zijn gekoppeld aan een 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"
      }
   }
}

Gebruik de volgende JSON om een Azure Route Server te koppelen:

{
   "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')]"
      }
   }
}

Configureren met Behulp van Azure PowerShell

  • Maak een nieuwe firewall met een 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 
    
  • Een bestaande firewall bijwerken met 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
    
  • Nieuw firewallbeleid maken met de opgegeven SNAT-parameter

    # 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 
    
  • Een bestaand firewallbeleid bijwerken met 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 
    
  • Firewall-geleerde voorvoegsels ophalen

    Get-AzFirewallLearnedIpPrefix -Name $azureFirewallName -ResourceGroupName $rgname 
    

Configureren met behulp van Azure Portal

Volg deze stappen om SNAT-routes (in preview) automatisch te configureren met behulp van de Azure portal:

  1. Een subnet toevoegen:

    • Voeg een subnet met de naam RouteServerSubnet toe aan uw bestaande virtuele firewallnetwerk.
    • Zorg ervoor dat de subnetgrootte ten minste /27 is.
  2. Een routeserver implementeren:

  3. Route Server koppelen:

    • Voeg op de pagina Geleerde SNAT IP-prefixen (preview) van de firewall de route server toe.
  4. Firewallbeleid wijzigen:

    • Schakel automatisch leren IP-voorvoegsels (preview) in in de sectie Privé-IP-bereiken (SNAT) van uw firewallbeleid.
  5. Geleerde routes weergeven:

    • Controleer de geleerde routes op de pagina Geleerde SNAT IP-voorvoegsels (preview).

Volgende stappen