DNS (Domain Name System) es una abreviatura de Sistema de Nombres de Dominio, es decir un sistema para asignar nombres a equipos y servicios de red que se organizan en una jerarquía de dominios. La asignación de nombres DNS se utiliza en las redes TCP/IP, como Internet, para localizar equipos y servicios con nombres sencillos. Cuando un usuario escribe un nombre DNS en una aplicación, los servicios DNS podrán traducir el nombre a otra información asociada con el mismo, como una dirección IP.
No cabe duda que un nombre sencillo resulta más fácil de aprender y recordar, pero los equipos se comunican a través de una red mediante direcciones numéricas; para facilitar el uso de los recursos de red, los servicios de nombres como DNS proporcionan una forma de asignar estos nombres sencillos de equipos o servicios, a sus direcciones numéricas, de modo que por ejemplo, si alguna vez hemos utilizado un navegador web, hemos utilizado resoluciones DNS.
El DNS se definió originalmente en los documentos de Petición de comentarios (RFC, Request for Comments) 1034 y 1035, documentos que especifican elementos comunes a todas las implementaciones de software relacionadas con DNS, entre los que se incluyen:
El espacio de nombres de dominio DNS se basa en el concepto de un árbol de dominios con nombre, de modo que cada nivel del árbol puede representar una rama o una hoja del árbol. Una rama es un nivel donde se utiliza más de un nombre para identificar una colección de recursos con nombre, y una hoja representa un nombre único que se utiliza una vez en ese nivel para indicar un recurso específico.
En nuestro caso configuraremos un servidor DNS local, es decir, las entradas existentes en nuestro DNS no serán visibles en Internet y resolverán direcciones de recursos de nuestra red local (equipos, impresoras, servidores web, servidores ftp, etc); cuando un usuario de nuestra red intente acceder a un recurso local, podrá utilizar la resolución creada para tal fin en el DNS local, y acceder así al recurso deseado mediante su nombre en vez de utilizar su dirección IP; si el usuario desea acceder a algún recurso no perteneciente a nuestra red local, sino situado en Internet, el DNS local nunca podrá llevar a cabo dicha resolución y trasladará dicha solicitud al siguiente servidor DNS (que sí estará en Internet) en su jerarquía de servidores DNS, y así sucesivamente hasta que resuelva dicha resolución.
En la línea indicada, cada vez que una estación de trabajo se agregue al dominio quedará registrada una entrada en el DNS del servidor "Windows 2003 Server" con el nombre de dicha máquina y su dirección IP, de modo que podremos acceder a dicho equipo desde nuestro dominio a través de su nombre en vez de utilizar su dirección IP. Así pues si disponemos de una estación de trabajo integrada en el dominio Active Directory de nuestro servidor "Windows 2003 Server" cuyo nombre sea "Equipo10" y cuya dirección IP sea "192.168.0.40", podríamos lanzar el comando "ping" tanto contra su dirección IP ("ping 192.168.0.40") como contra su nombre en el dominio ("ping Equipo10.micentro.edu"), y en ambos casos obtendremos respuesta positiva.
NOTA: Lo comentado en el párrafo anterior es extremadamente útil cuando las estaciones de trabajo reciben su dirección IP mediante el servicio DHCP, como será nuestro caso, pues puede ocurrir que el comando "ping" fallase cuando se lanza contra la dirección IP que supuestamente creemos que tiene asignada un equipo del dominio, pues dicha dirección IP se le asignará dinámicamente mediante el servicio DHCP y puede variar, pero sin embargo el comando "ping" no fallaría si se ejecuta contra el nombre del equipo en el dominio, pues dicho nombre de equipo es invariable, y por lo tanto el comando "ping" siempre obtendría respuesta positiva en este segundo caso.
Otro ejemplo de utilidad del servidor DNS de "Windows 2003 Server" podríamos verlo en el acceso a un servidor web instalado en nuestro equipo servidor; si deseamos acceder a dicho sitio web mediante la resolución "www" en el dominio "micentro.edu", hemos de introducir en el DNS local una entrada que resuelva "www" contra la dirección IP de nuestro equipo servidor, de modo que cuando desde los navegadores de cualquier equipo de la red local introduzcamos la URL "http://www.micentro.edu" accedamos a nuestro servidor web. Igualmente, si tenemos en nuestro servidor "Windows 2003 Server" un servidor FTP al cual deseamos acceder mediante la resolución "ftp" en el dominio "micentro.edu", podemos pensar en introducir en nuestro DNS otra resolución "ftp" apuntado a la dirección IP del servidor, de modo que las resoluciones "ftp.micentro.edu" localicen y ubiquen adecuadamente el servidor ftp.
El gráfico anterior muestra cómo "micentro" sería la autoridad asignada por los servidores raíz de Internet (si es que esta resolución existiera realmente en algún servidor DNS en Internet) para su propia parte del árbol del espacio de nombres de dominio DNS en Internet. Los clientes y los servidores DNS usan las consultas como el método fundamental para resolver los nombres en el árbol como información específica de los tipos de recurso. Los servidores DNS proporcionan esta información a los clientes DNS en las respuestas a las consultas, quienes, a continuación, extraen la información y la pasan al programa solicitante para resolver el nombre consultado.
En el proceso de resolución de un nombre, hay que tener en cuenta que los servidores DNS funcionan frecuentemente como clientes DNS, consultando a otros servidores DNS para resolver completamente un nombre consultado.
Antes de comenzar con los procesos de instalación y configuración de nuestro DNS, vamos a definir algunos términos que utilizaremos a lo largo de dicho proceso.