Professional Documents
Culture Documents
Servidores DNS
Con la explosión del número de hosts conectados a la red, que sucedió tras la creación de ARPAnet
en 1970 y la implantación del protocolo TCP/IP, la gestión de los nombres de cada uno de ellos y sus
direcciones en la red se volvió realmente costosa y poco escalable, lo que provocó el diseño de un
nuevo servicio de red llamado DNS. Este nuevo servicio con el tiempo se ha convertido en uno de los
pilares de lo que ahora conocemos como Internet.
E
n los inicios de ARPAnet, alrededor de 1970 actualizar el fichero en todos los hosts crecía debido al
linux@software.com.pl
cuando únicamente existía una pequeña canti- creciente tamaño del mismo y al número de hosts que
dad de hosts conectados entre ellos, la gestión poblaban ARPAnet que cada vez era mayor, la probabi-
de los nombres de estos se hacía mediante un lidad de un cambio en el fichero HOSTS.TXT maestro
fichero de texto llamado HOSTS.TXT que contenía una aumentaba según crecía la red por lo que era imposible
entrada "dirección-nombre" que asociaba la dirección de mantener un fichero HOSTS.TXT actualizado en cada
un host en la red con un nombre fácil de recordar por cada host de la red pues a los pocos minutos de una descarga
línea. De este modo cada usuario de la red podría referirse la copia maestra podría haber cambiado de nuevo siendo
a otro host utilizando su nombre ya que los sistemas de necesaria otra. Este servicio centralizado que distribuía
la época usaban dicho fichero para conocer la dirección dicho fichero era llamado NIC, no tenía autoridad sobre
asociada a ese nombre. los nombres añadidos a la copia maestra por lo que
Cada host tenía una copia de este fichero que era en ocasiones había múltiples entradas para el mismo
descargada de un servicio de información de red que nombre. Todos estos problemas realmente podían haber
mantenía la copia maestra. De este modo cada vez que acabado con ARPAnet pues impedían su crecimiento, su
un nuevo host aparecía en la red su dueño comunicaba estabilidad y su eficiencia.
a dicho servicio su presencia y por lo tanto era añadido La eliminación del cuello de botella que suponía te-
al fichero HOSTS.TXT maestro, los hosts de la red des- ner un sistema centralizado pasaba por crear un sistema
cargaban este fichero con cierta frecuencia para conocer descentralizado de administración de nombres. Además,
los nuevos miembros de la red. Este sistema centrali- dicho sistema debería permitir la administración local de
zado funcionaba pero tenía problemas graves como su nombres de forma que cada entidad pudiera gestionar sus
poca escalabilidad, el tráfico generado en la red para propios nombres y que estos fueran conocidos desde cual-
60 LiNUX+ 1/2010
internet
Servidores DNS
quier punto de la red. Organizar los nombres nombres. Es decir, en el nivel 1 no puede Esta conversión es realizada por un
de forma jerárquica garantizaría la unicidad haber dos nodos llamados "com". software que implementa la lógica descrita
de los nombres. A este nuevo sistema de Aquellos nodos con hijos los denominare- anteriormente. Habitualmente este software
nombrado de máquinas se le llamo "Domain mos subdominios, de modo que el nodo "bar" recibe el nombre de "servidor dns". Es el
Name System" o Sistema de Nombres de que cuelga de "com" es un subdominio, dicho encargado de gestionar un subdominio que ha
Dominio. subdominio recibirá el nombre "bar.com". sido delegado, es decir, cuando a la empresa
Escribirlo así garantiza la identificación uní- “bar” se le delega el subdominio "bar.com",
Representación de DNS voca. Esta gestión de los nombres permite de- esta utiliza este tipo de software para realizar
La mejor forma de entender y conocer DNS legar a las organizaciones que corresponda su dicha gestión. Sin una delegación explícita
es encontrando una buena forma de represen- parte del árbol, es decir, la organización bar hecha por “.com” dicho servidor jamás re-
tarlo, para ello vamos a utilizar un árbol como es la encargada de gestionar "foo" y "susan". cibirá peticiones del resto de Internet para
el de la Figura 1. Dicha estructura es muy Además, observamos que del nodo "bar" resolver nombres del subdominio “bar.com”,
adecuada para representar datos que están cuelgan nodos hoja, aquellos sin hijos, y otros por lo que es importante asegurarse que el
organizados de forma jerarquizada. En dicha subdominios como por ejemplo "foo" que co- subdominio está correctamente delegado.
figura, a primera vista observamos un nodo mo imagináis se escribirá "foo.bar.com". Los La mejor forma de entender cómo fun-
raíz denominado con el carácter ".", algunos primeros representan hosts físicos de la red y ciona la resolución de un nombre de dominio
nodos que nos son familiares y otros que no los segundos simplemente son subdominios es con un ejemplo básico.
lo son. El nodo raíz es aquel del cual cuelgan que podrían ser delegados a departamentos de Supongamos el nombre de dominio
el resto, es bajo el cual están todos los de- la organización bar. "fiona.foo.bar.com", dicho nombre pertenece
más, representa nuestro origen de nombres Como veis se puede delegar cada parte a un host cuya propiedad es de Fiona. Ade-
de dominio. del árbol (subdominios) a la organización, más, Fiona trabaja en el departamento "foo"
A continuación observamos los nodos departamento o persona que deseemos. De de la empresa "bar". En este host se encuentra
"com", "org", "edu" y "gov" que suelen escribi- este modo evitamos la gestión centralizada alojada una página web personal donde Fiona
rse con un "." delante como haremos a partir de los nombres y evitamos el cuello de publica textos de interés para otras personas
de ahora. Representan los llamados domi- botella que supuso la utilización del fichero de Internet. Imaginemos además que estás
nios de primer nivel o TLDs (Top Level HOSTS.TXT. interesado en visitar la página de Fiona. Ob-
Domains) y originalmente fueron creados Se observa de nuevo en la Figura 1 que viamente dada la inmensidad de Internet y la
para asociar cada nombre de dominio a una además existen lo que denominamos zonas. imposibilidad de aprenderse una combinación
temática, todos los nombres de dominio es- No son exactamente lo mismo que los sub- de números como la anterior, para cada una
tán bajo uno de estos nodos: dominios y es muy importante aclarar y en- de las páginas web que visitamos a diario, lo
tender las diferencias para posteriormente único que recordamos es que la dirección de
realizar una correcta configuración del soft- la web es "http://fiona.foo.bar.com", la cual
• .com: hosts relacionados con actividades ware que implementa el servicio de DNS. introducimos en nuestro navegador. A partir
comerciales. Cuando hablamos de subdominio nos de este momento, antes de empezar a recibir
• .gov: hosts relacionados con actividades estamos refiriendo a todo el árbol que cuelga datos de dicha página, se desarrolla una cade-
gubernamentales. por debajo de un nodo. Es decir, el subdominio na de acontecimientos llamada resolución del
• .edu: hosts relacionados con actividades "bar.com" es el árbol formado por los nodos nombre que en apenas milisegundos permi-
educativas. "susan", "foo" y todo lo que cuelga de foo y a tirán, a nuestro ordenador personal, saber la
• .es: hosts relacionados con España. la vez de sus hijos hasta las hojas situadas en el dirección del host que tiene dicha página web
• .org: todos los demás, es decir aquellos nivel más bajo del árbol. y utilizarla para pedir los datos que queremos
que no tienen una temática que pueda En cambio, una zona contiene la in- al lugar correcto.
asemejarse al resto de dominios de pri- formación que cuelga directamente de uno Muchos habréis observado cómo vues-
mer nivel. Por ejemplo organizaciones de los nodos, por ejemplo la zona "bar" del tro ordenador personal tiene configurado la
no lucrativas. subdominio "bar.com" contiene únicamente dirección IP de un servidor DNS. ¿Por qué no
la información referente a "foo" y a "susan". se usa un nombre? Porque no podemos usar
Actualmente existen 274 dominios de primer "susan" es un host luego será una dirección y un nombre para intentar encontrar el servidor
nivel. "foo" es otro subdominio lo cual será un pun- que resuelve nombres, parece obvio pero es
Dentro de los dominios de primer nivel tero a la organización/departamento al cual probablemente uno de los pocos casos en los
existen dos tipos, gTLDs (Global Top Level está delegado dicho subdominio. que la no utilización de nombres de dominio
Domains) y ccTLDs (Country Coded Top es razonable. Este servidor DNS, al cual
Level Domains). Los primeros son aquellos ¿Cómo funciona? llamaremos A, es a quién preguntamos algo
que no están asociados a un país como por La finalidad de este sistema es conseguir la así como: ¿cuál es la dirección del nombre de
ejemplo ".com" y los segundos son los aso- dirección de un host de la red dado un nombre dominio "fiona.foo.bar.com"?
ciados a un país como es el caso de ".es" para de dominio. Esta dirección viene expresada por El servidor DNS A actúa en modo forwar-
España. un valor llamado dirección IP que es una cadena der, como la mayoría de los servidores DNS
Dentro de cada nivel del árbol no pueden con 4 cifras separadas por el carácter "." como proporcionados por nuestro proveedor de ac-
existir dos nodos con el mismo nombre, esto por ejemplo: 192.168.0.45. A esta tarea se le ceso a Internet, esto significa que permite peti-
resuelve el problema de la duplicidad de llama resolución de nombre de dominio. ciones recursivas. O lo que es lo mismo, recoge
www.lpmagazine.org 61
internet
Servidores DNS
62 LiNUX+ 1/2010
internet
Servidores DNS
será el maestro y que el fichero con la infor- consideremos. Se desaconseja poner valores el registro SOA encontramos una serie de
mación de la zona será "/etc/bind/db.bar.com". inferiores a 3h para evitar la congestión de los parámetros:
A este fichero, también se la llama mapa de servidores autorizados, esto podría proteger-
zona. Además permitimos un servidor esclavo nos de un ataque de denegación de servicio • Serial: es la versión del fichero, cada
que tiene que tener la dirección IP indicada en en el cual una cantidad enorme de máquinas vez que realizamos una modificación
"allow-transfer". Es muy importante definir pregunten por un nombre del subdominio que debemos aumentar dicho número. Tie-
quiénes podrán ser esclavos del maestro, esto gestionamos ya que las respuestas a dicha ne el formato YYYYMMDDCC donde
evitará que personas con intenciones no muy cantidad de preguntas serían dadas por ca- YYYY es el año, MM el mes, DD el día
buenas puedan obtener una copia de nuestro ches de otros servidores en vez de nosotros. y CC un contador de modificaciones
mapa de zona y por lo tanto una pista estupen- Tampoco es bueno poner un $TTL demasiado hechas a lo largo del día. Es obligatorio
da del diseño de nuestra red y los nombres de grande para evitar inconsistencias entre el da- y muy importante como veremos más
nuestras máquinas lo que suele dar una pista to real y el dato almacenado en las caches del adelante actualizar el valor cada vez que
bastante buena del propósito de las mismas. resto de servidores DNS de Internet cuando modificamos el fichero.
A continuación debemos editar el fichero se realiza un cambio de IP para un nombre. • Refresh: es el valor que especifica cada
como aparece en el Listado 2. SOA, es un registro especial donde deci- cuanto tiempo los servidores esclavos
$TTL es el tiempo de vida que tendrá la mos en primer lugar que el servidor DNS intentarán sincronizarse con el servidor
información de la zona "bar.com" en las ca- primario de la zona es "dns1.bar.com" y que maestro.
ches de los servidores DNS que la almacenen. el correo electrónico de la persona que lo ad- • Retry: si durante un intento de sincroni-
Este valor puede ocasionar una pequeña falta ministra o persona de contacto es dnsmaster@ zación no se pudo conectar con el ser-
de sincronización si cambiamos la dirección bar.com. Debemos sustituir el primer "." por vidor maestro en este campo indicamos
de un host. Afortunadamente, controlamos @ para darnos cuenta de cual es la dirección cual será el tiempo con el que repetire-
ese valor y podemos modificarlo según de correo que representa. A continuación en mos desde el esclavo la sincronización.
• Expire: si durante el tiempo especificado
en este campo no hemos conseguido
sincronizar con el servidor maestro, el
servidor esclavo dará de baja la zona
automáticamente y no la servirá.
• Negative: es utilizado en los servidores
que actúan como forwarders, indica el
tiempo que se almacena en cache un
mensaje del tipo "nombre de dominio no
existe".
www.lpmagazine.org 63
internet
Servidores DNS
64 LiNUX+ 1/2010
internet
Servidores DNS
www.lpmagazine.org 65