You are on page 1of 9

PRACTICA DE DNS (LINUX) 1.

- Objetivo
Se trata de simular la creacin de una estructura DNS en una empresa, de forma que resuelva tanto los dominios locales de la empresa como los dominios de Internet. Se practicarn: - La creacin de una estructura jerrquica de DNS con varias zonas y dominios. - La configuracin de zonas secundarias - La delegacin de la autoridad de una zona La estructura que crear cada grupo est representada en el siguiente rbol DNS:

E :j X X=1 2

R e d 2 01 2 01 2 00 1 . . . m ie m p r e1sa 2 m ie m p re s a X X
(E n el s er v idor s ev gr upoX X )

f in a n za s

(E n el s er v idor s e v gr upoX X y en e l s er v idor s er v g r upoX X _2) )

(Z ona delegada en el s er v idor s ev gr upoX X _2)

c o m e rc ia l

p e rs o n a l

je f e 1 2 01 2 01 2 08 . . .

c o n t a b le 1 2 01 2 0 2 07 . .1 .

ven tas 1

ven tas 2

ven tas 3

p e rs o n1a l 1 2 01 2 0 2 05 . .1 .

je f e 1 2 01 2 0 2 06 . .1 .

1 2 01 2 01 2 02 1 2 01 2 01 2 03 1 2 01 2 0 2 04 . . . . . . . .1 .

2.- Requisitos previos


a) La prctica se har en grupos de 2 alumnos. b) En cada grupo he de contar con los siguientes servidores DNS: Dos servidores Linux (uno llamado servgrupoXX y otro servgrupoXX_2) y un cliente para realizar las consultas. c) Para que los servidores DNS tambin puedan resolver direcciones de Internet es necesario configurarles una direccin IP vlida de la red del aula, para ello configurar dichos servidores de forma que obtengan la ip de forma dinmica pero el DNS NO (ha de estar puesto a la direccin local 127.0.0.1). ESTO NO SE DEBE HACER NUNCA EN UN CASO REAL, ya que las direcciones de los servidores SIEMPRE han de ser estticas. El cliente ha de apuntar su DNS al servidor servgrupoXX, ya que ste ser el servidor que contenga la zona raz de mi empresa (miempresaXX) d) Cada grupo crear un dominio para asignar las direcciones de su subred. La subred de cada grupo va en funcin del nmero XX que use el grupo y se forma multiplicando por 10 dicho nmero, as para el grupo 12 su subred ser 120.120.120.0

3.- Desarrollo de la prctica


NOTAS: OJO, NO se debe hacer copy-paste desde un fichero word u openoffice para rellenar la informacin de los ficheros de zona, ya que stos tienen caracteres especiales escondidos que hacen que NO funcione.

Para hacer el fichero de cada zona partir desde una copia del fichero /etc/bind/db.local y NO quitar ningn tabulador de los que hay por defecto en ese fichero porque sino NO funciona, sobre todo las transferencias de zona.
Usa las utilidades named-checkconf y named-checkzone <nombre-zona> <archivo de zona> para comprobar que NO hay errores de sintaxis Hay que instalar el paquete bind9 con el synaptic antes de comenzar la prctica Para arrancar, parar, rearrancar el servicio DNS: /etc/init.d/bind9 { stop| start|restart} En linux para apuntar a los servidores DNS se hace con el fichero: /etc/resolv.conf. Ah he de poner: Nameserver <dir_serv_DNS> Domain <dominio_al_que pertenece_el equipo> (slo en el servidor) Search <prefijo de bsqueda DNS> (slo en el servidor) El fichero donde se definen las zonas es /etc/bind/named.conf, y en ste se incluyen dos ficheros: el named.conf.default-zones, donde estn las zonas por defecto (por ejemplo, la zona raz) y el named.conf.local, que es donde nosotros definiremos las zonas locales de este servidor. No poner el carcter _ en los nombres de los equipos (el - s puedes usarlo)

