Hola a todos.

En la entrada de hoy hablaremos sobre el comando dnscmd.exe en relación a la creación de reenviadores condicionales. Sus ventajas, inconvenientes, etc…

En este video tutorial podéis ver cómo crear dichos reenviadores condicionales.

Dicho tipo de reenviador añade un nivel adicional de granularidad al reenviador estándar. Este se encarga de reenviar a otro u otros servidores DNS todas las peticiones que el servidor DNS (en el que se ha configurado) no es capaz de resolver. A diferencia, el reenviador condicional, sólo reenvía las peticiones para un dominio concreto (a uno o más DNS) teniendo prioridad sobre el estándar.

Por lo tanto, deberemos configurar un reenviador condicional por cada dominio que nuestro DNS no sea capaz de resolver y queramos que lo haga uno (o varios) específico(s). Todas aquellas peticiones que no pertenezcan a un dominio del que tengamos configurado un reenviador condicional, se redirigirán según lo indicado por el reenviador normal.

Situaciones habituales en que se usa son

  • Instalaciones CORE de Windows Server, en los que no se puede acceder a la consola gráfica del gestor DNS y no se dispone del módulo “DnsServer” de Powershell (o se prefiere no usarlo).
  • Conociendo el comando puede ser más rápido crear los reenviadores condicionales de esta forma que hacerlo mediante la interfaz gráfica, especialmente si se quieren crear varios y/o en varios servidores DNS.

Como se comenta en el vídeo, existen dos tipos de reenviadores condicionales, los integrados en dominio y los no integrados. Los primeros se replicarán junto con el Directorio Activo, mientras que los segundos no.

Mientras que con este método se pueden fijar parámetros como el tiempo que esperará el DNS a reenviar la consulta a otro DNS en caso de especificar varias IPs (con el parámetro /timeout), una carencia con respecto a la configurarlos a través del entorno gráfico es que, en el caso de los reenviadores condicionales integrados en dominio, no permite definir cuál será su nivel de replicación:

  • Todos los controladores de dominio del dominio.
  • Todos los servidores DNS del dominio.
  • Todos los servidores DNS del bosque.
Imagen_1.png

Por defecto, el nivel de replicación al usar dnscmd.exe es el de todos los servidores DNS del dominio (que no es compatible con los controladores de dominio anteriores a Windows Server 2003). Este nivel de replicación puede cambiarse posteriormente en el entorno gráfico editando el reenviador condicional.

Por defecto, si la consulta reenviada no es resuelta, sea el reenviador integrado o no en dominio, el DNS intenta hacer una consulta iterativa. Si se indica /slave el DNS no intentará hacer dichas búsquedas iterativas y por tanto si, tras no poder resolver la consulta, el reenviador condicional tampoco es capaz de hacerlo, no intentará hacer dicha resolución iterativa. /noslave permite al DNS hacer dichas consultas iterativas, que es el funcionamiento por defecto (usando los root hints).

Si se indica la IP del DNS del reenviador condicional usando el parámetro /resetforwarders, lo que hará el DNS son consulta recursivas a la IP o IPs especificadas.

En caso de indicar la misma IP dos veces, el DNS intentará reenviar dicha consulta a esa IP dos veces.

En caso de utilizar el parámetro /(ds)forwarders junto con el parámetro /ipvalidate, lo que se hace es comprobar que la IP especificada corresponde a un DNS que puede funcionar como reenviador.

Usándolo junto con el parámetro /enumzones enumera todas las zonas que reenvían consultas no resueltas a otros DNS.

Imagen_2.png

Creo que está entrada cubre casi la totalidad de las posibilidad del comando dnscmd.exe a la hora de configurar reenviadores condicionales pero es bienvenida cualquier sugerencia, duda o rectificación. Toda esta información también puede consultarse en los artículos del Technet de Microsoft.

Un saludo a todos y nos vemos en la próxima entrada.

 

Sergio Pozo Núñez, alumno del curso Microsoft MCSE 2015-2016. Centro: Tajamar.