Dominare i Forwarder DNS AD e i Forwarder Condizionali

I forwarder DNS di Windows e i forwarder DNS condizionali sono una parte importante della tua infrastruttura DNS. In questo tutorial, parleremo dei forwarder AD DNS e di come gestirli nel tuo ambiente.

Ti accorgerai che occasionalmente è necessario aggiungere o gestire questi indirizzi di forwarder. Alcune di queste modifiche devono essere apportate su più server DNS nella tua azienda. Fortunatamente, utilizzando comandi come il cmdlet Set-DnsServerForwarder di PowerShell e altri, è possibile gestire facilmente entrambi questi servizi DNS con facilità.

Questo post del blog è accompagnato da un video realizzato da TechSnips contributor, David Lamb. Sentiti libero di guardarlo o, se preferisci il testo, continua a leggere!

Sostituzione dei forwarder DNS

I forwarder DNS vengono utilizzati da un server DNS per cercare le query per gli indirizzi che non sono contenuti in nessuna zona per cui il server è autoritativo. Questo fornisce ai tuoi server DNS un modo efficiente per risolvere i nomi. Senza i forwarder, il server DNS dovrebbe interrogare i server di suggerimento di root per iniziare a risolvere gli indirizzi sconosciuti.

Mentre questi indirizzi di forwarder sono configurati separatamente su ciascun server DNS, utilizzando PowerShell è molto più facile gestirli permettendoci di utilizzare il cmdlet Set-DnsServerForwarder.

Inizia visualizzando i forwarder configurati attualmente per il server DNS locale. Lo faremo utilizzando il cmdlet Get-DnsServerForwarder. Utilizziamo prima il cmdlet Get-* perché è necessario trovare tutti i forwarder esistenti.

Come si vede di seguito, sono configurati due forwarder con gli indirizzi IP 8.8.8.8 e 8.8.4.4.

PS> Get-DnsServerForwarder
Finding existing DNS server forwarders

Aggiungi ora un forwarder aggiuntivo. Questo potrebbe essere un nuovo server DNS configurato nella nostra DMZ, o magari utilizzare un indirizzo di forwarding fornito dal nostro ISP. In questo caso, utilizzerai il cmdlet Set-DnsServerForwarder per impostare il nuovo indirizzo e quindi utilizzerai Get-DnsServerForwarder per confermare che l’indirizzo sia stato impostato correttamente.

Set-DnsServerForwarder -IPAddress 192.168.1.1
Get-DnsServerForwarder
Confirming DNS server forwarder change

Purtroppo, questo non ha avuto l’effetto desiderato. Come si può vedere sopra, utilizzando il cmdlet Set-DnsServerForwarder si sostituisce effettivamente l’elenco dei forwarder anziché aggiungerlo. Per aggiungere l’indirizzo all’elenco, anziché sostituire l’intero elenco, è necessario utilizzare Add-DnsServerForwarder.

Per correggere questo, sostituisci l’elenco con i due forwarder originali, aggiungi il nuovo indirizzo, quindi controlla se sei riuscito.

Set-DnsServerForwarder -IPAddress 8.8.8.8, 8.8.4.4
Add-DnsServerForwarder -IPAddress 192.168.1.1
Get-DnsServerForwarder
Confirming DNS server forwarder addition

Ora hai aggiunto tutti e tre i forwarder.

Rimozione dei forwarder DNS

Supponiamo che tu voglia rimuovere un indirizzo di forwarder, utilizzerai il cmdlet Remove-DnsServerForwarder come mostrato di seguito. Successivamente, controlla se l’indirizzo è stato rimosso.

Se Set-DnsServerForwarder sostituisce il forwarder DNS, Remove-DnsServerForwarder lo rimuove completamente.

Remove-DnsServerForwarder -IPAddress 192.168.1.1
Get-DnsServerForwarder
Confirming DNS server forwarder removal

Scaling a più server DNS

A volte, sarà necessario essere in grado di aggiungere o rimuovere un indirizzo del server forwarder su più server DNS. In questo caso, Set-DnsServerForwarder non funzionerà. Fortunatamente, PowerShell semplifica relativamente facile scalare questa attività a più server DNS. Se si utilizza Invoke-Command, includere un elenco di tutti i nostri server DNS, quindi inserire Add-DnsServerForwarder nel valore del parametro scriptblock, è possibile modificare tutti i server DNS con un singolo comando. Quindi utilizzando un comando simile, visualizzare i risultati delle nostre modifiche.

Invoke-Command -ComputerName DC01, DC02, DC03 -ScriptBlock {
    Add-DnsServerForwarder -IPAddress 192.168.1.1
}
Invoke-Command -ComputerName DC01, DC02, DC03 -ScriptBlock { Get-DnsServerForwarder }
Adding DNS server forwarders on multiple DNS Servers

Forwarder condizionale DNS

A special type of forwarder, called a conditional forwarder, cannot be modified with the Set-DnsServerForwarder cmdlet. This type of forwarder can be used when you have been provided with the IP address(es) of the DNS server(s) for a known DNS domain name.

I forwarder condizionali DNS vengono utilizzati dal server DNS prima di utilizzare i forwarder del server elencati in precedenza in questo articolo.

Ad esempio, se è configurato un forwarder condizionale per tailspintoys.com, il server DNS, dopo aver verificato che non si tratti di un dominio di cui è autoritativo, controlla i forwarder condizionali e trova un’entry esistente. A questo punto, il server DNS consulta il server DNS elencato per l’indirizzo desiderato nel dominio tailspintoys.com.

Una caratteristica interessante dei forwarder condizionali DNS è che possono essere replicati su altri server DNS allo stesso modo di qualsiasi zona DNS integrata in Active Directory.

Iniziando controllando se è configurato un forwarder condizionale utilizzando il cmdlet Get-DnsServerZone.

PS> Get-DnsServerZone
Finding DNS server zones

I forwarder condizionali compaiono in questo elenco con una ZoneType di forwarder. In questo caso, non ne abbiamo configurato uno. Quindi, utilizzerai Add-DnsServerConditionalForwarderZone per creare il forwarder condizionale, impostarlo per la replica in tutto il dominio Active Directory e quindi confermare che sia stato creato.

PS> Add-DnsServerConditionalForwarderZone `
    -Name tailspintoys.com `
    -MasterServers 10.10.14.240,10.10.14.241 `
    -ReplicationScope Forest

PS> Get-DnsServerZone
Verifying new DNS server conditional forwarder zone

L’output mostra che hai configurato il nostro forwarder condizionale ed è pronto per essere utilizzato.

Riepilogo

PowerShell semplifica davvero la gestione dei forwarder DNS! Ora dovresti essere in grado di utilizzare PowerShell per gestire e automatizzare i forwarder AD DNS in molti modi diversi. Abbiamo coperto questi forwarder da ogni angolazione.

Source:
https://adamtheautomator.com/dns-conditional-forwarder/