Los pasos que hay que hacer se describen a continuacin: 1. En el servidor servgrupoXX crear la zona principal directa llamada miempresaXX (respuesta: volcado pantalla) named.conf.local zone "miempresa07" { type master; file "/etc/bind/db.miempresa07"; }; /etc/bind/db.miempresa07 $ORIGIN miempresa07. $TTL 86400 @ IN SOA servgrupo07.miempresa07. 2001062501 ; serial 21600 ; refresh after 6 hours 3600 ; retry after 1 hour 604800 ; expire after 1 week

root.miempresa07. (

86400 ) @ IN NS servgrupo07 servgrupo07-2

; minimum TTL of 1 day servgrupo07.miempresa07. IN A 192.168.17.IP1 IN A 192.168.17.IP2

NOTA1: La @ equivale al nombre que hay definido en $ORIGIN, esto es, en este caso equivaldra a poner miempresa07. Asimismo el contenido de la directiva $ORIGIN se aade tambin a cualquier nombre del fichero que no est totalmente cualificado, esto es, que no termine en punto, por ejemplo el nombre completo del equipo servgrupo07 sera servgrupo07.miempresa07. NOTA2: La directiva $TTL en bind 9 indica el TTL por defecto de los registros de la zona, esto es, el TTL que se aplica si NO se especifica uno concreto al registro RR (en versiones anteriores, como bind8, era el campo minimun del SOA). El campo minimum del SOA en bind9 indica el tiempo que permanecen en cach las respuestas negativas, esto es, cuando se pregunta por algn registro de esta zona pero NO existe dicho registro.

2. En el servidor servgrupoXX crear una zona principal inversa para mi subred (si mi subred es la 120.120.120.0 tendr que crear la zona 120.120.120.inaddr.arpa). (respuesta: cambios en ficheros de configuracin) named.conf.local zone "70.70.70.in-addr.arpa" { type master; file "/etc/bind/db.70.70.70"; }; /etc/bind/db.70.70.70 ; ; BIND reverse data file for 70.70.70.0 zone ; $TTL 604800 @ IN SOA servgrupo07.miempresa07. root.miempresa07. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ;

@ 7 8

IN IN IN

NS servgrupo07.miempresa07. PTR contable.finanzas.miempresa07 PTR jefe.finanzas.miempresa07

3. En el servidor servgrupoXX crear el subdominio finanzas (dentro de la zona miempresaXX) y aadirle los dos hosts de finanzas. (respuesta: cambios en ficheros de configuracin) NOTA: en linux, no tenemos ms remedio que definir el subdominio como una zona nueva named.conf.local zone "finanzas.miempresa07" { type master; file "/etc/bind/db.finanzas.miempresa07"; }; /etc/bind/db.finanzas.miempresa07 $ORIGIN finanzas.miempresa07. $TTL 86400 @ IN SOA servgrupo07.miempresa07. root.finanzas.miempresa07. ( 2001062501 ; serial 21600 ; refresh after 6 hours 3600 ; retry after 1 hour 604800 ; expire after 1 week 86400 ) ; minimum TTL of 1 day @ IN NS IN IN servgrupo07.miempresa07. A A 70.70.70.8 70.70.70.7

jefe contable

4. En el servidor servgrupoXX crear la zona nueva llamada comercial.miempresaXX y aadirle los hosts ventas1 y ventas2 (respuesta: cambios en ficheros de configuracin) named.conf.local zone "comercial.miempresa07" { type master; file "/etc/bind/db.comercial.miempresa07"; }; /etc/bind/db.comercial.miempresa07 $ORIGIN comercial.miempresa07. $TTL 86400 @ IN SOA servgrupo07.miempresa07. 2001062501 ; serial 21600 ; refresh after 6 hours

root.comercial.miempresa07. (

3600 ; retry after 1 hour 604800 ; expire after 1 week 86400 ) ; minimum TTL of 1 day @ @ IN IN NS NS IN IN servgrupo07.miempresa07. servgrupo07-2.miempresa07. ; serv DNS esclavo A A 70.70.70.2 70.70.70.3

