|
Home / Docencia / Ing. en Informática / Redes de Ordenadores II | |
![]() |
|
![]() |
Uso de un cliente DNS: dig y de un servidor de DNS: named |
El programa dig
Para realizar esta práctica usaremos el programa dig. A continuación resumimos las principales opciones de este comando, pero le recomendamos que consulte la página de manual completa haciendo man dig o siguiendo este enlace.
Las principales opciones de dig son las siguientes:
dig [ @server ] [ -p port# ] [ name ] [ type ] [ queryopt... ]
- @server: nombre o dirección IP del servidos DNS al que se hace la consulta. Si no se especifica, se consulta a los servidores que se listan en el fichero /etc/resolv.conf.
- -p port: sirve para indicar un puerto de servidor, distinto de el por defecto (53).
- name: nombre del registro de recurso que se desea consultar.
- type: tipo del registro de recurso que se desea consultar: ANY, A, MX, etc. Si no se sepecifica ninguno, por defecto es el tipo A.
- queryopt: una o más de las siguientes opciones (hay más):
- +tcp: para forzar que la consulta se haga por TCP (por defecto UDP, excepto AXFR o IXFR). +notcp para forzar UDP.
- +ignore: para no reintentar consulta por TCP si la respuesta UDP está truncada.
- +norecursive: para forzar consulta iterativa (por defecto es recursiva).
Parte 1: consultas con un cliente DNS (dig)
Usando el programa dig, o si lo prefiere, otro equivalente como host o nslookup, responda a las siguientes preguntas y diga cómo ha obtenido la respuesta:
- Determine la dirección IP de la máquina www.mec.es.
- Averigüe qué máquina tiene asignada la dirección IP 193.110.128.200.
- Con relación al dominio abc.es, averigüe el nombre y dirección IP de los servidores de DNS de dicho dominio, y diga cuál es primario y cuáles secundarios.
- Obtenga el registro SOA del dominio abc.es preguntándoselo al dns local de la máquina en la que está haciendo la práctica, y preguntándoselo directamente al servidor primario del dominio abc.es. Compruebe que en un caso es información autorizada y en otro no.
- Si tuviera un problema con el DNS de abc.es y tuviera que mandar un correo electrónico a su administrador, ¿a qué dirección de e-mail lo enviaría?
- Determine el nombre y dirección IP del servidor de correo del administrador al que se refiere la pregunta anterior.
- Consulte la dirección IP de www.vanguardia.es. ¿Cuánto tiempo almacenará en cache su DNS local este registro de recurso? Pregunte varias veces a su DNS local por esta dirección. ¿Qué observa en el TTL del registro de recurso?
- Pregunte ahora lo mismo a un servidor raíz (pe J.ROOT-SERVERS.NET con dirección IP 198.41.0.10) y compruebe en el paquete de respuesta que, dicho servidor no acepta el modo recursivo.
- Averigüe cuantas máquinas están realizando balance de carga en el servidor web www.elpais.es. ¿Obtiene siempre las mismas y en el mismo orden?
- Haciendo consultas iterativas, averigüe la dirección IP de www.timesonline.co.uk. ¿Qué pasos ha dado?
- Puede hacer esto mismo con la opción +trace de dig. Compruebe el resultado que obtiene.
- Utilizando la información disponible a través del DNS determine (nombre y dirección IP) la máquina o máquinas que actúan como servidoras de correo del dominio it.uc3m.es.
- ¿Cómo haría para obtener todos los registros de recurso de la zona lab.it.uc3m.es?
El servidor DNS named
named es el servidor DNS que forma parte de la implementación más extendida de DNS en Unix, BIND (Berkeley Internet Name Domain). Nosotros vamos a utilizar la versión de named que se encuentra en el directorio /usr/dist/sbin/.
Al arrancar, named lee un fichero de configuración que por defecto está en el directorio /etc/bind/named.conf, pero podemos especificarle otro fichero distinto por línea de comando. También es conveniente para esta práctica la opción -f (ver página de manual de named). Lo arrancaremos, por tanto, usanso el siguiente comando:
/usr/dist/sbin/named -c ./named.conf -fEste fichero named.conf se divide en dos partes.
- En el apartado option se configura cosas como el puerto en el que va a escuchar (al arrancarlo en modo usuario no podrá ser el 53, necesitaremos especificar un puerto no reservado como por ejemplo el 10053) y la localización de ciertos ficheros que va a tener que escribir durante su funcionamiento (que pondremos para que estén en nuestra cuenta).
- En el apartado de zonas se define una o mas zonas DNS que sirve este servidor.
Un ejemplo de fichero de configuración sería el siguiente (estamos suponiendo que hace la práctica en un subdirectorio rroo/named de su cuenta; sustituya $HOME por el camino completo de su HOME).
# file $HOME/rroo/named/named.conf options { port 10053; directory "$HOME/rroo/named/"; pid-file "$HOME/rroo/named/named.pid"; }; zone "0.0.127.in-addr.arpa" IN { type master; file "$HOME/rroo/named/127.0.0"; }; zone "midominio.privado" IN { type master; file "$HOME/rroo/named/midominio.privado"; };Como puede ver, en el fichero de configuración se establece que el servidor DNS arranque en el puerto 10053 en lugar de en el 53, y que utilice el fichero $HOME/rroo/named/named.pid para escribir el número identificador de proceso (lo podemos usar para parar el servidor con un kill). Tambiés se especifica que va a servir dos zonas: midominio.privado. y 0.0.127.in-addr.arpa. Los registros de recurso de cada zona se definen en dos ficheros aparte, cuyo contenido vemos a continuación.
El fichero $HOME/rroo/named/127.0.0 tendría el siguiente contenido:
$TTL 86400 @ IN SOA ns.midominio.privado. mail.midominio.privado. ( 200403031 ; Numero de Serie: Fecha+Numero 28800 ; Tiempo de Refresco 7200 ; Tiempo de Reintento 604080 ; Caducidad de la informacion 86400) ; TTL para clientes NS ns.midominio.privado. 1 PTR localhostY el fichero $HOME/rroo/named/midominio.privado tendría el siguiente contenido:
$TTL 86400 @ IN SOA ns.midominio.privado. mail.midominio.privado. ( 200403031 28800 7200 604800 86400 ) NS ns.midominio.privado. MX 10 mail.midominio.privado. ns A 192.168.123.1 mail A 192.168.123.2 www CNAME nsParte 2: configuración de dominios en un servidor DNS (named)
- Copie estos ficheros, arranque un named en su máquina y conmpruebe con la herramienta dig que esta funcionando correctamente.
- Pare el servidor named y modifique los ficheros de configuración para que sirva también el dominio necesario para la resolución inversa.
- Cree un nuevo dominio, por ejemplo practica.rroo., con registros de tipo A, MX, NS, etc. Compruebe que funciona correctamente.