Dominio (DNS) Objetivos del captulo Identificar y describir los escenarios en los que surge la necesidad de un servicio de resolucin de nombres. Clasificar los principales mecanismos de resolucin de nombres. Describir la estructura, nomenclatura y funcionalidade de los sistemas de nombres jerrquicos. Instalar un servicio jerrquico de resolucin de nombres en los sistemas operativos Microsoft Windos y !inu". #reparar el servicio para almacenar las respuestas procedentes de servidores de redes p$blicas y servirlas a los equipos de la red local. %&adir registros de nombres correspondientes a una 'ona nueva, con opciones relativas a servidores de correo y alias. (eali'ar transferencias de 'ona entre dos o ms servidores. Comprobar el funcionamiento correcto del servidor y corregir problemas. )ervicios de red e internet * +nidad *. )ervicios de ,ombres de Dominio 1. El servicio DNS -ste servicio gestiona y mantiene de forma distribu.da las direcciones de Internet y los nombres del sistema. )e trata de un servicio de b$squeda de direcciones I# y de nombres de ordenadores para una red /C#0I#. -n una red /C#0I#, las mquinas se identifican mediante su direccin de red o n$mero I#. )in embargo, para las personas resulta muc1o ms sencillo recordar un nombre que se asocia a una mquina concreta. /ambi2n es ms fiable, ya que la direccin I# puede cambiar, pero no as. el nombre. -l procedimiento requiere un mecanismo que tradu'ca los nombres de las mquinas a direcciones I#. -l D,) permite que esta tarea se lleve a cabo. 1.1 El espacio de nombres de dominio -l servicio D,) se compone de una base de datos distribu.da 3integrada por varias mquinas conectadas en red4 en la que se almacenan las asociaciones de nombres de dominio, donde cada uno puede considerarse una rama en un rbol invertido llamado espacio de nombres de dominio. -l rbol comien'a en un nodo ra.', situado en el nivel superior. #or debajo, puede e"istir un n$mero indeterminado de nodos. ,ormalmente se utili'an 1asta cinco niveles. #or ejemplo, el dominio .isftic.mepsyd.es tiene tres. !os nodos se identifican mediante nombres no nulos que pueden contener un determinado n$mero de caracteres 3m"imo 564. !a ra.', en cambio, siempre tiene un nombre nulo 3es decir, 7 caracteres4. -l nombre completo de un nodo est formado por el conjunto de nombres que forman el itinerario desde el nodo 1asta la ra.'. !os nombres se separan por 3.4. De esta forma, el nombre del nodo se identifica de manera $nica dentro de la jerarqu.a que genera el rbol. -l nombre de dominio completo se llama nombre de dominio completamente cualificado (FQDN) y siempre debe acabar con un punto, ya que la ra.' se identifica mediante un nombre nulo. -l dominio es, pues, cada uno de los subrboles que integran el rbol o espacio de nombres de dominio. !os diferentes servidores D,) que e"isten en la red almacenan la informacin relativa a los nombres de dominio en los registros de recursos. +n servidor D,) tendr los registros de recursos que permitan responder a las peticiones de nombres relativas a la parte del espacio de nombres de dominio sobre la que tiene autoridad dic1o servidor. )ervicios de red e internet 8 +nidad *. )ervicios de ,ombres de Dominio !a organi'acin del servicio D,) se basa en niveles seg$n la posicin del dominio. -l nivel superior o primer nivel (TLD) est formado por los dominios que descienden directamente del dominio ra.'. !os principales /!D gen2ricos son TLD Descripcin com %grupa organi'aciones comerciales 3google.com, ya1oo.com, strands.com, etc2tera4 edu (e$ne organi'aciones educativas universitarias 3eada.edu, ortegaygasset.edu, mit.edu, etc.4 net #ara organi'aciones dedicadas a Internet y a las telecomunicaciones 3rpmfind.net, listas.net, p1p.net, etc2tera4 org (e$ne organi'aciones no comerciales 3linu"doc.org, ubuntu.org, insflug.org, etc2tera4 gov %grupa organi'aciones gubernamentales de -stados +nidos 3nasa.gov, nsf.gov4 int #ara el uso de organi'aciones internacionales 3redcross.int, interpol.int, coe.int, etc2tera4 -"isten tambi2n dominios de primer nivel que designan 'onas geogrficas y que siguen la norma I)9 6*55. )us nombres representan a todos los pa.ses mediante dos letras: es para -spa&a, fr para ;rancia, de para %lemania, etc2tera. #uede ocurrir que los dominios geogrficos de primer nivel contengan a su ve' alguno de los )ervicios de red e internet 6 +nidad *. )ervicios de ,ombres de Dominio dominios gen2ricos. -stos dominios ser.an de segundo nivel 3com.es, edu.au, org.u<, teso.org.es, etc2tera4. !os dominios asociados a cada pa.s se 1allan registrados por las autoridades locales que, en caso de -spa&a, es el -),IC, actualmente integrados en (ed.es, una identidad p$blica empresarial adscrita al Ministerio de Industria, /urismo y Comercio. #or lo tanto, para la creacin de un dominio .es, se puede solicitar al -),IC directamente o a trav2s de alguna empresa registradora de dominios espa&ola como %cens, %rsys, Interdominios, etc2tera. !a gestin de estos dominios se puede 1acer desde .nic.es. -n el caso de los dominios .eu, 1abr que dirigirse a .eurid.eu . 1.2 La delegacin de dominios D,) es una base de datos distribu.da y permite su administracin descentrali'ada mediante la delegacin de dominios. -l dominio puede ser dividido en subdominios por el administrador y delegar el control de cada uno. !a autoridad que se 1ace cargo de la delegacin debe asumir tambi2n la responsabilidad de mantener actuali'ados los datos 3es decir, los registros de recursos4 de ese subdominio. 1. !"#$ son los dominios % las &onas' -l servidor de nombres almacena informacin acerca de algunas partes o !onas del espacio de nombres de dominio. )e dice que el servidor de nombres tiene autoridad sobre la !ona. #or lo tanto, un servidor de nombres podr tener autoridad sobre varias 'onas. !a 'ona en realidad es un arc"ivo que contiene determinados registros de la base de datos )ervicios de red e internet = +nidad *. )ervicios de ,ombres de Dominio del espacio de nombres de dominio. -stos registros identifican a uno o ms dominios. Mediante estos registros la 'ona puede atender las peticiones de los clientes, de a1. que tambi2n se les denomine !onas de autoridad. #or lo tanto, la generacin de 'onas se 1ace mediante delegacin de autoridad. -n la figura *.8 se observa que el dominio nombre*.org contiene a su ve' los dominios ftp.nombre*.org y .nombre*.org. >unto con el dominio nombre*.org, constituyen la 'ona * con autoridad delegada desde el dominio org. !o mismo ocurre con el dominio nombre8.org . !os servidores de nombres se pueden clasificar en los tipos siguientes: #ervidor primario (maestro)$ obtiene la informacin de sus 'onas de sus arc1ivos locales. /odas las modificaciones sobre una 'ona, como a&adir dominios, se llevan a cabo en el servidor primario. #ervidor secundario (esclavo)$ contiene una copia de solo lectura de los arc1ivos de 'ona, ya que la informacin se encuentra en otro servidor, por lo general primario, con autoridad sobre estas 'onas. #ervidor cac"%$ solo atiende consultas de los clientes D,) 3resolvedores4 sobre nombres de dominios. ,o contiene ning$n tipo de informacin acerca de la 'ona y se utili'a para acelerar las consultas. !a informacin de las 'onas se obtiene a trav2s de la red mediante un mecanismo denominado transferencia de !ona. !os servidores de nombres secundarios solicitan esta accin para mantener actuali!ada la informacin acerca de la 'ona y disponer de un duplicado, de a1. que sea conveniente disponer al menos de un servidor primario y otro secundario para cada 'ona. De este modo, en el caso de que alguno falle, el otro atiende a las peticiones de resolucin de nombres. )ervicios de red e internet ? +nidad *. )ervicios de ,ombres de Dominio 2. Base de datos del protocolo DNS Como ya se indic anteriormente cada servidor de nombres de dominio mantiene una base de datos llamada arc1ivos de la 'ona que permite asociar los nombres de dominios con direcciones I#, as. como otra de resolucin inversa. %mbas bases de datos son arc1ivos de te"to. % la 1ora de resolver nombres, los servidores D,) consultan las 'onas que contienen registros de recursos (&&) que describen la informacin del dominio D,). %lgunos registros de recursos asignan nombres descriptivos a las I#. -l formato de cada registro de recursos es el siguiente: Propietario TTL Clase Tipo RDATA !a descripcin de los campos de los registros de recursos 3((4 es la siguiente: 'ropietario$ nombre de mquina o dominio D,) al que pertenece el recurso. #uede contener el s.mbolo @, que representa el nombre de la 'ona descrita. TTL (Time To Live)$ tiempo de vida, en segundos, del registro de la cac12. -s un campo opcional y se e"presa en d.as 3d4, 1oras 314, minutos 3m4 y segundos 3s4. -l cero 374 no se almacena en cac12. (lase$ familia de protocolo en uso. )uele tomar el valor AAI,BB de Internet, que representa una red /C#0I#. Tipo$ var.a en funcin del campo Clase. -n la tabla se indican tipos de registros para la clase I,. &D)T)$ informacin espec.fica del tipo de recurso. #or ejemplo, para un registro de clase I, y tipo % este campo especifica una direccin I#. !os principales tipos de registros de recursos son )9%, ,), %, #/(, MC, C,%M-, /C/ y )(D. Nombre del recurso Tipo de registro Funcin Inicio de autoridad )9% Identifica al servidor autoritario de una 'ona y sus parmetros de configuracin. )ervidor de nombres ,) Identifica servidores de nombres autori'ados para una 'ona. Direccin % %socia un nombre de dominio ;ED, con una direccin I#. #untero #/( %signa una direccin I# a un nombre de dominio completamente cualificado. #ara las b$squedas inversas. (egistro de correo MC Indica mquinas encargadas de la entrega y recepcin de correo en el dominio. ,ombre cannico C,%M- #ermite asignar uno o ms nombres a una mquina. )ervicios de red e internet 5 +nidad *. )ervicios de ,ombres de Dominio /e"t /C/ %lmacena cualquier informacin. )ervicio )(D +bicacin de los servidores para un servicio. *jemplo + +sando el programa dig se puede obtener la direccin I# de alguno de los servidores de nombres para .es, #or ejemplo "dig es. NS" muestra servidores de nombres para ese dominio. *jemplo , )i los servidores de la 'ona Fus.esF fueran Foni".us.esF, Fjade.us.esF y Fdns.cica.esF con direcciones I# respectivas *?7.8*=.*G5.5H, *?7.8*=.*67.*? y *?7.8*=.?.G6 . IEu2 (( deben e"istir en la 'ona F.esF J us.es IN NS onix.us.es us.es IN NS jade.us.es us.es IN NS dns1.cica.es onix.us.es IN A 15.!1".1#$.$% jade.us.es IN A 15.!1".1&.15 !a entrada % para dns1.cica.es no es estrictamente necesaria. )ervicios de red e internet K +nidad *. )ervicios de ,ombres de Dominio *jemplo - IEu2 (( necesitar.a la 'ona FmiLempresaLsa.esF para indicar que tengo un servidor llamado FtitanF que ofrece servicios eb, correo electrnico y ftpJ )i la I# fuera por ejemplo, *77.877.877.877 la respuesta ser.a: titan.'i(e'presa(sa.es IN A 1.!.!.! ))). 'i(e'presa(sa.es IN CNA*+ titan.'i(e'presa(sa.es s'tp. 'i(e'presa(sa.es IN CNA*+ titan.'i(e'presa(sa.es ,tp. 'i(e'presa(sa.es IN CNA*+ titan.'i(e'presa(sa.es *jemplo . +sando el comando dig tambi2n se puede conocer el registro )9% que identifca al servidor autoritario y sus parmetros para una 'ona: 3. Servidores de nombres de dominio -"isten varias aplicaciones 3paquetes4 de servicios para servidores de nombres de dominio. !a ms conocida y utili'ada en internet es Mind 3.isc.org0products0MI,D04, que est disponible bajo licencia M)D 3.opensource.org0licenses0bsdLlicense.p1p4. !a ejecucin de un servidor D,) 3utili'ando MindH, que es la versin actual de Mind4 en una mquina implica la ejecucin en el sistema del proceso na'ed, cuyo arc1ivo de configuracin )ervicios de red e internet G +nidad *. )ervicios de ,ombres de Dominio es -etc-.ind-na'ed.con,. -ste arc1ivo es el lugar donde se le dice a Mind qu2 debe 1acer, dnde y cmo. !a primera l.nea del arc1ivo es una declaracin /nclude en la que se integra el arc1ivo na'ed.con,.options, donde se encuentran las opciones globales del servidor. !a $ltima linea del arc1ivo vuelve a ser otra declaracin include, esta ve' del arc1ivo na'ed.con,.local, donde se definen las 'onas locales. !as principales sentencias del arc1ivo na'ed.con,.options se muestran a continuacin. acl$ define listas de direcciones I# para permitir o denegar el acceso al servidorde nombres. !a sinta"is se puede seguir en el eiemplo siguiente: Definir la lista de control de acceso a redes que incluya todas las mquinas de las redes *H8.*5G.*77.708= y *H8.*5G.7.70*5, y la mquina independiente *H8.*5G.**7.?. acl redes 0 0 1%!.1$#.1-!"1 1%!.1$#-1$1 1%!.1$#.11.51 2 21 #or defecto e"isten tres acl predefinidas: L an/0none$ acceso permitido0denegado a todas las mquinas. L local"ost$ acceso permitido solo a las direcciones I# locales. options$ controla las opciones de configuracin del servidor y de otros sentencias. )olo debe aparecer una ve' en el arc1ivo de configuracin. Dentro de la sentencia options se pueden encontrar las declaraciones director34 allo)(5uer34 .lac67ole4 ,or)arders y otras. -jemplos: options 0director3 -8ar-cac7e-.ind1 21 Indica el directorio donde se almacenarn los arc1ivos temporales generados por el proceso named. allo)(5uer3 01%!.1$#.11-!"121 Indica que se permiten las consultas de todas las mquinas con direcciones que comiencen con *H8.*5G.**7. .lac67ole 0redes1 21 Indica que no se responda a ninguna consulta de las mquinas de la acl redes. ,or)arders 0 1%!.1"".1"."121 Indica que las peticiones de resolucin no solucionadas en el servidor D,) local, se reenv.en al )ervicios de red e internet H +nidad *. )ervicios de ,ombres de Dominio servidor *H8.*==.*7=.=. -sta opcin es necesaria incluirla para que los ordenadores de la red local salgan a Internet. !as principales sentencias del arc1ivo na'ed.con, son: !one$ permite definir las 'onas y describir sus configuraciones. -"isten cuatro tipos de 'onas: N 1ona maestra (master !one)$ alberga la copia principal de los datos de la 'ona. N 1ona esclava (slave !one)$ contiene datos que se obtienen como resultado de la duplicacin de la informacin de una 'ona maestra. N 1ona oculta ("int !one)$ cuando se 1acen peticiones a una 'ona que no se conoce, esta ofrece informacin relativa a los servidores de la ra.'. N 1ona de reenvo (for2ard !one)$ indica al servidor de nombres que redirija las peticiones de informacin sobre la 'ona 1acia otros servidores. include$ se utili'a para incluir arc1ivos que contienen las opciones y las 'onas locales. )u sinta"is es: include F0etc0bind0named.conf.localFO % partir de MindH se incluyen dos 1erramientas softare para c1equear la sinta"is y semntica de los arc1ivos que describen las 'onas y el arc1ivo de configuracin principal named.conf . )on: na'ed(c7ec69one y na'ed(c7ec6con, . +na ve' configurado el servicio D,), si se quiere 1acer una comprobacin sintctica del arc1ivo de configuracin na'ed.con,, 1ay que ejecutar como administrador 3root4: :sudo na'ed(c7ec6con, !a salida indica los errores que detecta. )i no genera salida, est todo correcto. -n el caso de los arc1ivos de 'ona, 1ay que ejecutar: :sudo na'ed(c7ec69one aulaS+R.co' -etc-.ind-d..aulaS+R.co' Muestra la siguiente salida: 9one aulaS+R.co'-IN; loaded serial 1 <= )ervicios de red e internet *7 +nidad *. )ervicios de ,ombres de Dominio .1 Resol#cin inversa -l servicio D,) reali'a la resolucin en ambos sentidos: obtiene la direccin I# cuando se le da un nombre de mquina y viceversa. De la misma forma que los nombres de dominio se resuelven efectuando consultas para cada componente de derec1a a i'quierda, las direcciones I# siguen el mismo esquema. )u dominio ra.' se denomina inLaddr.arpa . #or ejemplo, tenemos la direccin I# 31%!.1$#.1.14 de un ordenador. -l servidor de nombres buscar los servidores arpa, pasar a los in(addr.arpa, luego a los 1%!.in(addr.arpa, ms adelante a los 1$#.1%!.in(addr.arpa y, por $ltimo, a los 1.1$#.1%!.in(addr.arpa . -n estos $ltimos encontrar el registro buscado: 1.1.1$#.1%!.in(addr.arpa . #or lo tanto, las direcciones I# estn escritas en orden inverso en el dominio inLaddr.arpa 3es decir, utili'a una notacin de puntos invertida, algo lgico, ya que las redes se diferencian por los primeros valores de su direccin I#4. Cada servidor de nombres de dominio autoritario requiere una 'ona de resolucin inversa. -l registro de recursos 3((4 que define la resolucin inversa se denomina registro #/(. #or ejemplo, para el caso anterior, en el arc1ivo -etc-na'ed.con,.local debe e"istir la declaracin de la 'ona correspondiente al dominio de inLaddr.arpa que ser.a 1.1$#.1%!.in(addr.arpa : 9one "1.1$#.1%!.in(addr.arpa" 0 t3pe 'aster1 ,ile "-etc-.ind-d..1%!.1$#.1"1 21 P en el arc1ivo 0etc0bind0db.*H8.*5G.*77 se encontrarn todos los registros de recurso #/( )ervicios de red e internet ** +nidad *. )ervicios de ,ombres de Dominio definidos para esa red: :ttl &#" .1.1$#.1%!.in(addr.arpa. IN S<A ser8idor.aulaS+R.co'. Ser(ad'in.aulaS+R.co'. > 1!"!?$""" 1# &$ $"# &#"@ .1.1$#.1%!.in(addr.arpa. IN NS ser8idor.aulaS+R.co'. !5".1.1$#.1%!.in(addr.arpa. IN PTR ser8idor.aulaS+R.co'. 1.1.1$#.1%!.in(addr.arpa. IN PTR pc11.aulaS+R.co'. !.1.1$#.1%!.in(addr.arpa. IN PTR pc1!.aulaS+R.co'. &.1.1$#.1%!.in(addr.arpa. IN PTR pc1!.aulaS+R.co'. #ara comprobar el funcionamiento de la resolucin inversa, 1ay que ejecutar la orden 1ost o bien la orden dig con el parmetro (x: A7ost 1%!.1$#.1.!5" !5".1.1$#..1%!.in(addr.arpa do'ain na'e pointer ser8idor.aulaS+R.co'. 4. Funcionamiento de la resolucin DNS -n el sistema D,) e"isten dos tipos de ordenadores: (lientes DN#$ $nicamente 1acen consultas a servidores D,) #ervidores DN#$ reali'an dos tareas. !a primera es la de responder a las consultas de los clientes y la segunda encargarse de buscar alg$n dato desconocido, como pueda ser la direccin I# de un determiando servidor Web. -l proceso, de manera resumida, es muy sencillo. Cuando desde un ordenador se abre una pgina eb es el cliente D,) que reside en nuestro ordenador 3llamado resolver4 1ace una colsulta )ervicios de red e internet *8 +nidad *. )ervicios de ,ombres de Dominio al servidor D,) que tenga el cliente configurado 3ya sea estticamente o mediante DQC#4. )i el servidor D,) conoce este dato, se lo suministra al cliente de forma directa. )i el servidor D,) no lo conoce, tendr que buscar ese dato, para lo cual partiendo de la ra.' del rbol ir recorriendo el mismo 1asta dar con uno de los servidores D,) de la 'ona indicada. -n la siguiente figura se muestra el proceso completo, consistente en G pasos, que se produce cuando un ordenador en Internet 1ace una pregunta por .miLempresa.es, como se puede ver, los servidores D,) de la 'ona ra.' y de la 'ona .es no conocen la direccin I# de ese servidor eb pero, sin embargo, cada uno de ellos le indican al servidor D,) del I)# una lista de servidores de nombres que pueden ayudarle a encontrar los datos. !a consulta que 1a reali'ado el cliente al servidor D,) del I)# se denomina recursiva pues obliga al servidor D,) a buscar la respuesta en beneficio del cliente. -l tipo de consultas que 1ace el servidor D,) del I)# 3en las que se comporta como cliente4a los otros servidores se denomina iterativa. !a diferencia fundamental entre una consulta recursiva y una iterativa es que en la primera el cliente no tiene que trabajar sino simplemente debe esperar una respuesta 3una direccin I# o un error4, con la segunda el cliente tendr que seguir las referencias que, en su caso, le d2 el servidor. )ervicios de red e internet *6 +nidad *. )ervicios de ,ombres de Dominio