Usare i criteri DNS per la distribuzione DNS "split brain"

Si applica a: Windows Server 2022, Windows Server 2019, Windows Server 2016

È possibile usare questo argomento per informazioni su come configurare i criteri DNS in Windows Server® 2016 per le distribuzioni DNS split-brain, in cui sono presenti due versioni di una singola zona, una per gli utenti interni nella intranet dell'organizzazione e una per gli utenti esterni, che in genere sono utenti su Internet.

Nota

Per informazioni su come usare i criteri DNS per la distribuzione DNS split-brain con zone DNS integrate di Active Directory, vedere Usare i criteri DNS per DNS split-brain in Active Directory.

In precedenza, questo scenario richiedeva agli amministratori DNS di gestire due server DNS diversi, ognuno dei quali fornisce servizi a ogni set di utenti, interni ed esterni. Se solo alcuni record all'interno della zona erano split-brain o se entrambe le istanze della zona (interne ed esterne) erano delegate allo stesso dominio padre, questo diventava un problema di gestione.

Un altro scenario di configurazione per la distribuzione split-brain è controllo ricorsione selettivo per la risoluzione dei nomi DNS. In alcune circostanze, si prevede che i server DNS aziendali eseguano la risoluzione ricorsiva su Internet per gli utenti interni, mentre devono anche fungere da server dei nomi autorevoli per gli utenti esterni e bloccare la ricorsione per loro.

Questo argomento include le sezioni seguenti.

Esempio di distribuzione DNS Split-Brain

Di seguito è riportato un esempio di come è possibile usare i criteri DNS per eseguire lo scenario descritto in precedenza di DNS split brain.

Questa sezione descrive gli argomenti seguenti:

In questo esempio viene usata una società fittizia, Contoso, che gestisce un sito Web career su www.career.contoso.com.

Il sito ha due versioni, una per gli utenti interni in cui sono disponibili registrazioni di lavoro interne. Questo sito interno è disponibile all'indirizzo IP locale 10.0.0.39.

La seconda versione è la versione pubblica dello stesso sito, disponibile all'indirizzo IP pubblico 65.55.39.10.

In assenza di criteri DNS, l'amministratore deve ospitare queste due zone in server DNS Windows Server separati e gestirli separatamente.

L'uso dei criteri DNS per queste zone può ora essere ospitato nello stesso server DNS.

Nella figura seguente viene illustrato questo scenario.

Split-Brain DNS Deployment

Funzionamento della distribuzione DNS split-brain

Quando il server DNS è configurato con i criteri DNS necessari, ogni richiesta di risoluzione dei nomi viene valutata rispetto ai criteri nel server DNS.

L'interfaccia server viene usata in questo esempio come criterio per distinguere i client interni ed esterni.

Se l'interfaccia server su cui viene ricevuta la query corrisponde a uno dei criteri, l'ambito della zona associato viene usato per rispondere alla query.

Pertanto, nell'esempio le query DNS per www.career.contoso.com ricevute sull'IP privato (10.0.0.56) ricevono una risposta DNS che contiene un indirizzo IP interno; e le query DNS ricevute nell'interfaccia di rete pubblica ricevono una risposta DNS che contiene l'indirizzo IP pubblico nell'ambito della zona predefinita (corrisponde alla normale risoluzione delle query).

Come configurare la distribuzione DNS Split-Brain

Per configurare la distribuzione DNS Split-Brain usando i criteri DNS, è necessario seguire questa procedura.

Le sezioni seguenti forniscono le istruzioni di configurazione dettagliate.

Importante

Nelle sezioni seguenti includono esempi di comandi Windows PowerShell che contengono valori di esempio per numero di parametri. Assicurarsi di sostituire i valori di esempio in questi comandi con i valori appropriati per la distribuzione prima di eseguire questi comandi.

Creare gli ambiti di zona

Un ambito di una zona è un'istanza univoca della zona. Una zona DNS può avere più ambiti, ognuno contenente il proprio insieme di record DNS. Lo stesso record può essere presente in più ambiti, con gli stessi indirizzi IP o con indirizzi IP diversi.

Nota

