Microsoft DNS es el nombre que se le da a la implementación de los servicios del sistema de nombres de dominio proporcionados en los sistemas operativos Microsoft Windows .
El soporte del Sistema de nombres de dominio en Microsoft Windows NT , y por lo tanto sus derivados Windows 2000 , Windows XP y Windows Server 2003 , comprende dos clientes y un servidor. Cada máquina Microsoft Windows tiene un cliente de búsqueda DNS, para realizar búsquedas DNS comunes. Algunas máquinas tienen un cliente DNS dinámico , para realizar transacciones de actualización DNS dinámica, registrando los nombres y direcciones IP de las máquinas . Algunas máquinas ejecutan un servidor DNS, para publicar datos DNS, para atender solicitudes de búsqueda DNS de clientes de búsqueda DNS y para atender solicitudes de actualización DNS de clientes de actualización DNS.
El software del servidor solo se suministra con las versiones de servidor de Windows.
Las aplicaciones realizan búsquedas DNS con la ayuda de una DLL . Llaman a funciones de biblioteca en la DLL, que a su vez manejan todas las comunicaciones con los servidores DNS (a través de UDP o TCP ) y devuelven los resultados finales de la búsqueda a las aplicaciones.
El cliente DNS de Microsoft también tiene soporte opcional para el almacenamiento en caché local, en forma de un servicio de Cliente DNS (también conocido como DNSCACHE ). Antes de intentar comunicarse directamente con los servidores DNS, las rutinas de la biblioteca primero intentan hacer una conexión IPC local con el servicio de Cliente DNS en la máquina. Si hay uno, y si se puede hacer dicha conexión, delegan el trabajo real de lidiar con la búsqueda al servicio de Cliente DNS. El servicio de Cliente DNS se comunica con los servidores DNS y almacena en caché los resultados que recibe.
El cliente DNS de Microsoft es capaz de comunicarse con varios servidores DNS. El algoritmo exacto varía según la versión y el nivel de Service Pack del sistema operativo, pero en general toda la comunicación se realiza con un servidor DNS preferido hasta que no responde, momento en el que la comunicación cambia a uno de los varios servidores DNS alternativos .
Existen varias diferencias menores en el comportamiento del sistema dependiendo de si el servicio de Cliente DNS está iniciado:
Las distribuciones de Linux y varias versiones de Unix tienen una capa de resolución de nombres generalizada. Se puede controlar la resolución para que utilice un archivo de hosts o un servicio de información de red (NIS) configurando el conmutador de servicio de nombres .
Mientras que las búsquedas de DNS leen datos de DNS, las actualizaciones de DNS los escriben . Tanto las estaciones de trabajo como los servidores que ejecutan Windows intentan enviar solicitudes de actualización de DNS dinámico a los servidores DNS.
Las estaciones de trabajo que ejecutan Windows intentan registrar sus nombres y direcciones IP en servidores DNS, de modo que otras máquinas puedan localizarlas por su nombre. Antes de Windows Vista (y Windows Server 2008), este registro lo realizaba el servicio Cliente DHCP . Por lo tanto, es necesario ejecutar el servicio Cliente DHCP en máquinas anteriores a Vista, incluso si no se utiliza DHCP para configurar la máquina con el fin de registrar dinámicamente el nombre y la dirección de una máquina para la búsqueda DNS. El servicio Cliente DHCP registra los datos de nombre y dirección siempre que se modifican (ya sea manualmente por un administrador o automáticamente mediante la concesión o revocación de una concesión DHCP). En Windows Vista (y Windows Server 2008), Microsoft trasladó la funcionalidad de registro del servicio Cliente DHCP al servicio Cliente DNS .
Los servidores que ejecutan Microsoft Windows también intentan registrar otra información, además de sus nombres y direcciones IP, como las ubicaciones de los servicios LDAP y Kerberos que proporcionan.
Los sistemas operativos Microsoft Windows Server pueden ejecutar el servicio de servidor DNS . Se trata de un servidor DNS monolítico que proporciona muchos tipos de servicios DNS, incluidos el almacenamiento en caché, la actualización dinámica de DNS, la transferencia de zona y la notificación de DNS. La notificación de DNS implementa un mecanismo de envío para notificar a un conjunto seleccionado de servidores secundarios de una zona cuando se actualiza.
El servicio "DNS Server" de Microsoft se introdujo por primera vez en Windows NT 3.51 como complemento de la colección de servicios BackOffice de Microsoft , pero en ese momento estaba destinado a utilizarse únicamente con fines de prueba. Se hizo conocido por su incompatibilidad con los archivos de configuración de BIND , en particular por no admitir comodines DNS y por diferir en su implementación de IPv6 . Desde su introducción, Microsoft se ha preocupado por mejorar la interoperabilidad con BIND y otras implementaciones en términos de formato de archivo de zona, transferencia de zona y otros detalles del protocolo DNS.
En 2004, era el cuarto servidor DNS más popular (contando la versión 9 de BIND por separado de las versiones 8 y 4) para la publicación de datos DNS. [2]
Al igual que otros servidores DNS, el servidor DNS de Microsoft admite diferentes back-ends de bases de datos . El servidor DNS de Microsoft admite dos de estos back-ends. Los datos DNS se pueden almacenar en archivos maestros (también conocidos como archivos de zona ) o en la propia base de datos de Active Directory . En este último caso, dado que Active Directory (en lugar del servidor DNS) maneja la replicación real de la base de datos en varias máquinas, la base de datos se puede modificar en cualquier servidor ("replicación de múltiples maestros"), y la adición o eliminación de una zona se propagará inmediatamente a todos los demás servidores DNS dentro del "ámbito de replicación" apropiado de Active Directory. (Compare esto con BIND, donde cuando se realizan dichos cambios, la lista de zonas , en el archivo /etc/named.conf , tiene que actualizarse explícitamente en cada servidor individual).
El servidor DNS de Microsoft se puede administrar mediante una interfaz gráfica de usuario , la "Consola de administración de DNS", o una interfaz de línea de comandos , la utilidad dnscmd . Una novedad de Windows Server 2012 es un proveedor de PowerShell con todas las funciones para la administración del servidor DNS. [3]
Antes de Windows Server 2003 y Microsoft Windows 2000 Service Pack 3 , el problema más común que se encontraba con el servidor DNS de Microsoft era la contaminación de la caché . Aunque el servidor DNS de Microsoft tenía un mecanismo para tratar adecuadamente la contaminación de la caché, el mecanismo estaba desactivado de forma predeterminada. [4]
En 2004, un problema común involucraba la característica de la versión Windows Server 2003 del servidor DNS de Microsoft de usar EDNS0 , algo que un gran número de firewalls no podían afrontar. [5]