Servicio DNS | Conceptos y Comandos

El servicio DNS se encarga de traducir y resolver nombres de dominio de computadoras conectadas a Internet con una IP.

 

 

¿Qué es el DNS?

 
El DNS es el Sistema de nombres de dominio. Permite que una IP se asocie a un nombre.
Por ejemplo, google.es es 8.8.8.8

Para navegar por internet siempre es necesario configurar un DNS en nuestro ordenador, que será quien resolverá las peticiones IP-nombre. Normalmente en una red casera se utiliza como servidor DNS el router, que es quien tendrá configurado otro servidor DNS de Internet que será el que realmente actúe como servidor DNS para las resoluciones de nombre.

Una herramienta relacionada con los DNS es el comando nskookup, que permite saber la IP de un nombre de dominio, y viceversa.
 
 

¿Qué es un servidor DNS y para qué sirve?

 
Los servidores DNS contienen información sobre nombres en la red, y también sobre otros resolvedores de nombres, de tal forma que esa información la van pasando a otros servidores DNS que actuan como “resolver” (porque resuelven esos nombres a su IP) que le puedan consultar.
 
Dentro de una red corporativa es bastante útil e incluso necesario contar con un servidor DNS interno. Se puede configurar un servidor DNS en Linux y en Windows.
 
 

¿Cómo está organizado el sistema DNS y qué es el ICANN?

 
El sistema DNS adopta una forma de base de datos distribuida y jerárquica, que almacena info acerca de computadoras que forman parte de una red;
(eso significa que está dividido en jerarquías o estamentos de diferente y gradual importancia, como una pirámide) y además utiliza el conocido modelo cliente-servidor. Así , por su jerarquía, sabemos que hay varios niveles de Dominios.
 
En la siguiente imagen podemos ver un ejemplo de la jerarquía del DNS.

Estructura jerarquica y niveles DNS
 

Éste es un archivo de Wikimedia Commons, un depósito de contenido libre hospedado por la Fundación Wikimedia. This file is licensed under the Creative Commons Attribution-Share Alike 2.5 Generic license.Autor de la imágen: http://de.wikipedia.org/wiki/Benutzer:Hank_van_Helvete
 

 

El ICANN es el responsable de los dominios superiores y del dominio raíz .

 
El ICANN posee 13 servidores de nombres distribuidos por el mundo, son los TNS (Top Name Servers).
Podemos consultarlos en http://root-servers.org/.

Todos ellos tienen la misma info replicada: las zonas con los nombres de dominio de segundo nivel de todo el mundo.
 

En este punto surge otro término importante: FQDN
 
 

¿Qué es el FQDN de un equipo?

 
El FQDN (Fully Qualified Domain Name – Nombre de dominio completamente cualificado) es formado por el nombre de la computadora y el nombre de dominio asociado.
Por ej, si tenemos un servidor que se llama “Servidor 1” , y un nombre de dominio como “ejemplo7.com”, el FQDN será “Servidor1.ejemplo7.com”

 

¿Cómo se Resuelve un nombre DNS?

 
Cuando intenta resolver un nombre, el cliente DNS dirige una petición al servidor DNS que tenga configurado. Si éste conoce la información , generará una respuesta; sino pasará la petición a otro servidor DNS configurado para el dominio superior.
 
Las peticiones sobre nombres de dominio pueden ser Recursivas o Iterativas.
 

– Consulta recursiva:

 
El servidor recibe una consulta y la retransmite, y así determina la info buscada y luego la devuelve al cliente.
 

– Consulta iterativa:

 
El servidor de nombres devuelve la información de la que dispone , y mostrará además de una lista de servidores adicionales con los que el cliente puede contactar para completar su consulta.
 
 
—>

Resolución Inversa:

 
La resolución Inversa es el proceso de averiguar el nombre de dominio asociado a una dirección IP (en lugar de la resolución normal que averigua la ip asociada a un dominio).