Per impostazione predefinita, un ambito di una zona esistente nelle zone DNS. Questo ambito di zona con lo stesso nome della zona e operazioni DNS legacy funzionano in questo ambito. Questo ambito di zona predefinito ospiterà la versione esterna di www.career.contoso.com.

È possibile usare il comando di esempio seguente per partizionare l'ambito della zona contoso.com per creare un ambito di zona interno. L'ambito della zona interna verrà usato per mantenere la versione interna di www.career.contoso.com.

Add-DnsServerZoneScope -ZoneName "contoso.com" -Name "internal"

Per ulteriori informazioni, vedere Add-DnsServerZoneScope

Aggiungere record per gli ambiti di zona

Il passaggio successivo consiste nell'aggiungere i record che rappresentano l'host del server Web nei due ambiti di zona, interni e predefiniti (per i client esterni).

Nell'ambito della zona interna, il record www.career.contoso.com viene aggiunto con l'indirizzo IP 10.0.0.39, ovvero un indirizzo IP privato; e nell'ambito predefinito della zona lo stesso record, www.career.contoso.com, viene aggiunto con l'indirizzo IP 65.55.39.10.

Nessun parametro -ZoneScope viene fornito nei comandi di esempio seguenti quando il record viene aggiunto all'ambito di zona predefinito. Questo è simile all'aggiunta di record a una zona vanilla.

Add-DnsServerResourceRecord -ZoneName "contoso.com" -A -Name "www.career" -IPv4Address "65.55.39.10" Add-DnsServerResourceRecord -ZoneName "contoso.com" -A -Name "www.career" -IPv4Address "10.0.0.39” -ZoneScope "internal"

Per ulteriori informazioni, vedere Aggiungi DnsServerResourceRecord.

Creare i criteri DNS

Dopo aver identificato le interfacce server per la rete esterna e la rete interna e aver creato gli ambiti di zona, è necessario creare criteri DNS che connettono gli ambiti di zona interni ed esterni.

Nota

In questo esempio viene utilizzata l'interfaccia server come criteri per distinguere i client interni ed esterni. Un altro metodo per distinguere i client esterni e interni consiste nell'usare le subnet client come criteri. Se è possibile identificare le subnet a cui appartengono i client interni, è possibile configurare i criteri DNS per differenziare in base alla subnet client. Per informazioni su come configurare la gestione del traffico usando i criteri della subnet client, vedere Usare i criteri DNS per la gestione del traffico basata sulla posizione geografica con i server primari.

Quando il server DNS riceve una query sull'interfaccia privata, la risposta della query DNS viene restituita dall'ambito della zona interna.

Nota

Criteri non sono necessari per il mapping tra l'ambito di orario predefinito.

Nel comando di esempio seguente 10.0.0.56 è l'indirizzo IP nell'interfaccia di rete privata, come illustrato nella figura precedente.

Add-DnsServerQueryResolutionPolicy -Name "SplitBrainZonePolicy" -Action ALLOW -ServerInterface "eq,10.0.0.56" -ZoneScope "internal,1" -ZoneName contoso.com

Per ulteriori informazioni, vedere Aggiungi DnsServerQueryResolutionPolicy.

Esempio di controllo ricorsione selettivo DNS

Di seguito è riportato un esempio di come usare i criteri DNS per eseguire lo scenario descritto in precedenza del controllo ricorsione selettivo DNS.

Questa sezione descrive gli argomenti seguenti:

In questo esempio viene usata la stessa società fittizia dell'esempio precedente, Contoso, che gestisce un sito Web di carriera in www.career.contoso.com.

Nell'esempio di distribuzione dns split brain lo stesso server DNS risponde sia ai client esterni che interni e fornisce loro risposte diverse.

Alcune distribuzioni DNS potrebbero richiedere allo stesso server DNS di eseguire la risoluzione dei nomi ricorsiva per i client interni oltre a fungere da server dei nomi autorevole per i client esterni. Questa circostanza è denominata controllo ricorsione selettivo DNS.

Nelle versioni precedenti di Windows Server, l'abilitazione della ricorsione significava che era abilitata nell'intero server DNS per tutte le zone. Poiché il server DNS è anche in ascolto di query esterne, la ricorsione è abilitata sia per i client interni che per i client esterni, rendendo il server DNS un sistema di risoluzione aperto.

