Domine los reenviadores DNS de Active Directory y los reenviadores condicionales

Los reenviadores de DNS de Windows y los reenviadores condicionales de DNS son una parte importante de su infraestructura de DNS. En este tutorial, vamos a cubrir los reenviadores de DNS de AD y cómo puede gestionarlos en su entorno.

En ocasiones, necesitará agregar o gestionar estas direcciones de reenviador. Algunos de estos cambios deben realizarse en varios servidores DNS de su empresa. Afortunadamente, el uso de comandos como el cmdlet Set-DnsServerForwarder de PowerShell y otros le permite gestionar fácilmente ambos servicios de DNS.

Esta publicación de blog tiene un video complementario creado por el colaborador de TechSnips, David Lamb. Si lo prefiere, siéntase libre de verlo o, si prefiere texto, continúe leyendo.

Reemplazando los reenviadores de DNS

Los reenviadores de DNS son utilizados por un servidor DNS para buscar consultas de direcciones que no están contenidas en ninguna zona de la cual el servidor es autoritario. Esto proporciona a sus servidores DNS una forma eficiente de resolver nombres. Sin los reenviadores, su servidor DNS tendría que consultar los servidores de sugerencias raíz para empezar a resolver direcciones desconocidas.

Aunque estas direcciones de reenviador se configuran por separado en cada servidor DNS, el uso de PowerShell facilita mucho su gestión al permitirnos utilizar el cmdlet Set-DnsServerForwarder.

Comience por ver los reenviadores configurados actualmente para el servidor DNS local. Haremos esto usando el cmdlet Get-DnsServerForwarder. Estamos utilizando el cmdlet Get-* primero porque primero necesitas encontrar todos los reenviadores existentes.

Como se ve a continuación, hay dos reenviadores configurados con direcciones IP de 8.8.8.8 y 8.8.4.4.

PS> Get-DnsServerForwarder
Finding existing DNS server forwarders

Ahora agregue un reenviador adicional. Este reenviador podría ser posiblemente un nuevo servidor DNS que haya configurado en nuestra DMZ, o tal vez usando una dirección de reenvío proporcionada por nuestro ISP. En este caso, usará el cmdlet Set-DnsServerForwarder para establecer la nueva dirección y luego usará Get-DnsServerForwarder para confirmar que la dirección se estableció correctamente.

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

Lamentablemente, esto no tuvo el resultado deseado. Como puede ver arriba, al usar el cmdlet Set-DnsServerForwarder en realidad reemplaza la lista de reenviadores en lugar de agregar a ella. Para agregar la dirección a la lista, en lugar de reemplazar toda la lista, necesitas usar Add-DnsServerForwarder.

Para corregir esto, reemplace la lista con los dos reenviadores originales, agregue la nueva dirección, y luego verifique si tuvo éxito.

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

Ahora tiene los tres reenviadores agregados.

Eliminación de reenviadores DNS

Digamos que desea eliminar una dirección de reenviador, usaría el cmdlet Remove-DnsServerForwarder como se muestra a continuación. Luego, verificaría si la dirección ha sido eliminada.

Si Set-DnsServerForwarder reemplaza el reenviador DNS, Remove-DnsServerForwarder lo elimina por completo.

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

Escalando a Múltiples Servidores DNS

En ocasiones, necesitarás poder agregar o eliminar una dirección de reenvío en varios servidores DNS. En este caso, Set-DnsServerForwarder no funcionará. Afortunadamente, PowerShell facilita escalar esta tarea a múltiples servidores DNS de manera relativamente sencilla. Si usas Invoke-Command, incluye una lista de todos nuestros servidores DNS, luego coloca Add-DnsServerForwarder en el valor del parámetro scriptblock, puedes modificar todos los servidores DNS con un solo comando. Luego, utilizando un comando similar, puedes ver los resultados de nuestros cambios.

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

Reenviadores Condicionales 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.

Los reenviadores condicionales DNS son utilizados por el servidor DNS antes de utilizar los reenviadores del servidor listados anteriormente en este artículo.

Por ejemplo, si tienes un reenviador condicional configurado para tailspintoys.com, tu servidor DNS, después de verificar que no es un dominio del cual es autoritario, revisará los reenviadores condicionales y encontrará que existe una entrada. En este punto, tu servidor DNS consulta al servidor DNS listado para la dirección deseada en el dominio tailspintoys.com.

Una característica interesante de los reenviadores condicionales DNS es que pueden replicarse a otros servidores DNS de la misma manera que cualquier Zona DNS Integrada en el Directorio Activo puede.

Comienza verificando si tienes un reenviador condicional configurado utilizando el cmdlet Get-DnsServerZone.

PS> Get-DnsServerZone
Finding DNS server zones

Los reenviadores condicionales aparecen en esta lista con un ZoneType de forwarder. En este caso, no tenemos ninguno configurado. Entonces, utilizarás Add-DnsServerConditionalForwarderZone para crear el reenviador condicional, configurarlo para replicar en todo el bosque de Active Directory, y luego confirmar que se haya creado.

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

La salida muestra que tienes nuestro reenviador condicional configurado y está listo para funcionar.

Resumen

¡PowerShell realmente facilita la gestión de reenviadores DNS! Ahora deberías poder usar PowerShell para gestionar y automatizar los reenviadores DNS de AD de muchas maneras diferentes. Hemos cubierto estos reenviadores desde casi todos los ángulos.

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