AutoConfigDNS – Configuración Automática de Reenviadores y la IP Loopback en la lista de Servidores DNS

 

Tras una experiencia reciente de soporte al servicio DNS ejecutándose en un DC Windows Server 2008 me gustaría aclarar la curiosa forma en que los reenviadores DNS se configuran automáticamente. La responsabilidad de este comportamiento es de AutoConfigDNS una nueva función que se realiza durante la promoción de un controlador de dominio 2008 R2.

Tras revisar el código fuente de dcpromo.exe, hemos concluido lo siguiente:

1. Durante la promoción el nuevo controlador de dominio busca configurar los reenviadores que se usaran a nivel de DNS y existen dos métodos para hacerlo, el segundo no se hace si el primero es exitoso.

a. El nuevo DC trata de copiar la lista de reenviadores de otro servidor DNS que tenga una copia de su zona. Para obtener la lista de los servidores de nombre hace una búsqueda de la lista NS en la zona del dominio y después contacta cada servidor de la lista hasta que consiga uno que tenga un reenviador configurado. Si consigue uno , se detiene pero si no lo ubica entonces intenta con el segundo método.

b. Usará como reenviadores todos los DNS que esta listados para resolver en todos los adaptadores de red si ningún orden especifico.

Si se quiere evitar esta configuración automática del servicio DNS se puede usar el parámetro SkipAutoConfigDns durante el dcpromo.

Por lo tanto es importante mantener actualizada la lista NS de las zonas DNS para evitar comportamientos no esperados. Si la transferencia de zonas se habilita para la zona de dominio donde se promocionara el nuevo DC, uno de estos servidores pudiera estar listado como NS y por lo tanto cualquier reenviador configurado allí seria copiado al DC,  con posibilidad de afectar la resolución de nombres DNS.

Durante este análisis pudimos también observar que ocurre durante el dcpromo a la hora de  agregar la dirección de loopback (127.0.0.1) dentro la lista de servidores para búsqueda DNS. En mi experiencia la posición de esta dirección en la lista no era consistente…..bueno lo que ocurre es que su posición se determina en función de si se crea un bosque, se crea un dominio, se crea un árbol, es un RWDC o un RODC. La lógica es :

  • Si el nuevo DC es el primero de un bosque, se remplaza la lista servidores DNS y se define para solo apuntar a la loopback
  • Si el nuevo DC es el primero de un nuevo árbol en un bosque existente, se agrega la loopback como primaria en la lista, si existen otros servidores listados se mantienen
  • Si el nuevo DC es el primero de un dominio hijo de un bosque existente, se agrega la loopback como primaria en la lista, si existen otros servidores listados se mantienen
  • Si el nuevo DC un RWDC adicional para un dominio existente, se agrega la loopback como la ultima de la lista, las dirección existente se mantiene
  • Si el nuevo DC es un RODC, se agrega la loopback como primaria, y la lista existente se conserva