Un server DNS configurato come resolver aperto potrebbe essere vulnerabile all'esaurimento delle risorse e può essere abusato da client malintenzionati per creare attacchi di reflection.

Per questo motivo, gli amministratori DNS Contoso non vogliono che il server DNS per contoso.com esegua la risoluzione dei nomi ricorsiva per i client esterni. È necessario solo il controllo ricorsione per i client interni, mentre il controllo ricorsione può essere bloccato per i client esterni.

Nella figura seguente viene illustrato questo scenario.

Selective Recursion Control

Funzionamento del controllo ricorsione selettivo DNS

Se viene ricevuta una query per cui il server DNS Contoso non è autorevole, ad esempio per https://www.microsoft.com, la richiesta di risoluzione dei nomi viene valutata rispetto ai criteri nel server DNS.

Poiché queste query non rientrano in alcuna zona, i criteri a livello di zona (come definito nell'esempio split-brain) non vengono valutati.

Il server DNS valuta i criteri di ricorsione e le query ricevute nell'interfaccia privata corrispondono al SplitBrainRecursionPolicy. Questo criterio punta a un ambito di ricorsione in cui è abilitata la ricorsione.

Il server DNS esegue quindi la ricorsione per ottenere la risposta per https://www.microsoft.com da Internet e memorizza nella cache la risposta in locale.

Se la query viene ricevuta nell'interfaccia esterna, non vengono applicati criteri DNS e l'impostazione di ricorsione predefinita, che in questo caso è Disabilitato.

Ciò impedisce al server di fungere da resolver aperto per i client esterni, mentre funge da resolver di memorizzazione nella cache per i client interni.

Come configurare il controllo ricorsione selettivo DNS

Per configurare il controllo ricorsione selettivo DNS tramite i criteri DNS, è necessario seguire questa procedura.

Creare ambiti di ricorsione DNS

Gli ambiti di ricorsione sono istanze univoche di un gruppo di impostazioni che controllano la ricorsione in un server DNS. Un ambito di ricorsione contiene un elenco di server d'inoltro e specifica se la ricorsione è abilitata. Un server DNS può avere molti ambiti di ricorsione.

L'impostazione di ricorsione legacy e l'elenco di server d'inoltro vengono definiti ambito di ricorsione predefinito. Non è possibile aggiungere o rimuovere l'ambito di ricorsione predefinito, identificato dal nome punto (“.”).

In questo esempio l'impostazione di ricorsione predefinita è disabilitata, mentre viene creato un nuovo ambito di ricorsione per i client interni in cui è abilitata la ricorsione.

Set-DnsServerRecursionScope -Name . -EnableRecursion $False
Add-DnsServerRecursionScope -Name "InternalClients" -EnableRecursion $True

Per ulteriori informazioni, vedere Add-DnsServerResourceRecord

Creare criteri di ricorsione DNS

È possibile creare criteri di ricorsione del server DNS per scegliere un ambito di ricorsione per un set di query che soddisfano criteri specifici.

Se il server DNS non è autorevole per alcune query, i criteri di ricorsione del server DNS consentono di controllare come risolvere le query.

In questo esempio, l'ambito di ricorsione interno con ricorsione abilitato è associato all'interfaccia di rete privata.

È possibile usare il comando di esempio seguente per configurare i criteri di ricorsione DNS.

Add-DnsServerQueryResolutionPolicy -Name "SplitBrainRecursionPolicy" -Action ALLOW -ApplyOnRecursion -RecursionScope "InternalClients" -ServerInterfaceIP "EQ,10.0.0.39"

Per ulteriori informazioni, vedere Aggiungi DnsServerQueryResolutionPolicy.

Il server DNS è ora configurato con i criteri DNS necessari per un server dei nomi split brain o un server DNS con controllo ricorsione selettivo abilitato per i client interni.

È possibile creare migliaia di criteri DNS in base del traffico di gestione e tutti i nuovi criteri vengono applicati in modo dinamico, senza il riavvio del server DNS, per le query in ingresso.

Per altre informazioni, vedere Guida agli scenari di criteri DNS.