CONSEJERIA DE EDUCACION
CEP Lora del Río
DNS con Bind9
Alberto Molina Coballes, José Domingo Muñoz Rodríguez y José Luis Rodríguez Rodríguez.
20 de marzo de 2010
En este documento se describe de forma breva las características fundamentales del protocolo
de resolución de nombres DNS y la configuración elemental de un servidor DNS con Bind9 en
Debian GNU/Linux. Este documento se elaboró para el curso Servicios en GNU/Linux. Portal
Educativo, organizado por el CEP de Lora del Río (Sevilla) en 2010.
Este trabajo es una obra derivada de la documentación del curso Software Libre y Educacion:
servicios de red, gestores de contenidos y seguridad de José Angel Bernal, Fernando Gordillo,
Hugo Santander y Paco Villegas.
Usted es libre de copiar, distribuir y modificar este documento de acuerdo
con las condiciones de la licencia Attribution-ShareAlike 3.0 de Creative Com-
mons. Puede ver una copia de ésta en:
http://creativecommons.org/licenses/by-sa/3.0/es/
Índice
1. Introducción
2. Recursos del Servidor de Nombres
3. Servidores de Nombres
4. Instalación y configuración del servidor bind9
4.1. Prueba de funcionamiento del servidor DNS . . . . . . . . . . . . . . . . . .
2
3
4
7
8
10
1.
Introducción
3
El sistema DNS es una base de datos distribuida. Presenta una jerarquía en la que su parte
más alta es el punto o raíz y de él cuelgan los dominios de primer nivel (.com, .edu, .es,
etc). Su lectura en el orden jerárquico se realiza de derecha a izquierda. Por ejemplo, para la
Figura 1: Distribución jerarquizada de los nombres de dominio.
máquina www.loracep.org, primero en la jerarquía se encuentra el dominio de primer nivel1
(.org), luego va el subdominio o subdominios (en este caso, loracep) y por último el nombre
de la máquina (www).
Los dominios genéricos de primer nivel eran inicialmente .com, .edu, .org, .gov, .mil y .net
más los correspondientes a los países (.es, .it, .uk, .pt, . . . ). Posteriormente se ampliaron
los dominios de primer nivel con .aero, .asia, .cat, etc. y hay algunas peticiones todavía no
resueltas como los dominios de primer nivel .sex o .xxx.
Al principio, con pocas máquinas en Internet, bastaba para mantener este sistema con unos
ficheros de nombre HOSTS.TXT o /etc/hosts, en los que se encontraban los nombres de las
máquinas uno a uno. A medida que el sistema fue creciendo, se hacía necesario el soporte
de un sistema más potente, que es el basado en Servidores de Nombres.
2. Recursos del Servidor de Nombres
Para ver qué nos ofrece un servidor de nombres utilizaremos la herramienta dig2. En su
forma más simple, le preguntamos como argumento con un nombre de host para conocer la
dirección que le corresponde.
avatar:˜$ dig www.loracep.org
1En inglés, Top Level Domain
2Domain Information Groper. Esta herramienta sustituye a otra anterior que se llama nslookup.
4
; <<>> DiG 9.5.1-P3 <<>> www.loracep.org
;; global options:
;; Got answer:
;; ->>HEADER <<- opcode: QUERY , status: NOERROR , id: 18420
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
printcmd
;; QUESTION SECTION:
;www.loracep.org.
;; ANSWER SECTION:
www.loracep.org.
47
IN
IN
A
A
212.36.75.197
;; Query time: 19 msec
;; SERVER: 62.42.230.24#53(62.42.230.24)
;; WHEN: Sun Mar 14 23:26:54 2010
;; MSG SIZE
La instrucción dig nos será de gran ayuda para consultar a los servidores de nombres. Una
llamada típica a dig es de la forma:
dig @servidor_de_nombres recurso tipo_de_recurso
rcvd: 49
servidor de nombres es el servidor de nombres al que vamos a preguntar. En caso de que
no lo especifiquemos, preguntará a los servidores de nombres que estén en el fichero
/etc/resolv.conf
recurso es el nombre o dirección del que queremos consultar información.
tipo de recurso es el tipo del recurso que buscamos. Si no especificamos ninguno, buscará
el tipo A por defecto.
Un servidor de nombres nos ofrece varios tipos de recursos, los más importantes son:
A (Address) Nos da la correspondencia de dirección simbólica a dirección IP
CNAME (canonical name) Nos especifica un alias o apodo para una dirección simbólica
MX (mail exchanger) Indica la máquina o las máquinas que recibirán el correo
NS (name server) Indica los servidores de nombres oficiales para el dominio
PTR (pointer) Nos da la resolución inversa de una dirección IP a una dirección simbólica
SOA (start of authority) Autoridad sobre el Dominio de nombres.
Exprimamos un poco más el comando dig. Vamos a realizar una consulta amplia sobre el
dominio loracep.org:
avatar:˜$ dig -t ANY loracep.org
; <<>> DiG 9.5.1-P3 <<>> -t ANY loracep.org
;; global options:
;; Got answer:
;; ->>HEADER <<- opcode: QUERY , status: NOERROR , id: 34900
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 3
printcmd
;; QUESTION SECTION:
;loracep.org.
IN
ANY
5
2560
SOA
ns1.cdmon.net.\
;; ANSWER SECTION:
loracep.org.
hostmaster.loracep.org. 1204055656 10000 3600 604800 21600
loracep.org.
loracep.org.
loracep.org.
loracep.org.
loracep.org.
ns1.cdmon.net.
ns2.cdmon.net.
ns3.cdmon.net.
10 mail.loracep.org.
212.36.75.197
21600
21600
21600
900
900
IN
IN
IN
IN
IN
IN
NS
NS
NS
MX
A
;; ADDITIONAL SECTION:
ns2.cdmon.net.
ns3.cdmon.net.
ns1.cdmon.net.
82984
82986
82986
IN
IN
IN
A
A
A
212.36.75.129
95.211.8.207
212.36.74.129
rcvd: 224
;; Query time: 77 msec
;; SERVER: 62.42.230.24#53(62.42.230.24)
;; WHEN: Sat Mar 20 12:47:43 2010
;; MSG SIZE
Que nos devuelve el registro SOA,
[email protected] que es la dirección de correo
del responsable de la zona, los nombres y direcciones IP de los servidores DNS, el servidor
de correo y la dirección genérica del dominio en caso de que no se especifique un FQDN en
la consulta.
El registro indica que para todas las direcciones de correo electrónico del dominio loracep.org4,
como por ejemplo
[email protected], deben dirigirse a los intercambiadores de correo5.
Preguntemos por un registro CNAME. El registro CNAME se suele utilizar como un alias o
pseudónimo de otra u otras máquinas. ¿Qué utilidad puede tener ésto? Por ejemplo, los ser-
vicios de Internet suelen prestarse en direcciones estandarizadas. Si queremos ver el Boletín
Oficial del Estado y no sabemos con certeza la dirección, una de las primeras que probaremos
si tenemos cierta experiencia con internet será www.boe.es. Nuestra máquina con el servi-
dor web, no tiene porqué llamarse www6 y además nos permite cambiar rápidamente a otra
máquina sin demasiados problemas en nuestra red. Veamos un ejemplo de registro CNAME:
avatar:˜$ dig -t CNAME informatica.gonzalonazareno.org
; <<>> DiG 9.5.1-P3 <<>> -t CNAME informatica.gonzalonazareno.org
;; global options:
;; Got answer:
;; ->>HEADER <<- opcode: QUERY , status: NOERROR , id: 43593
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
printcmd
;; QUESTION SECTION:
;informatica.gonzalonazareno.org. IN
CNAME
;; ANSWER SECTION:
informatica.gonzalonazareno.org. 159 IN CNAME
reno.org.
;; Query time: 14 msec
;; SERVER: 62.42.230.24#53(62.42.230.24)
lavadora.gonzalonaza\
3En la respuesta DNS de sustituye la @ por un punto
4Y de sus subdominios en caso de que no tengan especificados los suyos propios.
5Mail eXchanger, de donde viene MX.
6Sería un nombre bastante feo
6
rcvd: 72
;; WHEN: Sat Mar 20 19:36:18 2010
;; MSG SIZE
La línea importante en esta consulta es la que nos dice que informatica.gonzalonazareno.org
es un apodo (CNAME) de la máquina lavadora.gonzalonazareno.org. Si esa máquina se
cae, una posible solución es cambiar el registro CNAME a otra máquina. El resto de usuarios
(de todo el mundo) seguirán apuntando sus navegadores a la misma dirección sin enterarse
del problema.
El recurso PTR es un poco más complicado. Veamos. Para que el mismo sistema funcione
tanto para pedir conversiones de direcciones simbólicas a direcciones IP, como al revés, de
direcciones IP a direcciones simbólicas se crea el recurso PTR y un dominio especial de
nombre in-addr.arpa.
Para realizar una consulta tipo PTR con dig utilizamos la siguiente sintaxis:
avatar:˜$ dig -x 194.224.52.36
; <<>> DiG 9.5.1-P3 <<>> -x 194.224.52.36
;; global options:
;; Got answer:
;; ->>HEADER <<- opcode: QUERY , status: NOERROR , id: 4959
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
printcmd
;; QUESTION SECTION:
;36.52.224.194.in-addr.arpa.
IN
;; ANSWER SECTION:
36.52.224.194.in-addr.arpa. 172800 IN
PTR
PTR
ns1.telefonica -data.com.
rcvd: 81
;; Query time: 36 msec
;; SERVER: 62.42.230.24#53(62.42.230.24)
;; WHEN: Sat Mar 20 19:41:58 2010
;; MSG SIZE
Vemos que nos devuelve que la dirección IP 194.224.52.36 se corresponde con la dirección
simbólica ns1.telefonica-data.com, pero antes da una información un poco rara. Como
en las direcciones simbólicas la jerarquía va de derecha a izquierda y en las direcciones IP de
izquierda a derecha, se emplea un truco. Todas las direcciones IP se colocan bajo el dominio
in-addr.arpa y se va poniendo cada uno de los bytes de la dirección IP de derecha a iz-
quierda. Así 194.224.52.36 queda como 36.52.224.194.in-addr.arpa. Veamos la misma
consulta de otra manera:
avatar:˜$ dig -t PTR 36.52.224.194.in-addr.arpa
; <<>> DiG 9.5.1-P3 <<>> -t PTR 36.52.224.194.in-addr.arpa
;; global options:
;; Got answer:
;; ->>HEADER <<- opcode: QUERY , status: NOERROR , id: 60496
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
printcmd
;; QUESTION SECTION:
;36.52.224.194.in-addr.arpa.
IN
;; ANSWER SECTION:
36.52.224.194.in-addr.arpa. 172800 IN
PTR
PTR
;; Query time: 42 msec
;; SERVER: 62.42.230.24#53(62.42.230.24)
ns1.telefonica -data.com.
;; WHEN: Sat Mar 20 19:43:52 2010
;; MSG SIZE
Correcto. Nos dice que estamos hablando de ns1.telefonica-data.com y es un registro de
tipo PTR (PoinTeR).
rcvd: 81
7
3. Servidores de Nombres
Seguro que el DNS os ha deparado muchas sorpresas. Pues aún hay más. El hecho de con-
figurar un Servidor de Nombres es muy divertido, aunque los ficheros de configuración del
servidor de no
Comentarios de: DNS con Bind9 (0)
No hay comentarios