Para efectuar esta resolución se dispone del dominio especial : “in-addr.arpa”, también llamado el dominio inverso.

Dentro de este dominio se deben especificar las cifras de la IP al revés, empezando por el final ,y añadiendo “in-addr.arpa” al final del dominio.

Por ej, para la IP “181.73.45.20”, tendríamos “20.45.73.181.in-addr.arpa”

La resolución inversa es muy útil para ahorrar tiempo, por ej, si tuvieramos que resolver esta ip sin la resolución inversa, debería buscarse la IP en todas las zonas de todos los dominios de la red(y eso sería muy costoso).

 

 

¿Qué es una zona de DNS?

 
Una Zona de DNS es la parte de un dominio que es gestionada por una organización. Una zona y su dominio asociado no tienen por qué coincidir.
 

 

Tipos de Servidores DNS


 

Primario

Un servidor DNS primario se encarga de cargar la info de una zona, y tiene autoridad sobre ella.

 

Secundario

 
Un servidor DNS secundario tiene autoridad sobre una zona , pero obtiene la información de esa zona de un servidor primario utilizando un proceso llamado transferencia de zona.

Para mantenerse sincronizados, los servidores de nombres secundarios consultan a los primarios cada cierto tiempo, y vuelven a ejecutar la transferencia de zona si el primario ha sido actualizado

Un servidor primario o secundario realiza todas las funciones de un servidor caché.
 

 

Servidor DNS Caché

 
Un servidor dns caché no tienen autoridad sobre ninguna zona.
Cuando se le hace una consulta, la reenvía a los servidores que saben su respuesta.
Después almacena la respuesta en memoria y ya no tiene que preguntarla.

 
 

Servidor de Reenvío DNS

 
Un servidor de reenvío DNS no posee autoridad sobre las zonas que resuelve.

Responden las peticiones reenviándolas a los servidores que tiene configurados ,y espera su respuesta.
 

 

Comandos para resolución DNS

 

comando dig

 
El comando dig es una herramienta de resolución de nombres dns muy útil en entornos Linux.

por ej:

dig google.es

 
En este caso estamos realizando una consulta resursiva del dominio google.es, por lo que el servidor reenviará la consulta, y luego recoge la información y la mostrará.

Aquí tenéis un ejemplo:

Se pueden apreciar las direcciones de los servidores a los que se ha recurrido para consultar la información deseada acerca del nombre de dominio  “google.es” .

Y al final se aprecia también la dirección del servidor DNS que responde con la información conseguida después del reenvío de la consulta (192.168.1.94) :


Servicio DNS | dig
 

dig -x 192.168.1.220

Con esto lo que conseguimos es la resolución inversa. Es decir, resolveremos el nombre de dominio a partir de la IP.
 
 

Recordamos que las consultas son por defecto recursivas (el servidor pregunta al DNS y devuelve la información deseada).
Pero con el comando trace cómo funciona una consulta iterativa:

dig google.es +trace

Podemos observar un ejemplo de consulta iterativa, es decir, nos devuelve la información disponible sobre nuestra consulta y una lista de servidores que pueden completar la información deseada.

dig - resolución de nombres de dominio


 

 

nslookup

 
El comando nslookup también permite realizar consultas sobre DNS.

nslookup tiene 2 modos: Modo interactivo y modo no interactivo.
 

El modo no interactivose ejecuta de esta forma:  nslookup nombre_de_dominio.com

por ej:

nslookup google.es
o
nslookup eltallerdelbit.com

 

El resultado de una consulta será algo como :

nslookup - Resolución de nombres de dominio

 

El modo interactivo consiste en ejecutar :

nslookup

y a continuación el cursor cambiará y podremos introducir nombres de dominio e ip´s una tras otra.

nslookup Modo Interactivo

 

Espero que os haya sido útil este resúmen sobre el servicio DNS y algunas herramientas de resolución de nombres de dominio.