ventas1 ventas2

5. En el servidor servgrupoXX_2 crear una zona secundaria de la zona creada en el paso anterior (comercial.miempresaXX). Comprobar como se copian tambin los registros creados en la misma (ventas1 y ventas2) (respuesta: cambios en ficheros de configuracin) named.conf.local (servgrupo07) zone "comercial.miempresa07" { type master; allow-transfer {192.168.17.IP2;}; file "/etc/bind/db.comercial.miempresa07"; };

OJO!!!!, el fichero de la zona secundaria ha de estar ubicado en /var/lib/bind/ y NO en /etc/bind/ porque el daemon del bind9 (named) no tiene permisos de escritura sobre /etc/bind
named.conf.local (servgrupo07-2) zone "comercial.miempresa07" { type slave; masters {192.168.17.IP1;}; file "/var/lib/bind/db.comercial.miempresa07"; }; Link interesante para configurar esta opcin: http://www.microhowto.info/howto/configure_bind_as_a_slave_dns_server.html 6. En el servgrupoXX aadir el registro ventas3 dentro de la zona comercial.miempresaXX. Mirar si dicho registro aparece en el servidor servgrupoXX_2. aparece? porqu? NO, porque an no se ha replicado dicho cambio. El parmetro que controla el refresco es refresh en el SOA y est configurado para refrescar cada 6 horas

(21600 ; refresh after 6 hours). Para forzar la transferencia ahora mismo, bastara con: 1) Incrementar manualmente el campo serial del registro SOA en la zona primaria (este campo se usa para controlar las distintas versiones de las zonas, de forma que si es idntico en el serv. primario y secundario, NO se transfieren los cambios) 2) Ejecutar en servgrupoXX_2 dig @ip_de_servgrupoXX_1 comercial.miempresaXX axfr o con borrar el fichero de zona secundario y rearrancar el servicio (sh bind restart) para que se transfiera de nuevo el fichero desde el servidor

Para hacer el fichero de cada zona partir desde una copia del fichero /etc/bind/db.local y NO quitar ningn tabulador de los que hay por defecto en ese fichero porque sino NO funciona, sobre todo las transferencias de zona.
7. Configurar la transferencia de zona para que se repliquen los cambios de forma inmediata desde la zona principal a la secundaria (para la zona comercial.miempresaXX). A partir de ahora se transferirn todos los cambios que se hagan en la zona principal a la secundaria de forma automtica e instantnea. Probar que funciona borrando un registro y volvindolo a crear luego. Bastara con incluir la lnea notify=yes; en el fichero named.conf.local , incrementar el serial de la zona primaria y rearrancar el servicio. named.conf.local (servgrupo07) zone "comercial.miempresa07" { type master; allow-transfer {192.168.17.IP2;};

notify yes;
file "/etc/bind/db.comercial.miempresa07"; }; named.conf.local (servgrupo07-2) zone "comercial.miempresa07" { type slave; masters {192.168.17.IP1;}; file "/var/lib/bind/db.comercial.miempresa07"; }; 8. En el servidor servgrupoXX y dentro de la zona miempresaXX crear el dominio personal delegando su gestin al servidor servgrupoXX_2 (respuesta: cambios en ficheros de configuracin) etc/bind/db.miempresa07 (en servgrupo07) personal.miempresa07. IN NS servgrupo07-2

servgrupo07-2

IN

192.168.17.IP2

9. A continuacin he de crear en el servidor servgrupoXX_2 la zona delegada (personal.miempresaXX) e introducir los hosts de ese dominio: personal1 y jefe. (respuesta: cambios en ficheros de configuracin) named.conf.local (servgrupo07-2) zone "personal.miempresa07" { type master; file "/etc/bind/db.personal.miempresa07"; }; /etc/bind/db.personal.miempresa07 (servgrupo07-2) $ORIGIN personal.miempresa07. $TTL 86400 @ IN SOA servgrupo07-2.personal.miempresa07. root.personal.miempresa07. ( 2001062501 ; serial 21600 ; refresh after 6 hours 3600 ; retry after 1 hour 604800 ; expire after 1 week 86400 ) ; minimum TTL of 1 day @ IN NS servgrupo07-2 personal1 jefe IN IN servgrupo07-2.personal.miempresa07. IN A 192.168.17.IP2 A A 70.70.70.5 70.70.70.6

