Este artículo tratará de los DNS, unas siglas que oímos habitualmente pero que para mucha gente es algo totalmente desconocido. Trataremos de explicaros qué son, para qué se utilizan y en entregas posteriores os enseñaremos a montar un servidor DNS propio en Ubuntu. La entrada va dirigida principalmente a gente que no sabe mucho sobre el tema, por ello lo trataremos de un modo sencillo y ameno.
¿Qué significa DNS?
>DNS son unas siglas en inglés (Domain Name System). En castellano viene a significar Sistema de Nombres de Dominio. Hasta aquí todo bien, ahora que ya entendemos lo que significa, vamos a sacar una definición simple derivada de sus siglas. Es un sistema de nombres, lo que significa que va a dar nombres a cosas que en un principio no lo tienen, o no se consideran un nombre propiamente. Básicamente DNS es eso, un sistema que tiene una base de datos, que relaciona, una serie de objetos a nombrar, con un nombre y así poder ser reconocidos por ese nombre.
¿Para qué se utiliza?
Para entender esta pregunta, debemos conocer el funcionamiento de una red local. Cada ordenador o dispositivo que forme parte de una red tiene una dirección IP, que varía dependiendo de la configuración de este. Para poder acceder a ese ordenador o dispositivo, debemos conocer su dirección IP.
Una dirección IP es un conjunto de números que indican a qué red pertenece un equipo o dispositivo y un identificador para diferenciarlos de otros equipos o dispositivos de la red.
Ejemplo:
192.168.0.25
En este caso los 3 primeros Bytes definen la red (192.168.0) y el último byte define el dispositivo en concreto de esa red (.25).
Entonces, si queremos conectarnos a ese ordenador o dispositivo, debemos saber esta serie de números. Lo cual, puede llegar a ser complejo dependiendo del número de nodos conectados en red.
El sistema de nombres de dominio, sirve para que en un dominio, podamos poner un nombre más sencillo a las IPs y en vez de denominar a un ordenador pos su dirección IP, podremos referirnos a él como "juan_oficina". Lo cual es mucho más fácil. Ahora entendemos porqué se suele decir que un servidor DNS resuelve una dirección IP, significa que traduce una dirección IP en un nombre.
Otro servicio que puede realizar es el de conectarse con otros servidores DNS y así poder traducir nombres de otras redes no relacionadas con el primero. Sin esto, Internet sería mucho más complicado. Internet funciona con una serie de dominios que nos permiten resolver cualquier dirección mediante jerarquía. Me explico:
Una página web, debe estar alojada en un ordenador que está ejecutando un servidor web, con lo cual debe tener una dirección IP, ya que Internet se basa en el protocolo TCP/IP. Podremos acceder a la página web mediante esa IP, pero en realidad nosotros escribimos una dirección web, que se trata ni más ni menos de una serie de servidores separados por puntos.
Cuando nosotros introducimos en un navegador:
www.mikejr1.es/linux
Enviaremos una petición al servidor DNS raíz o root denominado "." en el cual se almacenan la lista de otros servidores dns con los dominios com, es, org.... y en este caso nos enviará al servidor DNS com.
El siguiente servidor al que nos dirige es al servidor donde esté alojada la página web, mikejr1.es/linux y por último a www porque es el directorio donde se aloja la página inicial.
Para resumir este punto, podemos decir que el servidor sirve para relacionar unos servidores con otros, permitiendo relacionarse entre ellos, y hacerlo de una forma más amable a las personas que manejan la información.
Formas de resolver nombres
Existen dos formas para que un servidor de nombres de dominio pueda traducir:
ITERATIVA
Esta forma de búsqueda se reduce al ámbito local del servidor, es decir, al recibir una petición el servidor busca en todos los registros almacenados hasta dar con la información necesaria.
RECURSIVA
El servidor no cuenta con la petición recibida, y se dispone a buscarla fuera de este, contactando con otro servidor raíz que lo dirige a otro, y este a otro y así hasta conseguir la información necesaria.
Tipos de Registros
Para guardar registros en un DNS tenemos que asignarle un tipo de registro para saber qué función va a realizar en él. Entre los más importantes estan:
- A : (Address) Este registro sirve para asignar un nombre a una IPv4
- AAAA : Igual que el anterior, pero para IPv6
- CNAME : (Canonical Name ó Nombre Canónico) Se usa para denominar de otro modo, un servidor. Es como ponerle un Alias a un servidor que ya tiene un nombre.
- MX : (Mail Exchange ó Registro de Intercambio de Correo) Sirve para los servidores de correo electrónico.
- PTR : (Pointer ó Indicador) Sirve para crear el inverso del registro A. Lo cual será útil para cuando tengamos una IP, nos diga que nombre tiene.
Y esto ha sido un breve artículo sobre los servidores DNS, espero haber sido bastante claro y simple. En próximas entregas mostraremos cómo montar un servidor en Ubuntu.
Fuente: nosinmiubuntu