Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SEMANA 8
DNS
Todos los derechos de autor son de la exclusiva propiedad de IACC o de los otorgantes de sus licencias. No está
permitido copiar, reproducir, reeditar, descargar, publicar, emitir, difundir, poner a disposición del público ni 1
ESTE
utilizarDOCUMENTO
los contenidos paraCONTIENE LAdeSEMANA
fines comerciales 8
ninguna clase.
2
ESTE DOCUMENTO CONTIENE LA SEMANA 8
ÍNDICE
DNS ...................................................................................................................................................... 4
OBJETIVOS ESPECÍFICOS ........................................................................................................................... 4
INTRODUCCIÓN ...................................................................................................................................... 4
1. Servidor DNS.................................................................................................................................... 5
1.1. Como funcionan los DNS ...................................................................................................... 9
1.2. Jerarquía de servidores ....................................................................................................... 10
1.3. Roles de servidores DNS ..................................................................................................... 11
1.4. Primario vs esclavo ............................................................................................................. 12
2. Instalando DNS............................................................................................................................... 12
2.1. Archivos de zona ................................................................................................................. 18
2.2. Finalización del ejemplo ..................................................................................................... 21
COMENTARIO FINAL.......................................................................................................................... 25
REFERENCIAS........................................................................................................................................ 26
3
ESTE DOCUMENTO CONTIENE LA SEMANA 8
DNS
OBJETIVOS ESPECÍFICOS
Reconocer los distintos componentes de un servidor DNS.
Evaluar las distintas opciones de instalación de un servidor DNS.
Escoger una de las opciones de configuración de un servidor DNS.
INTRODUCCIÓN
Si una persona ha utilizado Internet en su vida, se puede decir que esta persona ha utilizado DNS,
aunque no se hubiera dado cuenta. Internet está compuesta de billones de máquinas conectadas
(si se toma en consideración IPv4 son 4.294.967.296 máquinas o
340.282.366.920.938.463.463.374.607.431.768.211.456 máquinas si se toma en consideración
IPv6).
Es casi imposible memorizar la dirección IP de todos los sitios que las personas visitan
regularmente, de hecho, es probable que la memorización de esa IP no sea relevante para las
personas. Por ejemplo, muchos estudiantes vistan 200.6.18.15 todos los días, pero seguramente
no saben que esa es la dirección IP de www.iacc.cl. Es difícil, recordar números más fácil recordar
palabras.
Es aquí donde entra DNS (Domain Name System por sus sigla en inglés), el cual actúa básicamente
como una gigantesca guía telefónica que se encarga de traducir los dominios que conoce como
www.iacc.cl, www.google.como, www.lun.cl , etc., a sus respectivas direcciones IP.
4
ESTE DOCUMENTO CONTIENE LA SEMANA 8
1. Servidor DNS
Antes de iniciar el contenido de esta semana acerca de los servidores de nombres, es conveniente
identificar algunos términos que serán de utilidad:
Fuente: http://www.mastermagazine.info/termino/4714.php
Nombre de dominio: Domain Name en inglés. El nombre de dominio es el nombre amigable que
las personas normalmente asocian con un recurso de internet. Por ejemplo “iacc.cl” es un nombre
de dominio. Algunos argumentan que el segmento “iacc” es el nombre del dominio, pero por lo
general el combinado “iacc.cl” será el nombre del dominio.
Fuente: http://soupupyoursite.com/so-you-wanna-start-a-website/choosing-a-domain-name/
Dirección IP: una dirección IP es el identificador por el cual es posible localizar a un servidor, cada
dirección IP debe ser única dentro de su red. Cuando -se hace referencia- a servidores web, de
email, etc., la red de la que se habla es de Internet, y por lo tanto, la dirección IP debe ser única
dentro de Internet. En la actualidad se utiliza normalmente IPv4 por lo que se hará referencia a
este formato.
5
ESTE DOCUMENTO CONTIENE LA SEMANA 8
Una dirección IPv4 está compuesta de cuatro sets de tres dígitos cada uno separados por punto.
Es decir, de la forma “aaa.bbb.ccc.ddd”. Cada segmento va desde el 0 hasta el 256. Una dirección
IPv6 está compuesta de ocho números hexadecimales separados por “:”, un ejemplo de Ipv6 es
por ejemplo 2001:0cb8:85a3:0000:0000:8a2e:0370:7334.
Fuente:http://courses.cs.washington.edu/courses/cse190m/11sp/lectures/slides/lecture01-internet-
html.shtml
Dominio de alto nivel: Top-level Domain en inglés o simplemente TLD. Es la parte más general de
un dominio, el TLD es la porción de más a la derecha dentro de una dirección. Los TLD más
comunes son .com, .net, .org, .edu. Adicionalmente existe un TLD por cada país, en el caso de Chile
el TLD es .cl. Los dominios de alto nivel se encuentran bajo el control de ICANN (Internet
Corporation for Assigned Names and Numbers) que distribuye la administración de algunos TLD a
entes registrantes, en el caso de Chile, el administrador del TLD .cl es NIC Chile.
Fuente: http://www.masterworks.com/2014/07/ngo-the-new-non-profit-domain
Hosts: el propietario de un dominio puede definir equipos individuales. Por lo general, los
administradores eligen utilizar simplemente el dominio (iacc.cl) y hacer referencia a su servidor
web a través de la definición “www”. Otro ejemplo común es habilitar el servidor de ftp bajo la
definición “ftp” por lo que el servidor quedaría disponible bajo ftp.dominio.cl. Los nombres de
hosts pueden ser de cualquier largo mientras sean únicos dentro del dominio.
6
ESTE DOCUMENTO CONTIENE LA SEMANA 8
Fuente: http://www.allywebs.com/webhosting.html
Subdominio: DNA funciona de modo jerárquico, un TLD puede tener muchos dominios, por
ejemplo “emol.cl” y “iacc.cl” ambos pertenecen al TLD “.cl” por lo que tanto “iacc” como “emol”
son subdominios de “.cl”. De igual forma un dominio puede tener varios subdominios, en estricto
rigor, si el grupo de finanzas de iacc tuviera su propio servidor web, el administrador del dominio
podría crear el subdominio “finanzas” y apuntar el servidor web del grupo de finanzas mediante
una URL de la forma www.finanzas.iacc.cl
Fuente: http://www.dailyhostnews.com/sub-domain-or-sub-directory
7
ESTE DOCUMENTO CONTIENE LA SEMANA 8
Fuente: http://tsdnet.estudio.com.sg/EIDTSDCMS/Flash13/Windows_Server_TSP_Version/win_server/5-
32.htm
Fuente: http://www.websitepulse.com/blog/how-to-check-a-name-server
8
ESTE DOCUMENTO CONTIENE LA SEMANA 8
Servidor de nombres: un servidor de nombres (Name Server en inglés) se encarga de traducir los
nombres de dominio a direcciones IP. La mayoría de los servidores de nombre trabaja dentro del
sistema de DNS, ya que el número de dominios es demasiado grande para que un solo servidor se
encargue de ello, cada servidor puede redirigir las consultas que reciba a otro servidor de nombres
o delegar la responsabilidad de una porción -de los dominios que controle. Los servidores pueden
ser autoritativos (dan respuesta directa sobre dominios bajo su control) o redirigir a otros
dominios o almacenar copia de los datos de otro servidor de nombres.
Archivo de zona: un archivo de zona es simplemente un archivo de texto que contiene una
asociación entre nombre de dominio y direcciones IP. Esta es la forma en la que un servidor DNS
sabe cuál IP debe ser contactada cuando un usuario solicita algún dominio. Los archivos de zona
residen en los servidores de nombre.
Registro: Un registro es una entrada dentro de un archivo de zona, este registro es una asociación
entre un recurso y su nombre.
Fuente : http://4.bp.blogspot.com/-gkzBLu2Almw/Uux72aXNBKI/AAAAAAAAGOY/y3kjyW7jCEw/s1600/dns-
rev-3.jpg
9
ESTE DOCUMENTO CONTIENE LA SEMANA 8
Cuando una aplicación quiere accesar un servidor utilizando su nombre de dominio, lo primero
que se debe hacer es saber cómo traducir el nombre de dominio en una dirección IP a la cual
pueda dirigirse. Sin esta información no se puede enviar ni recibir dato alguno. Algunas
aplicaciones como un navegador y otras, mantienen un registro interno de las direcciones a las
que han accesado recientemente. Este es el primer lugar en donde dicha aplicación buscará
resolver la IP. Si no seencuentra aquí, la aplicación solicitará al resolvedor del equipo que
determine cuál es la IP a la cual debe dirigirse.
Un resolvedor es, en general, cualquier componente que participe en una consulta de DNS en
modo cliente, por lo general los resolvedores los equipos normales son llamados “resolvedores
tontos” pues no van más allá de consultar algunos archivos del sistema como /etc/hosts (recordar
que en semanas anteriores se modificó este archivo para hacer algunos servicios ubicables para el
servidor) y en caso de el registro buscado no se encuentre allí, redireccionar la petición a otro
resolvedor.
La aplicación generó una solicitud de DNS, la cual fue entregada al resolvedor del sistema, este al
no poder resolver la solicitud, se contacta con un servidor DNS para el cual ya conoce su IP. Este
servidor DNS es lo que se conoce como un servidor DNS recursivo. Se llaman de esta forma pues
estos servidores han sido configurados para contactarse con otros servidores DNS hasta que
logren resolver la consulta o retornen un mensaje de error al cliente.
Si no logra resolver ningún componente del dominio, el servidor debe comenzar por el tope de la
jerarquía preguntando directamente a los servidores raíz del sistema DNS, estos servidores
conocen las direcciones de todos los servidores TLD que controlan las zonas .com, .net, .cl, etc. En
el ejemplo, al preguntar por www.iacc.cl a un servidor root, este redirigirá la consulta al servidor
TLD de .cl.
De esta forma cada servidor va dirigiendo al cliente hasta el servidor que contiene el registro
exacto que se estaba buscando.
10
ESTE DOCUMENTO CONTIENE LA SEMANA 8
Fuente: http://opentodo.net/2011/12/a-bit-of-bind-part-i/
Root servers: existen 13 servidores raíz en todo el mundo. Puede obtener un listado de ellos en:
https://www.iana.org/domains/root/servers. Los servidores raíz en realidad no saben dónde está
ubicado cada dominio, pero sí pueden indicar quién debiera saber dónde se encuentra el TLD del
dominio que se busca.
TLD servers: los servidores de TLD son los que contienen información sobre cada TLD. Un servidor
raíz, por lo general dirigirá las consultas a un servidor TLD. Si una persona busca www.iacc.cl, el
servidor raíz lo dirigirá al servidor TLD de “.cl”. Este, a su vez, no conoce www.iacc.cl, pero si tiene
información de quien es servidor responsable de iacc.cl.
Servidor DNS Autoritativo: los servidores autoritativos solo se preocupan de responder consultas
relacionadas a la zona de la que son responsables, ya que no ayudan a resolver consultas sobre
zonas que no son las suyas, por lo general son muy rápidos y eficientes para responder consultas.
Adicionalmente, los servidores autoritativos no responden consultas recursivas, es decir, única y
11
ESTE DOCUMENTO CONTIENE LA SEMANA 8
exclusivamente responden sobre la zona que les corresponde. Por este mismo motivo, no tienen
caché de otras zonas.
Servidores DNS de caché: los servidores de caché se encargan de manejar las consultas recursivas
de los clientes. Mientras los servidores autoritativos son ideales para responder consultas sobre
dominios, los servidores de caché son más útiles para los clientes en general, ya que resuelven y
almacenan los resultados de varias consultas, de esta forma, los clientes no deben pasar por varios
servidores antes de encontrar lo que buscan.
2. INSTALANDO DNS
La instalación de un servidor DNS se facilita enormemente gracias a yum. Adicionalmente, Fedora
tiene la opción de instalar una versión del daemon que corre bajo un chroot. El nombre del
daemon con el cual corre el servidor DNS es named-chroot.
Para proceder con la instalación del servidor DNS, es necesario ejecutar el comando yum con el
nombre del paquete a instalar, en este caso es bind-chroot.
12
ESTE DOCUMENTO CONTIENE LA SEMANA 8
[root@localhost ~]# yum install bind-chroot
Complementos cargados:langpacks, refresh-packagekit
Bloqueo existente en /var/run/yum.pid: otra copia se encuentra en ejecución como
pid 2202.
Another app is currently holding the yum lock; waiting for it to exit...
La otra aplicación es: PackageKit
Memoria : 289 M RSS (714 MB VSZ)
Iniciado: Mon Nov 10 19:09:19 2014 - 02:59 atrás
Estado : Ininterrumplible, pid: 2202
Resolviendo dependencias
--> Ejecutando prueba de transacción
---> Paquete bind-chroot.x86_64 32:9.9.4-15.P2.fc20 debe ser instalado
--> Procesando dependencias: bind = 32:9.9.4-15.P2.fc20 para el paquete:
32:bind-chroot-9.9.4-15.P2.fc20.x86_64
--> Ejecutando prueba de transacción
---> Paquete bind.x86_64 32:9.9.4-15.P2.fc20 debe ser instalado
--> Procesando dependencias: bind-libs = 32:9.9.4-15.P2.fc20 para el paquete:
32:bind-9.9.4-15.P2.fc20.x86_64
--> Ejecutando prueba de transacción
---> Paquete bind-libs.x86_64 32:9.9.4-8.fc20 debe ser actualizado
---> Paquete bind-libs.x86_64 32:9.9.4-15.P2.fc20 debe ser una actualización
--> Procesando dependencias: bind-license = 32:9.9.4-15.P2.fc20 para el paquete:
32:bind-libs-9.9.4-15.P2.fc20.x86_64
--> Ejecutando prueba de transacción
---> Paquete bind-license.noarch 32:9.9.4-8.fc20 debe ser actualizado
--> Procesando dependencias: bind-license = 32:9.9.4-8.fc20 para el paquete:
32:bind-libs-lite-9.9.4-8.fc20.x86_64
---> Paquete bind-license.noarch 32:9.9.4-15.P2.fc20 debe ser una actualización
--> Ejecutando prueba de transacción
---> Paquete bind-libs-lite.x86_64 32:9.9.4-8.fc20 debe ser actualizado
---> Paquete bind-libs-lite.x86_64 32:9.9.4-15.P2.fc20 debe ser una
actualización
--> Resolución de dependencias finalizada
Dependencias resueltas
================================================================================
Package Arquitectura
Versión Repositorio Tamaño
================================================================================
Instalando:
bind-chroot x86_64 32:9.9.4-15.P2.fc20 updates 82 k
Instalando para las dependencias:
bind x86_64 32:9.9.4-15.P2.fc20 updates 1.6 M
Actualizando para las dependencias:
bind-libs x86_64 32:9.9.4-15.P2.fc20 updates 990 k
bind-libs-lite x86_64 32:9.9.4-15.P2.fc20 updates 702 k
bind-license noarch 32:9.9.4-15.P2.fc20 updates 80 k
Resumen de la transacción
================================================================================
Instalar 1 Paquete (+1 Paquete dependiente)
Actualizar ( 3 Paquetes dependientes)
13
ESTE DOCUMENTO CONTIENE LA SEMANA 8
Tamaño total de la descarga: 1.7 M
Is this ok [y/d/N]: n
Exiting on user command
Su transacción fue guardada, vuelva a ejecutarla con:
yum load-transaction /tmp/yum_save_tx.2014-11-10.19-12.sHrc7z.yumtx
[root@localhost ~]# yum install bind-chroot bind-utils
Complementos cargados:langpacks, refresh-packagekit
Resolviendo dependencias
--> Ejecutando prueba de transacción
---> Paquete bind-chroot.x86_64 32:9.9.4-15.P2.fc20 debe ser instalado
--> Procesando dependencias: bind = 32:9.9.4-15.P2.fc20 para el paquete:
32:bind-chroot-9.9.4-15.P2.fc20.x86_64
---> Paquete bind-utils.x86_64 32:9.9.4-8.fc20 debe ser actualizado
---> Paquete bind-utils.x86_64 32:9.9.4-15.P2.fc20 debe ser una actualización
--> Ejecutando prueba de transacción
---> Paquete bind.x86_64 32:9.9.4-15.P2.fc20 debe ser instalado
--> Procesando dependencias: bind-libs = 32:9.9.4-15.P2.fc20 para el paquete:
32:bind-9.9.4-15.P2.fc20.x86_64
--> Ejecutando prueba de transacción
---> Paquete bind-libs.x86_64 32:9.9.4-8.fc20 debe ser actualizado
---> Paquete bind-libs.x86_64 32:9.9.4-15.P2.fc20 debe ser una actualización
--> Procesando dependencias: bind-license = 32:9.9.4-15.P2.fc20 para el paquete:
32:bind-libs-9.9.4-15.P2.fc20.x86_64
--> Ejecutando prueba de transacción
---> Paquete bind-license.noarch 32:9.9.4-8.fc20 debe ser actualizado
--> Procesando dependencias: bind-license = 32:9.9.4-8.fc20 para el paquete:
32:bind-libs-lite-9.9.4-8.fc20.x86_64
---> Paquete bind-license.noarch 32:9.9.4-15.P2.fc20 debe ser una actualización
--> Ejecutando prueba de transacción
---> Paquete bind-libs-lite.x86_64 32:9.9.4-8.fc20 debe ser actualizado
---> Paquete bind-libs-lite.x86_64 32:9.9.4-15.P2.fc20 debe ser una
actualización
--> Resolución de dependencias finalizada
Dependencias resueltas
================================================================================
Package Arquitectura
Versión Repositorio Tamaño
================================================================================
Instalando:
bind-chroot x86_64 32:9.9.4-15.P2.fc20 updates 82 k
Actualizando:
bind-utils x86_64 32:9.9.4-15.P2.fc20 updates 356 k
Instalando para las dependencias:
bind x86_64 32:9.9.4-15.P2.fc20 updates 1.6 M
Actualizando para las dependencias:
bind-libs x86_64 32:9.9.4-15.P2.fc20 updates 990 k
bind-libs-lite x86_64 32:9.9.4-15.P2.fc20 updates 702 k
bind-license noarch 32:9.9.4-15.P2.fc20 updates 80 k
Resumen de la transacción
================================================================================
Instalar 1 Paquete (+1 Paquete dependiente)
Actualizar 1 Paquete (+3 Paquetes dependientes)
14
ESTE DOCUMENTO CONTIENE LA SEMANA 8
Tamaño total: 3.8 M
Tamaño total de la descarga: 1.7 M
Is this ok [y/d/N]: y
Downloading packages:
(1/2): bind-chroot-9.9.4-15.P2.fc20.x86_64.rpm | 82 kB 00:02
(2/2): bind-9.9.4-15.P2.fc20.x86_64.rpm | 1.6 MB 00:08
--------------------------------------------------------------------------------
Total 194 kB/s | 1.7 MB 00:08
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Actualizando : 32:bind-license-9.9.4-15.P2.fc20.noarch 1/10
Actualizando : 32:bind-libs-9.9.4-15.P2.fc20.x86_64 2/10
Instalando : 32:bind-9.9.4-15.P2.fc20.x86_64 3/10
Instalando : 32:bind-chroot-9.9.4-15.P2.fc20.x86_64 4/10
Actualizando : 32:bind-utils-9.9.4-15.P2.fc20.x86_64 5/10
Actualizando : 32:bind-libs-lite-9.9.4-15.P2.fc20.x86_64 6/10
Limpieza : 32:bind-utils-9.9.4-8.fc20.x86_64 7/10
Limpieza : 32:bind-libs-9.9.4-8.fc20.x86_64 8/10
Limpieza : 32:bind-libs-lite-9.9.4-8.fc20.x86_64 9/10
Limpieza : 32:bind-license-9.9.4-8.fc20.noarch 10/10
Comprobando : 32:bind-libs-9.9.4-15.P2.fc20.x86_64 1/10
Comprobando : 32:bind-libs-lite-9.9.4-15.P2.fc20.x86_64 2/10
Comprobando : 32:bind-license-9.9.4-15.P2.fc20.noarch 3/10
Comprobando : 32:bind-utils-9.9.4-15.P2.fc20.x86_64 4/10
Comprobando : 32:bind-chroot-9.9.4-15.P2.fc20.x86_64 5/10
Comprobando : 32:bind-9.9.4-15.P2.fc20.x86_64 6/10
Comprobando : 32:bind-utils-9.9.4-8.fc20.x86_64 7/10
Comprobando : 32:bind-libs-lite-9.9.4-8.fc20.x86_64 8/10
Comprobando : 32:bind-libs-9.9.4-8.fc20.x86_64 9/10
Comprobando : 32:bind-license-9.9.4-8.fc20.noarch 10/10
Instalado:
bind-chroot.x86_64 32:9.9.4-15.P2.fc20
Dependencia(s) instalada(s):
bind.x86_64 32:9.9.4-15.P2.fc20
Actualizado:
bind-utils.x86_64 32:9.9.4-15.P2.fc20
Dependencia(s) actualizada(s):
bind-libs.x86_64 32:9.9.4-15.P2.fc20
bind-libs-lite.x86_64 32:9.9.4-15.P2.fc20
bind-license.noarch 32:9.9.4-15.P2.fc20
¡Listo!
[root@localhost ~]#
Una vez instalado, se configura para que comience de forma automática al iniciar el servidor:
15
ESTE DOCUMENTO CONTIENE LA SEMANA 8
[root@localhost ~]# systemctl enable named-chroot.service
ln -s '/usr/lib/systemd/system/named-chroot.service'
'/etc/systemd/system/multi-user.target.wants/named-chroot.service'
La configuración de Named es distinta del resto de las configuraciones, el archivo está dividido en
secciones. Existe una sección global llamada “options”, en donde todas las configuraciones
aplicarán a todas las zonas, adicionalmente el archivo puede llevar tantas secciones de “zonas”
como se desee.
Las configuraciones dentro de una zona solo aplicarán a dicha zona y tendrán precedencia sobre
las configuraciones globales.
16
ESTE DOCUMENTO CONTIENE LA SEMANA 8
El archivo de configuración del servidor DNS se encuentra en /etc/named.conf y al igual que en
semanas anteriores revisaremos algunas de sus opciones de configuración:
Es posible que su servidor tenga dos o más tarjetas de red, cada una de ellas en algún bloque
distinto de su red, por ejemplo, una tarjeta podría dar a la red externa, la segunda podía estar
conectada a su DMZ mientras que la tercera podría dar a su red interna. En estos casos es
conveniente limitar a named a que solo permita conexiones en aquellas interfaces que sean
consideradas seguras:
# vi /etc/named.conf
listen-on port 53 { 127.0.0.1; };
Se puede restringir que rango de IP pueden hacer consultas al servidor DNS. En un servidor de
producción, por lo general solo se permite el rango de IP interna de la organización:
# vi /etc/named.conf
allow-query { localhost; };
Como se mencionó, en el caso de tener un servidor esclavo, este realiza una transferencia de zona
desde el servidor maestro, por lo tanto solo se debe permitir la transferencia desde esa IP. Nótese
que es posible agregar esta opción en la sección global o en su defecto, denegarla en forma global
y permitirla de forma local para cada zona:
# vi /etc/named.conf
allow-transfer { <ip servidor>; };
# vi /etc/named.conf
recursion yes;
allow-recursion { 192.168.56.0/24; localhost; };
Para crear una nueva zona para el servidor DNS, se implementa una nueva sección al final del
archivo. Se debe crear una de estas entradas para cada una de las zonas que se desea. En este
17
ESTE DOCUMENTO CONTIENE LA SEMANA 8
ejemplo se creará una entrada para la zona a.com” que se utilizó en semanas anteriores. Recordar
que Named está siendo ejecutado con chroot, por lo que se creará cada archivo de zona en
/var/named/chroot/var/named/ para Named, estos se encuentran en /var/named.
# vi /etc/named.conf
zone “a.com" IN {
type master;
file "/var/named/a.com.zone";
allow-query { localhost; };
};
Una vez que se ha declarado la zona se puede proceder a especificar sus detalles.
# vi /var/named/chroot/var/named/a.com.zone
ns1.a.com. IN A 192.168.56.101
ns2.a.com. IN A <IP servidor Esclavo>
a.com. IN NS ns1.a.com.
a.com. IN NS ns2.a.com.
a.com. IN A 192.168.56.101
mail.a.com. IN A 192.168.56.101
IN MX 10 mail.a.com.
18
ESTE DOCUMENTO CONTIENE LA SEMANA 8
A continuación se detallan cada uno de los registros más comunes:
Registros SOA: Start Of Authority en inglés, es un registro obligatorio en los archivos de zona, en el
ejemplo anterior corresponde a:
a.com.: esta es la raíz de la zona y especifica que se trata del dominio a.com. Muchas veces es
reemplazado por “@” que es una variable que refleja el dominio. Notar que los puntos finales en
el dominio“a.com.” son relevates para indicar el fin del dominio.
IN SOA: la porción “IN” la verá en muchos registros y significa “Internet”. La sección “SOA”
significa que este es un registro Start of Authority.
Ns1.a.com: define el servidor primario de nombres para este dominio, estos pueden ser maestros
o esclavos.
User1.a.com: define el email del administrador del dominio, el punto es reemplazado por “@”.
2014100901: este es número serial del archivo de zona, cada vez que se edite el archivo, se debe
incrementar este número para que los cambios se propaguen correctamente, los esclavos
verificarán este número contra el que ellos manejan, si el del maestro es mayor los esclavos
descargarán el nuevo archivo, si es menor, los esclavos continuarán sirviendo la información que
ya tienen. Una regla fácil de recordar es utilizar el serial con el formato aaaammddxx donde xx
corresponde a las veces que se ha editado el archivo el mismo día, de esta forma el serial siempre
se irá incrementando.
28800: la cantidad de segundos que ese esclavo esperará antes de consultar al maestro si tiene un
nuevo archivo.
7200: a cantidad de segundos que el esclavo esperará antes de consultar al maestro en caso que
no pueda contactarlo.
360000: si un esclavo no puede contactar al maestro en este intervalo de tiempo, dejará de dar
respuestas autoritativas al dominio.
19
ESTE DOCUMENTO CONTIENE LA SEMANA 8
86400: esta es la cantidad de tiempo que el servidor almacenará un error de nombres en caso de
no poder encontrar el nombre en el archivo.
Registros A y AAAA
Estos registros hacen la asociación entre un nombre y una dirección IP. El registro “A” se utiliza
para asociar una IPv4 mientras que el registro AAAA se utiliza para asociar IPv6.
host IN A IPv4_address
host IN AAAA IPv6_address
ns1.a.com. IN A 192.168.56.101
Obsérvese, que en el caso del ejemplo se ha dado el FQDN del host (no se debe olvidar el punto
final), pero perfectamente se puede listar solo el nombre del host.
ns1 IN A 192.168.56.101
a.com. IN NS ns1.a.com.
@ IN NS ns1.a.com.
Finalmente, se puede mapear todo lo que no esté asociado explícitamente a este dominio a algún
servidor mediante una línea del tipo:
20
ESTE DOCUMENTO CONTIENE LA SEMANA 8
Registros CNAME: los registros CNAME simplemente definen un alias para alguno de los registros
previamente definidos mediante un registro A o AAAA.
a.com. IN NS ns1.a.com.
www IN CNAME a.com.
Registros MX: los registros MX se utilizan para definir los servidores de email del dominio, a
diferencia de los registros normales los registros MX no mapean a ningún host pues aplican para
todo el dominio, por este motivo, tienen el siguiente formato:
IN MX 10 mail.a.com.
Notar, además, que hay un número en el registro, este indica la prioridad del servidor de correos
en caso de existir más de uno (a menor número, mayor prioridad).
Registros NS: los registros NS definen cuales servidores de nombres se deben utilizar para el
dominio. Puede parecer redundante referenciar los servidores de nombres en el archivo de zona
del DNS, pero se debe recordar que el sistema de DNS tiene varios niveles de cache, por lo que se
deben especificar los servidores para que estos se repliquen por todos los servidores.
a.com. IN NS ns1.a.com.
a.com. IN NS ns2.a.com.
Se recomienda tener dos servidores de DNS en caso que alguno presente problemas.
21
ESTE DOCUMENTO CONTIENE LA SEMANA 8
# vi /etc/named.conf
zone “a.com" {
type master;
file "/var/named/a.com.zone";
allow-query { localhost; };
};
# vi /var/named/chroot/var/named/a.com.zone
ns1.a.com. IN A 192.168.56.101
ns2.a.com. IN A <IP servidor Esclavo>
a.com. IN NS ns1.a.com.
a.com. IN NS ns2.a.com.
a.com. IN A 192.168.56.101
mail.a.com. IN A 192.168.56.101
IN MX 10 mail.a.com.
Es posible validar si la configuración de los archivos es correcta utilizando las herramientas que
incorpora named para verificar la integridad de los archivos.
OK
En caso de que la herramienta arroje algún error, este se lo notificará y se debe, corregir.
22
ESTE DOCUMENTO CONTIENE LA SEMANA 8
[root@localhost ~]# named-checkconf /etc/named.conf
/etc/named.conf:44: missing ';' before 'logging'
[root@localhost ~]#
Al igual que en todos los servicios, una vez realizados los cambios, se debe reiniciar el servidor
para asegurar que tome los últimos cambios.
Finalmente, utilizando la herramienta dig, se puede verificar la respuesta que entrega sobre el
dominio a.com que fue recién configurado:
;; QUESTION SECTION:
;a.com. IN A
;; ANSWER SECTION:
a.com. 86400 IN A 192.168.56.101
;; AUTHORITY SECTION:
a.com. 86400 IN NS ns1.a.com.
a.com. 86400 IN NS ns2.a.com.
;; ADDITIONAL SECTION:
ns1.a.com. 86400 IN A 192.168.56.101
ns2.a.com. 86400 IN A 192.168.56.101
[root@localhost named]#
23
ESTE DOCUMENTO CONTIENE LA SEMANA 8
Ya es posible agregar al servidor DNS al resolvedor de la máquina virtual.
# vi /etc/resolv.conf
nameserver 192.168.56.101
Y eliminar del archivo hosts las entradas temporales ingresadas durante semanas anteriores.
# vi /etc/hosts
#127.0.0.1 a.com www.a.com
#127.0.0.1 b.com www.b.com
#127.0.0.1 c.com www.c.com
En estos momentos al abrir un navegador local en la máquina virtual y navegar hacia www.a.com
se debe visualizar la página sin problemas ya que el servidor DNS está entregando los registros de
forma correcta.
24
ESTE DOCUMENTO CONTIENE LA SEMANA 8
COMENTARIO FINAL
DNS es uno de los servicios más utilizados en Internet, en todo momento se realizan millones de
consultas al sistema DNS para poder resolver los distintos nombres a direcciones IP que manejan
los computadores.
Se ha estudiado la forma de configurar un servidor DNS y las posibilidades que ofrece un servidor
DNS, el que opera como una gran máquina almacenadora de “nombres” que hace referencia a las
miles de direcciones IP disponibles en Internet, imposibles de retener en la memoria de cada
individuo.
25
ESTE DOCUMENTO CONTIENE LA SEMANA 8
REFERENCIAS
Liu, C. y Albitz, P. (2006). DNS and BIND. 5a edición. EE. UU.: O’Reilly.
26
ESTE DOCUMENTO CONTIENE LA SEMANA 8
27
ESTE DOCUMENTO CONTIENE LA SEMANA 8