Documentos de Académico
Documentos de Profesional
Documentos de Cultura
IMSI U02 Servidor DNS Presentacion
IMSI U02 Servidor DNS Presentacion
Licencia
Instalacin y mantenimiento de servicios de Internet
Esta obra est bajo una licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite
http://creativecommons.org/licenses/by-nc-sa/3.0/deed.es
o enve una carta a Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
ndice
Instalacin y mantenimiento de servicios de Internet
1.Introduccin 2.Breve historia 3.El archivo hosts 4.Niveles de nombre de dominio 5.Servidores raz 6.Clasificacin de servidores 7.Registros de recursos 8.Instalacin 9.Configuracin
ndice (2)
Instalacin y mantenimiento de servicios de Internet
Introduccin
Instalacin y mantenimiento de servicios de Internet
El DNS (Domain Name System, sistema de nombres de dominio) consiste bsicamente en una base de datos con informacin sobre equipos (hosts). El servicio DNS gestiona y mantiene de forma distribuida las direcciones de Internet y los nombres de hosts. En una red TCP/IP las mquinas se identifican mediante su direccin IP. Sin embargo, para las personas resulta mucho ms sencillo recordar un nombre que se asocia a una mquina concreta que una direccin IP.
5
Introduccin (2)
Instalacin y mantenimiento de servicios de Internet
Un dominio o nombre de dominio es el nombre que identifica un sitio web. El dominio tiene que ser nico en Internet. Por ejemplo, www.google.es es el nombre de dominio del sitio web de Google en Espaa. Un servidor web puede alojar sitios web correspondientes a varios dominios, pero un dominio slo puede apuntar a un servidor web. Si el dominio estuviese repartido entre varios servidores, el servicio DNS slo devolvera una direccin IP que deber ser la correspondiente al servidor que tiene alojado el dominio.
6
Breve historia
Instalacin y mantenimiento de servicios de Internet
DNS naci de la necesidad de recordar fcilmente los nombres de todos los servidores conectados a Internet. En un principio, cada mquina recuperaba un un archivo llamado HOSTS.TXT desde un ordenador en el SRI (Stanford Research Institute, ahora llamada SRI International). Los administradores, enviaban los cambios en los nombres de sus equipos o dominios por correo electrnico a este centro y una versin actualizada del archivo era publicada una o dos veces por semana en un servidor para que pudiera copiarse.
7
El archivo HOSTS.TXT haca (hace) corresponder direcciones numricas a nombres de dominio. Y todava existe en la mayora de los sistemas operativos. Pero el crecimiento explosivo de Internet hizo que el sistema de nombres centralizado en el archivo hosts.txt no resultara prctico. En 1983, Paul Mockapetris invent el DNS y escribi su primera implementacin. Las especificaciones originales aparecen en los RFC 882 y 883. En 1987 los RFC 1034 y 1035 actualizaron los anteriores.
8
El archivo hosts
Instalacin y mantenimiento de servicios de Internet
Funcionamiento:
Cuando tecleamos un dominio, lo primero que hace el equipo es comprobar si ya tenemos informacin del mismo en el archivo hosts. En caso negativo, mira si se pidi hace poco y lo tiene en la cach, de no haberlo hecho lo solicita a su servidor DNS para que le diga la IP de ese dominio. Luego la guarda en la cach para futuras consultas. Esta cach se vaca al poco tiempo, al reiniciar el equipo, apagarlo, etc. En cambio los datos de hosts son permanentes.
Se puede modificar para incluir direcciones que se usan frecuentemente para ganar tiempo (milisegundos).
9
Formato:
Contiene un nombre de equipo o de dominio por lnea. Las lneas que comienzan por # se consideran comentarios y no se tienen en cuenta. Se debe introducir la IP a la que resolver, uno o ms espacios (o tabulaciones) y el dominio a resolver. Se puede introducir ms de un dominio a resolver en la misma lnea. Por ejemplo: 127.0.0.1 localhost midominio.org
OjO! Recuerda hacer una copia de seguridad de cualquier archivo que vayas a editar.
10
Localizacin:
11
Terminologa bsica
Instalacin y mantenimiento de servicios de Internet
Host Name: el nombre de un equipo es una sola palabra. Ejemplos: www, blog y obelix. Fully Qualified Host Name (FQHN): es el nombre completo de un equipo. Est formado por el hostname, seguido de un punto y su correspondiente nombre de dominio. Por ejemplo, www.rae.es. Domain Name: el nombre de dominio es una sucesin de nombres concatenados por puntos. Ejemplos: smaldone.com.ar, com.ar. Top Level Domains (TLD): los dominios de nivel superior son aquellos que no pertenecen a otro dominio. Ejemplos de este tipo son com, org, y es.
12
Inicialmente los nombres de dominio de alto nivel (TLD, Top Level Domain) eran:
.com empresas comerciales. .edu educacional (universidades y colegios). .org organizaciones sin nimo de lucro. .net redes de ordenadores independientes pero conectadas a Internet. .int internacional. .gov gobiernos y organismos oficiales de EEUU. .mil organismos militares de EEUU. .nato organizacin del tratado del Atlntico Norte (OTAN / NATO)
13
Los nombres de dominio que cuelgan de stos se denominan dominios de segundo nivel (2LD, Second Level Domain). Los que cuelgan del segundo nivel se denominan de tercer nivel (3LD) y as sucesivamente.
14
15
Servidores raz
Instalacin y mantenimiento de servicios de Internet
El responsable de los dominios anteriores y del dominio raz, que est por encima de ellos, es el ICANN (Internet Corporation for Assigned Names and Numbers). El ICANN:
Gestiona la concesin de nombres de dominio y las IP asociadas. Posee 13 servidores distribuidos por el mundo:
Todos tienen la misma informacin. Se reparten el trabajo de resolucin. Cada uno es una copia de seguridad del resto. Contienen las zonas con los nombres de dominio de segundo nivel de todo el mundo enorme cantidad de informacin.
Los TNS no hacen todas las resoluciones de nombres de dominio de segundo nivel. Existen muchos servidores de nombres de empresas y particulares que realizan tambin esta funcin, si tienen autoridad.
17
18
Clasificacin de servidores
Instalacin y mantenimiento de servicios de Internet
Servidor cach:
No tiene autoridad sobre ninguna zona. En principio (cuando arranca) no es capaz de hacer ninguna resolucin por si mismo. Cuando recibe una consulta, la reenva a servidores que puedan resolverla y cuando le responden, almacena la respuesta en memoria.
19
Tiene informacin (slo lectura) sobre algunas zonas. Estos datos son copias de los servidores maestros. Cuando cambia la informacin en un servidor maestro, el esclavo la copia simplemente para actualizarse. Slo atiende a peticiones de los clientes (resolvedores).
20
Tiene autoridad sobre una zona. Obtiene la informacin de sus zonas de sus archivos locales. Todas las modificaciones sobre una zona se llevan a cabo en el servidor primario. No necesita reenviar la consulta.
21
Servidor de reenvo:
No posee autoridad sobre las zonas que resuelve. Cuando reciben una consulta, la reenvan a los servidores que tienen configurados esperando que stos la resuelvan.
La estructura jerrquica de los servidores de nombre hace que con muy pocas consultas se pueda hacer la resolucin.
22
Registros de recursos
Instalacin y mantenimiento de servicios de Internet
A = Address proporciona la correspondencia de direccin simblica a direccin IP. AAAA como A pero para direcciones IPv6. CNAME = Canonical name especifica un alias o apodo para una direccin simblica. MX = Mail Exchanger indica los hosts que recibirn el correo. NS = Name Server indica los servidores de nombres oficiales para el dominio. PTR = PoinTeR proporciona la resolucin inversa de una direccin IP a una direccin simblica. SOA = Start Of Authority autoridad sobre el dominio de Se puede ver una lista completa de los nombres.
recursos en http://www.dns.net/dnsrd/rr.html.
23
Instalacin Ubuntu
Instalacin y mantenimiento de servicios de Internet
androsique-publicaciones@yahoo.es
Para instalar Bind en Ubuntu tenemos dos opciones: desde un terminal o desde el Synaptic. Desde un terminal:
sudo aptitude install bind9 bind9-doc
Desde el Synaptic:
Buscamos bind (sin las comillas). Seleccionamos los paquetes bind9 y bind9-doc. Pulsamos sobre Aplicar.
24
Configuracin Ubuntu
Instalacin y mantenimiento de servicios de Internet
androsique-publicaciones@yahoo.es
named.conf fichero principal de configuracin. named.conf.options opciones genricas. named.conf.local especificacin local de ste servidor DNS. db.127 datos para la interfaz de loopback. db.root datos de los servidores raz. Otros: db.0, db.255, db.empty, db.local, rndc.key, zones.rfc1918.
25
androsique-publicaciones@yahoo.es
Para hacer que las peticiones DNS vaya a travs de nuestro servidor hay que editar el fichero Se recomienda usar /etc/resolv.conf y aadir en 0.0.0.0 en lugar de 127.0.0.1 que sera lo ms la primera lnea lgico. nameserver 0.0.0.0 Para iniciar el servicio Bind tecleamos el comando /etc/init.d/bind9 start OjO! El proceso que se lanza con Para comprobar que funciona: /etc/init.d/bind9 start se llama named. dig barrapunto.com y se comprueba que el SERVER es 127.0.0.1 y que si se ejecuta de nuevo el comando el Query time desciende mucho.
26
androsique-publicaciones@yahoo.es
Por defecto, al instalar el paquete bind est preconfigurado como servidor cach DNS. OjO! Slo ser necesario editar el archivo Recuerda hacer una /etc/bind/named.conf.options copia de seguridad de cualquier archivo que y en la seccin forwarders aadir las vayas a editar. IP de dos servidores DNS donde redirigir las peticiones DNS:
forwarders { 80.58.0.33; 80.58.32.97; };
androsique-publicaciones@yahoo.es
Para comprobar que estamos trabajando con nuestro servidor DNS ejecutamos un dig a cualquier sitio dos veces. La segunda vez la respuesta del Query Time debera ser 1. dig google.es
+noauthority +noadditional +noanswer +noquestion
28
androsique-publicaciones@yahoo.es
Por razones de accesibilidad y organizativas, se quiere asignar un nombre a todos los equipos de nuestra red, para lo que instalaremos un servidor DNS privado con un dominio ficticio, por ejemplo 'iesalboran.com'. Todos los PC de nuestra red pertenecern a dicho dominio ficticio que funcionar solo en nuestra red interna, no en Internet. En tal caso el nombre completo de los PCs terminar con 'iesalboran.com', por ejemplo: pc02.iesalboran.com.
29
androsique-publicaciones@yahoo.es
Lo ideal en una situacin as es disponer de un servidor DNS maestro de nuestro dominio, es decir, maestro del dominio interno 'iesalboran.com'. El servidor DNS maestro para 'iesalboran.com' ser capaz de resolver peticiones internas de nombres de ste dominio, tanto
de forma directa si recibe una consulta acerca de quin es pc02.iesalboran.com deber devolver su IP; por ejemplo, 172.26.6.31. como de forma inversa si se quiere saber quin es 172.26.6.31, deber responder pc02.iesalboran.com.
30
androsique-publicaciones@yahoo.es
Por ello deberemos aadir en el archivo /etc/bind/named.conf.local la especificacin del dominio maestro:
zone "iesalboran.com" { type master; file "/etc/bind/iesalboran.com.hosts"; };
El fichero donde almacenaremos las direcciones de los equipos lo podemos llamar como queramos y ser el nombre que indiquemos con el parmetro file. En nuestro caso, iesalboran.com.hosts.
31
androsique-publicaciones@yahoo.es
Direccin de correo
32
androsique-publicaciones@yahoo.es
Ahora slo faltara aadir a este mismo fichero todas las direcciones de los hosts que queramos:
$ttl 38400 iesalboran.com. IN SOA ubuntu-desktop. admin.iesalboran.com. ( 1193412145 10800 3600 604800 38400 ) iesalboran.com. IN NS ubuntu-desktop. pc01.iesalboran.com IN A 172.26.6.30 pc02.iesalboran.com IN A 172.26.6.31 pc03.iesalboran.com IN A 172.26.6.32 pc04.iesalboran.com IN A 172.26.6.33
androsique-publicaciones@yahoo.es
Un servidor esclavo no tiene autoridad sobre la zona que resuelve pero contiene el archivo de zona correspondiente. Los archivos de zona que hay en los DNS esclavos son una copia (porque han sido transferidos) de los existentes en los DNS maestros. Un DNS esclavo no puede estar en el mismo equipo que el DNS maestro con el que se va a sincronizar porque tienen que tener el mismo nombre de dominio. Si queremos crear un DNS esclavo de la zona iesalboran.com, que est en el DNS maestro con la U02.IP 172.26.6.1, DNS: Bind Configuracin de un servidor tendremos hacer lo siguiente: 34
androsique-publicaciones@yahoo.es
35
El archivo named.conf
Instalacin y mantenimiento de servicios de Internet
El archivo named.conf es ms importante para configurar Bind. El contenido del archivo est dividido en varias partes llamadas estamentos. Algunos estamentos son acl, controls, key, options, view, zone...
options { Parmetros de configuracin; }; zone nombre de la zona { Parmetros de configuracin; };
androsique-publicaciones@yahoo.es
Los ficheros que se indiquen en los archivos de configuracin se podrn escribir con una ruta relativa a la indicada en este parmetro. Si no se utiliza, habr que indicar la ruta absoluta.
options { //Se recomienda escribir siempre las rutas absotutas directory /var/named; };
37
androsique-publicaciones@yahoo.es
port Indica el nmero de puerto que el servidor usa para recibir y enviar el trfico del protocolo DNS.
El protocolo es UDP y el puerto por defecto es el 53. Se recomienda no cambiar el puerto (slo para hacer pruebas), porque otro puerto distinto del 53 impedir la comunicacin global del DNS.
options { //El puerto por defecto es el 53 port 5353; }; Para comprobar el funcionamiento se puede ejecutar dig -p 5353.
U02. Configuracin de un servidor DNS: Bind 38
androsique-publicaciones@yahoo.es
options { //Se permite a los hosts de la red 172.26.0.0 con mscara 255.255.0.0 allow-query { 172.26.0.0/16; }; };
Se pueden definir listas de acceso (access lists, acl). Para ello se usa el estamento acl (tiene que estar fuera de options).
androsique-publicaciones@yahoo.es
Esta opcin slo tiene sentido si no est vaco el parmetro forwarders. Por defecto su valor es first pregunta primero a los forwarders y si no obtiene respuesta, lo intentara resolver l mismo. Con el valor only slo preguntar a los forwarders (si ellos no responden, no podr hacer la resolucin).
androsique-publicaciones@yahoo.es
forwarders Especifica la lista de servidores que se usar para hacer reenvo (forwarding).
options { forward first; forwarders { 172.26.0.1; 80.58.61.240; }; };
Aunque las opciones de reenvo se pueden hacer desde el estamento options de forma general, tambin se puede indicar para cada zona (pudiendo tener diferentes forwarders y comportamientos).
41
androsique-publicaciones@yahoo.es
type master Un servidor de tipo maestro es aquel que contiene una copia maestra de los datos de la zona y tiene autoridad para responder consultas sobre la misma. type slave Una zona de tipo esclava es una rplica de una zona maestra.
Con el tipo slave se debe aadir el parmetro masters que establece una lista con una o ms direcciones IP de los servidores maestros actualizar la copia de la zona. Es aconsejable el uso de file para indicar el fichero en el de un servidor DNS: Bind que se escribirn los datos de la zona. U02. Configuracin 42
androsique-publicaciones@yahoo.es
type stub Similar a la tipo esclava pero se copian nicamente los registros de recurso NS (no la zona completa).
Se debe usar el parmetro file para indicar dnde estarn recogidos los nombres y direcciones de los servidores raz el archivo db.root contiene esta lista (en otras distribuciones se llama named.ca).
43
androsique-publicaciones@yahoo.es
Cuando un servidor tiene una zona de este tipo no es l quien hace la resolucin sino que pregunta a otro servidor. No confundir este tipo de zona con los parmetros forward y forwarders (stos se incluyen en la zona de reenvo o en el estamento options).
androsique-publicaciones@yahoo.es
masters Permite indicar quin o quienes son los servidores maestros de zona.
45
androsique-publicaciones@yahoo.es
Cada zona definida en /etc/bind/named.conf o /etc/bind/named.conf.local debe tener un fichero asociado de configuracin de la zona. Este fichero contiene las relaciones entre las diferentes direcciones IP pertenecientes al dominio y sus nombres. Los archivos de configuracin de zona ya definidos son db.127, db.root, db.0, db.255, db.empty, y
db.local. Los que creemos nosotros podemos llamarlos como queramos pero se recomienda seguir algn tipo de patrn. Por ejemplo: db.iesalboran.com o iesalboran.com.db.
46
androsique-publicaciones@yahoo.es
Directivas (directives).
Representan el conjunto de informacin asociada a un nombre de dominio. El registro SOA debe ser el primero. Tipos de recursos: SOA, A, CNAME, PTR, MX...
47
androsique-publicaciones@yahoo.es
$TTL (Time To Live) indica el tiempo de vida general para los registros de recurso. Se coloca en la primera lnea del archivo, antes que el registro SOA. Se usa por los servidores cach para saber cuando tienen que actualizar los registros de las zonas descargadas y guardadas en memoria. Si $TTL es cero, significa que el registro o registros no pueden almacenarse en cach. $TTL se expresa normalmente en segundos y puede estar comprendida entre 0 y 2147483647 (unos 68 aos).
48
androsique-publicaciones@yahoo.es
El tiempo de vida tambin se puede indicar en otras unidades usando los siguientes sufijos:
s m h d w
El tiempo asignado por $TTL es utilizado por los registros de recursos que no lo tienen definido.
49
androsique-publicaciones@yahoo.es
La directiva $ORIGIN establece el nombre de dominio por omisin. Es decir, mediante esta directiva se indica el nombre de dominio que se aadir a los nombres de los hosts que acompaan a los registros de recurso que no acaban en punto (.). No es necesario usar esta directiva si la zona Por ejemplo: si tenemos declarada se corresponde con el
$ORIGIN iesalboran.com.
entonces
esi2-pc06 IN A 172.26.8.6
es equivalente a escribir
esi2-pc06.iesalboran.com.
U02. Configuracin de un servidor DNS: Bind
IN A
172.26.8.6
50
androsique-publicaciones@yahoo.es
El registro SOA (Start Of Authority) define el comienzo de una zona de autoridad. Es un registro de uso obligatorio y el primero que deberemos escribir. Su sintaxis es la siguiente:
nombre_de_dominio IN SOA servidor responsable (parmetros)
nombre_de_dominio: indica el nombre de dominio a resolver. Si coincide el nombre de dominio con el de zona, se puede escribir en su lugar el comodn @. servidor: indica el nombre de la mquina que hace de DNS. Se suele usar ns seguido del nombre de dominio. Por ejemplo, ns.iesalboran.com.
51
androsique-publicaciones@yahoo.es
responsable: cuenta de correo o alias en la que el administrador del servicio recibirn las incidencias que se produzcan. parmetros: se especificarn en orden.
Nmero de serie: se suele elegir la fecha en la que se produjo la ltima actualizacin. Por ejemplo, si el 30 de enero de 2006 se hicieron dos actualizaciones en el nmero de serie se podra indicar 3001200602. Periodo de refresco: los servidores esclavos hacen la resolucin de nombres a partir de la informacin proporcionada por los servidores maestros. Esta informacin es actualizada cada vez que transcurre el tiempo indicado en este parmetro.
52
androsique-publicaciones@yahoo.es
parmetros: (continuacin)
Frecuencia de reintentos: tiempo que debe esperar el DNS esclavo para solicitar de nuevo la actualizacin en caso de que hubiera fallado antes. Tiempo de expiracin: tiempo mximo que se mantendr la informacin sin actualizar en el servidor esclavo en caso de que el maestro no responda a las solicitudes. Transcurrido este tiempo la informacin de la zona se perder. TTL mnimo: cantidad asignada por el servidor a los registros de recurso en caso de no usar la directiva $TTL. Su valor mximo ser de 3 horas.
53
androsique-publicaciones@yahoo.es
Ejemplo:
@ IN SOA ns root.localhost. ( 3001200602; Numero de serie 21600; Periodo de refresco en segundos (6 horas) 10800; Frecuencia de reintentos (3 horas) 604800; Tiempo de expiracion (1 semana) 21600; Tiempo de vida de registros en cach (6 h) );
54
androsique-publicaciones@yahoo.es
El registro NS (Name Server) indica el nombre de los servidores de nombres de dominio que tienen autoridad sobre la zona definida. Se escribir a continuacin del registro SOA. Su sintaxis es la siguiente:
nombre_de_dominio IN NS servidor_con_autoridad_sobre_la_zona
Por ejemplo:
iesalboran.com. IN NS ns.iesalboran.com.
55
androsique-publicaciones@yahoo.es
El registro A (Address) indica las asociaciones entre nombres de dominio y las correspondientes direcciones IP. Su sintaxis es la siguiente:
nombre_de_dominio IN A direccin_IP
Por ejemplo:
esi2-pc06.iesalboran.com. IN A 172.26.8.6
56
androsique-publicaciones@yahoo.es
El registro MX (Mail eXchanger) es el registro consultado por un servidor de correo para conocer la IP de otro servidor de correo. Su sintaxis es la siguiente:
nombre_de_dominio IN MX prioridad direccin_IP
Por ejemplo:
iesalboran.com. IN MX 10 correo.iesalboran.com.
57
androsique-publicaciones@yahoo.es
El registro CNAME (Canonical NAME) sirve para identificar el verdadero nombre de un alias. Un ejemplo real lo encontramos con Google.
www.google.es. 47225 www.google.com. 604188 www.l.google.com. 13 www.l.google.com. 13 www.l.google.com. 13 IN IN IN IN IN CNAME CNAME A A A www.google.com. www.l.google.com. 66.249.91.147 66.249.91.99 66.249.91.104
www.google.es es un alias de www.google.com, que a su vez es alias de www.l.google.com. A este ltimo nombre de dominio se le asignan varias direcciones IP para balancear la carga entre la mquinas.
58
androsique-publicaciones@yahoo.es
La mayor causa de errores est en los fallos en la sintaxis de los ficheros de configuracin. Es imprescindible escribir correctamente todas las llaves, puntos y comas, comillas... Existen dos herramientas para corregir este tipo de errores:
named-checkconf named-checkzone
59
androsique-publicaciones@yahoo.es
named-checkconf [archivo] [-z] Herramienta para comprobar la sintaxis de los archivos de configuracin.
$ sudo /etc/init.d/bind9 restart * Stopping domain name service... bind * Starting domain name service... bind
Comprobamos el fichero.
androsique-publicaciones@yahoo.es
named-checkzone zona nombreFichero Herramienta para comprobar la sintaxis y la integridad de los archivos de zona.
Ejemplo:
Comprobamos la zona.
$ named-checkzone iesalboran.com /etc/bind/db.iesalboran /etc/bind/db.iesalboran:1: no TTL specified; using SOA MINTTL instead zone iesalboran.com/IN: loaded serial 3005200601 OK
Nos ha aparecido un aviso (warning) indicando que no se ha especificado un TTL. Si no se ha especificado, como ocurre aqu, Bind asigna de forma automtica el MINTTL dado en el registro SOA.
61
Glosario
Instalacin y mantenimiento de servicios de Internet
DNS: Domain Name System (sistema de nombres de dominio). FQDN: Fully Qualified Domain Name (nombre completo de un dominio). TLD: Top Level Domains.
62
Bibliografa
Instalacin y mantenimiento de servicios de Internet
Libros:
Martn Romero, A. y Martn Romero, J. Servicios de Internet. Instalacin y mantenimiento. Mira Editores, 2006.
Enlaces:
http://es.wikipedia.org y http://en.wikipedia.org. http://www.root-servers.org/. https://www.nic.es/. http://maps.google.es/maps/ms?ie=UTF8&hl=es&msa=0&msid=1 Apuntes del curso Redes de rea local. Aplicaciones y Servicios. Linux. CNICE, 2007. Apuntes del curso Software libre y educacin (curso avanzado): servicios de red, gestores de contenido y seguridad. Thales-CICA, 2004-2005.
63
Otros: