Firewall di Azure intervalli di indirizzi IP privati SNAT
Firewall di Azure offre funzionalità SNAT per tutto il traffico in uscita verso indirizzi IP pubblici. Per impostazione predefinita, Firewall di Azure non esegue SNAT con regole di rete quando l'indirizzo IP di destinazione si trova in un intervallo di indirizzi IP privati per IANA RFC 1918 o spazio indirizzi condiviso per IANA RFC 6598. Le regole dell'applicazione sono sempre SNATed usando un proxy trasparente indipendentemente dall'indirizzo IP di destinazione.
Questa logica funziona correttamente quando si instrada il traffico direttamente a Internet. Esistono tuttavia scenari in cui è possibile eseguire l'override del comportamento SNAT predefinito.
- Se è stato abilitato il tunneling forzato, il traffico associato a Internet è SNATed a uno degli indirizzi IP privati del firewall in AzureFirewallSubnet, nascondendo l'origine dal firewall locale.
- Se l'organizzazione usa intervalli di indirizzi IP registrati all'esterno di IANA RFC 1918 o IANA RFC 6598 per le reti private, Firewall di Azure SNATs il traffico verso uno degli indirizzi IP privati del firewall in AzureFirewallSubnet. Tuttavia, è possibile configurare Firewall di Azure in modo che non SNAT l'intervallo di indirizzi IP pubblici. Ad esempio, per specificare un singolo indirizzo IP, è possibile specificarlo come segue:
192.168.1.10
. Per specificare un intervallo di indirizzi IP, è possibile specificarlo come segue:192.168.1.0/24
.
Firewall di Azure comportamento SNAT può essere modificato nei modi seguenti:
Per configurare Firewall di Azure in modo che il traffico SNAT non venga mai elaborato dalle regole di rete indipendentemente dall'indirizzo IP di destinazione, usare 0.0.0.0/0 come intervallo di indirizzi IP privati. Con questa configurazione, Firewall di Azure non può mai instradare il traffico direttamente a Internet.
Per configurare il firewall in modo che SNAT venga sempre elaborato dalle regole di rete indipendentemente dall'indirizzo di destinazione, usare 255.255.255.255/32 come intervallo di indirizzi IP privati.
Firewall di Azure possono essere configurati per apprendere automaticamente intervalli registrati e privati ogni ora e usare le route apprese per SNAT. Questa funzionalità di anteprima deve avere il server di route di Azure distribuito nella stessa rete virtuale del Firewall di Azure.
Importante
La configurazione dell'intervallo di indirizzi privato si applica solo alle regole di rete. Attualmente, le regole dell'applicazione sono sempre SNAT.
Importante
Se si desidera specificare gli intervalli di indirizzi IP privati e mantenere gli intervalli di indirizzi IANA RFC 1918 predefiniti, assicurarsi che l'elenco personalizzato includa ancora l'intervallo IANA RFC 1918.
È possibile configurare gli indirizzi IP privati SNAT usando i metodi seguenti. È necessario configurare gli indirizzi privati SNAT usando il metodo appropriato per la configurazione. I firewall associati a un criterio firewall devono specificare l'intervallo nei criteri e non usare AdditionalProperties
.
metodo | Uso delle regole classiche | Uso dei criteri firewall |
---|---|---|
Azure portal | supportato | supportato |
Azure PowerShell | Configurare PrivateRange |
attualmente non supportato |
Interfaccia della riga di comando di Azure | Configurare --private-ranges |
attualmente non supportato |
Modello ARM | configurare AdditionalProperties nella proprietà del firewall |
configurare snat/privateRanges nei criteri firewall |
Configurare gli intervalli di indirizzi IP privati SNAT - Azure PowerShell
Regole classiche
È possibile usare Azure PowerShell per specificare intervalli di indirizzi IP privati per il firewall.
Nota
La proprietà firewall PrivateRange
viene ignorata per i firewall associati a un criterio firewall. È necessario usare la SNAT
proprietà in firewallPolicies
come descritto in Configurare intervalli di indirizzi IP privati SNAT - modello di Resource Manager.
Nuovo firewall
Per un nuovo firewall che usa regole classiche, il cmdlet di Azure PowerShell è:
$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
Nota
La distribuzione di Firewall di Azure tramite New-AzFirewall
richiede una rete virtuale esistente e un indirizzo IP pubblico. Per una guida completa alla distribuzione, vedere Distribuire e configurare Firewall di Azure usando Azure PowerShell.
Nota
IANAPrivateRanges viene espanso fino alle impostazioni predefinite correnti in Firewall di Azure mentre vengono aggiunti gli altri intervalli. Per mantenere l'impostazione predefinita IANAPrivateRanges nella specifica dell'intervallo privato, deve rimanere nella PrivateRange
specifica, come illustrato negli esempi seguenti.
Per altre informazioni, vedere New-AzFirewall.
Firewall esistente
Per configurare un firewall esistente usando le regole classiche, usare i cmdlet di Azure PowerShell seguenti:
$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
Configurare gli intervalli di indirizzi IP privati SNAT - Interfaccia della riga di comando di Azure
Regole classiche
È possibile usare l'interfaccia della riga di comando di Azure per specificare intervalli di indirizzi IP privati per il firewall usando regole classiche.
Nuovo firewall
Per un nuovo firewall che usa regole classiche, il comando dell'interfaccia della riga di comando di Azure è:
az network firewall create \
-n <fw-name> \
-g <resourcegroup-name> \
--private-ranges 192.168.1.0/24 192.168.1.10 IANAPrivateRanges
Nota
La distribuzione di Firewall di Azure tramite il comando dell'interfaccia della riga di comando az network firewall create
di Azure richiede passaggi di configurazione aggiuntivi per creare indirizzi IP pubblici e la configurazione IP. Per una guida completa alla distribuzione, vedere Distribuire e configurare Firewall di Azure usando l'interfaccia della riga di comando di Azure.
Nota
IANAPrivateRanges viene espanso fino alle impostazioni predefinite correnti in Firewall di Azure mentre vengono aggiunti gli altri intervalli. Per mantenere l'impostazione predefinita IANAPrivateRanges nella specifica dell'intervallo privato, deve rimanere nella private-ranges
specifica, come illustrato negli esempi seguenti.
Firewall esistente
Per configurare un firewall esistente usando le regole classiche, il comando dell'interfaccia della riga di comando di Azure è:
az network firewall update \
-n <fw-name> \
-g <resourcegroup-name> \
--private-ranges 192.168.1.0/24 192.168.1.10 IANAPrivateRanges
Configurare gli intervalli di indirizzi IP privati SNAT - Modello di Resource Manager
Regole classiche
Per configurare SNAT durante la distribuzione del modello di Resource Manager, è possibile aggiungere quanto segue alla additionalProperties
proprietà :
"additionalProperties": {
"Network.SNAT.PrivateRanges": "IANAPrivateRanges , IPRange1, IPRange2"
},
Criterio firewall
Firewall di Azure associati a un criterio firewall hanno supportato intervalli privati SNAT dalla versione api 2020-11-01. Attualmente, è possibile usare un modello per aggiornare l'intervallo privato SNAT nei criteri firewall. L'esempio seguente configura il firewall per il traffico di rete SNAT sempre :
{
"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]"
}
}
Configurare gli intervalli di indirizzi IP privati SNAT - portale di Azure
Regole classiche
È possibile usare il portale di Azure per specificare intervalli di indirizzi IP privati per il firewall.
Selezionare il gruppo di risorse e quindi selezionare il firewall.
Nella pagina Panoramica, Intervalli IP privati, selezionare il valore predefinito IANA RFC 1918.
Verrà visualizzata la pagina Modifica prefissi IP privati:
Per impostazione predefinita, IANAPrivateRanges è configurato.
Modificare gli intervalli di indirizzi IP privati per l'ambiente e quindi selezionare Salva.
Criterio firewall
Selezionare il gruppo di risorse e quindi selezionare i criteri firewall.
Selezionare Intervalli IP privati (SNAT) nella colonna Impostazioni.
Selezionare le condizioni per eseguire SNAT per l'ambiente in Esegui SNAT per personalizzare la configurazione SNAT.
Selezionare Applica.
Route SNAT di Apprendimento automatico (anteprima)
È possibile configurare Firewall di Azure per apprendere automaticamente intervalli registrati e privati ogni 30 minuti. Questi intervalli di indirizzi appresi sono considerati interni alla rete, quindi il traffico verso le destinazioni negli intervalli appresi non è SNATed. Gli intervalli SNAT di Apprendimento automatico richiedono la distribuzione del server di route di Azure nella stessa rete virtuale del Firewall di Azure. Il firewall deve essere associato al server di route di Azure e configurato per apprendere automaticamente gli intervalli SNAT nei criteri di Firewall di Azure. È attualmente possibile usare un modello di Resource Manager, Azure PowerShell o il portale di Azure per configurare le route SNAT apprese automaticamente.
Nota
Le route SNAT di Apprendimento automatico sono disponibili solo nelle distribuzioni di reti virtuali (rete virtuale hub). Non è disponibile nelle distribuzioni della rete WAN virtuale (hub virtuale protetto). Per altre informazioni sulle opzioni di architettura Firewall di Azure, vedere Quali sono le opzioni di architettura di Firewall di Azure Manager?
Configurare l'uso di un modello di Resource Manager
È possibile usare il codice JSON seguente per configurare l'apprendimento automatico. Firewall di Azure deve essere associato a un server di route di Azure.
"type": "Microsoft.Network/firewallPolicies",
"apiVersion": "2022-11-01",
"name": "[parameters('firewallPolicies_DatabasePolicy_name')]",
"location": "eastus",
"properties": {
"sku": {
"tier": "Standard"
},
"snat": {
"autoLearnPrivateRanges": "Enabled"
}
}
Usare il codice JSON seguente per associare un server di route di Azure:
"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')]"
},
...
}
Configurare con Azure PowerShell
Creare un nuovo firewall con 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
Aggiornare un firewall esistente con 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
Creare nuovi criteri firewall con il parametro SNAT fornito
# 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
Aggiornare un criterio firewall esistente con 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
Ottenere i prefissi appresi del firewall
Get-AzFirewallLearnedIpPrefix -Name $azureFirewallName -ResourceGroupName $rgname
Configurare con il Portale di Azure
È possibile usare il portale per associare un server di route a Firewall di Azure per configurare le route SNAT di Apprendimento automatico (anteprima).
Usare il portale per completare le attività seguenti:
- Aggiungere una subnet denominata RouteServerSubnet alla rete virtuale del firewall esistente. Le dimensioni della subnet devono essere almeno /27.
- Distribuire un server di route nella rete virtuale del firewall esistente. Per informazioni sul server di route di Azure, vedere Avvio rapido: Creare e configurare il server di route usando il portale di Azure.
- Aggiungere il server di route nella pagina Prefissi IP SNAT appresi (anteprima) del firewall.
- Modificare i criteri del firewall per abilitare i prefissi IP di Apprendimento automatico (anteprima) nella sezione Intervalli IP privati (SNAT).
- È possibile visualizzare le route apprese nella pagina Prefissi IP SNAT appresi (anteprima).
Passaggi successivi
- Informazioni su Firewall di Azure tunneling forzato.