10. Comprobar si funciona la delegacin de zona, para ello podemos utilizar el comando nslookup desde el cliente, que ha de tener configurado el DNS para apuntar a servgrupoXX. (respuesta: volcado de pantalla) 11. Comprobar desde el cliente con el comando nslookup que se resuelven todos los hosts. (respuesta: volcado de pantalla nslookup) 12. Ahora ejecutar el comando server <Ip del servgrupoXX_2> en el nslookup (lo que hacemos es cambiar el servidor al que le hacemos las consultas). se resuelven ahora todos los nombres? porqu? NO se deben resolver los registros del dominio finanzas.miempresaXX porque solo estan presentes en el servidor servgrupoXX 13. Comprobar con el comando nslookup que se resuelven nombres de Internet (por ej: www.elpais,etc...). Por qu? (respuesta: volcado de pantalla) Porque por defecto estn configuradas las direcciones de los servidores raz de Internet en mi servidor, y por ello, cuando le preguntan por una direccin que no es de un dominio para el que l es autoritario, manda esa consulta

a los servidores raz de internet. La zona que contiene el dominio raz est definida por defecto en el fichero /etc/bind/named.conf.default-zones (incluido en el named.conf). La definicin de dicha zona es: zone "." in { type hint; file "/etc/bind/db.root"; }; El fichero db.root contiene la zona raz (hay que actualizar dicho fichero peridicamente porque los servidores raz pueden ir variando) 14. Comprobar desde el cliente que funcionan las direcciones de Internet en el navegador. 15. Crea un alias llamando ftp.finanzas.miempresaXX al equipo contable.finanzas.miempresaXX dado que ese va a ser el servidor ftp de finanzas. Crea un alias llamando www.comercial.miempresaXX al equipo ventas1.comercial.miempresaXX dado que ese va a ser el servidor web del departamento comercial. Comprueba que funcionan los alias (con el nslookup) (respuesta: cambios en ficheros de configuracin) En db.finanzas.miempresa07: ftp IN CNAME contable En db.comercial.miempresa07: www IN CNAME ventas1 16. Crea un registro del tipo servidor de correo con los siguientes datos: mail.miempresaXX 120.120.120.20 para el dominio miempresaXX (respuesta: cambios en ficheros de configuracin) En db.miempresa07: miempresa07 . IN MX 10 mail IN A 120.120.120.20 mail.miempresa07.

(el nmero 10 indica la prioridad del servidor de correo, de forma que los servidores que tengan el nmero ms bajo tienen mayor prioridad) 17. Comprobar que funciona la zona inversa con el comando nslookup. Probar con varias direcciones para ver si devuelve el nombre. (respuesta: volcado de pantalla nslookup) 18. Para qu registros no te ha dejado crear un registro del tipo PTR? porqu? 19. Hacer un volcado total de los dominios miempresaXX y comercial.miempresaXX. Has de saber interpretar todos los tipos de registro que aparecen en l, para ello comenta cada lnea del fichero con el significado de cada entrada. (respuesta: copy-paste del fichero de volcado) 20. Comenta con tus propias palabras como funciona el procedimiento de delegacin de zona y para qu crees que se utiliza en los DNS de Internet.

21. Explica con tus propias palabras la diferencia entre las zonas y los dominios en DNS.

4.- Incidencias y su solucin


Incluir las incidencias que se han producido en la realizacin de la prctica as como la solucin adoptada.

5.- Lecciones aprendidas


Este apartado contendr un anlisis (relacin con otros conocimientos adquiridos, posibles aplicaciones en casos reales, etc) de los conocimientos adquiridos.

You might also like