|
| Home / Docencia / I. Tec. Telecom. (Telemática, Sistemas de Telecom.) / Aplicaciones Avanzadas en Telemática | |
Aplicaciones Avanzadas en TelemáticaCurso 2007/2008 |
|
|
En esta práctica debes desempeñar el papel de administrador del servicio de DNS de una empresa ficticia. DNS (Domain Name System) es una base de datos distribuida y jerárquica que almacena información acerca de nombres de dominio, como por ejemplo:
Como administrador, debes desempeñar diversas tareas relacionadas con el servicio de DNS, que se te irán planteando en cada uno de los ejercicios propuestos. Es recomendable que antes de la primera sesión de prácticas comprendas el funcionamiento básico de DNS. Para ello, puedes leer el capítulo 1 de BIND 9 Administrator Reference Manual, o los capítulos introductorios de alguno de los libros mencionados en las referencias. Software:La aplicación más utilizada hoy en día como servidor de nombres en Internet es bind, desarrollada por el Internet Software Consortium (ISC) y distribuida con licencia de código libre. En este proyecto utilizaremos la versión BIND Version 9.3.2P2 en entorno Linux. Planificación estimada:La planificación estimada de ejercicios para cada sesión de prácticas es la siguiente:
Referencias:Las siguientes referencias pueden resultarte útiles para el desarrollo de este proyecto:
Los recursos 2 y 4 están integrados en el código fuente de BIND (debes compilarlo para generar una copia en formato HTML). El código fuente de BIND integra también una selección de RFCs relacionados con DNS. Los recursos 5 y 6 están disponibles en la biblioteca. El recurso 7 es accesible en formato electrónico desde la web de la biblioteca. |
|
|
Aunque en las distribuciones de Linux es habitual que se distribuya BIND ya compilado en un paquete, en este ejercicio debes descargar el código fuente y compilarlo tú mismo. Para ello, debes seguir los siguientes pasos:
|
|
|
El objetivo de este apartado es que quien no esté cursando o haya cursado la asignatura Aplicaciones Telemáticas se familiarice con la herramienta dig y con el servicio de DNS. dig es un cliente de DNS que te permite realizar cualquier tipo de consulta. Gracias a la cantidad de información que presenta a la salida, tanto de la consulta como de la respuesta, resulta muy útil para rastrear errores en sistemas de DNS. Examina su página de manual para obtener una descripción completa de esta herramienta. Apartado 1: funcionamiento básicoUtiliza dig para obtener la siguiente información:
Apartado 2: consultas no recursivasPor defecto dig realiza consultas recursivas. Cuando un servidor de nombres recibe una consulta recursiva para un determinado nombre de dominio:
Sin embargo, cuando la consulta es no recursiva y el servidor no tiene la respuesta, en vez de realizar una nueva consulta devuelve directamente los registros NS más cercanos al nombre de dominio solicitado, de entre todos los que posee. Para agilizar el proceso, devuelve también los registros A correspondientes a los servidores. Es el cliente en este caso el que debe realizar la misma consulta a uno de estos servidores. Averigua la dirección IP de la máquina ftp.cerias.purdue.edu utilizando únicamente consultas no recursivas. Consulta la página de manual de dig para averiguar qué opción debes utilizar para hacer consultas no recursivas. Para obtener el resultado debes seguir el siguiente proceso:
Apartado 3: listado de los servidores raízUtiliza dig para obtener un listado de todos los servidores autoritarios para la zona raíz. Recuerda que la zona raíz se representa como ".". |
|
|
El objetivo de este ejercicio es obtener un nombre de dominio para tu empresa ficticia y configurar un servidor de DNS primario para la zona asociada a dicho dominio. Tu nombre de dominio tendrá la forma miempresa.aat. Bajo este dominio, puedes definir máquinas como, por ejemplo, www.miempresa.aat. Apartado 1: obtención de un nombre de dominioEn esta práctica trabajaremos en un dominio ficticio aat, para evitar cualquier tipo de interferencias con el sistema de DNS normal. El servidor primario de DNS para las zonas ficticias raíz (.) y aat estará en la máquina con dirección IP 163.117.139.81. Habrá al menos un servidor secundario, cuya dirección puedes obtener realizando la consulta adecuada al servidor primario. El profesor de prácticas administra estos servidores. Para obtener un nombre de dominio debes ponerte en contacto con el profesor de prácticas. Debes indicarle el nombre de dominio que deseas, el nombre de la máquina en la cual instalarás tu servidor de nombres, y su dirección IP. Ten en cuenta que debes mantener en dicha máquina tu servidor de nombres en todas las sesiones de prácticas, para conservar la misma dirección IP. Apartado 2: configuración básica del servidorLa configuración del servidor de bind (named) se realiza en el fichero named.conf. Puedes consultar ficheros ejemplo así como su sintaxis en el Manual de Referencia del Administrador de bind. Escribe el fichero de configuraciónnamed.conf con la configuración necesaria para tu zona. Ten en cuenta lo siguiente:
Apartado 3: fichero de datos de la zonaUn servidor primario para una zona necesita un fichero que contenga todos los registros de recurso asociados a dicha zona. Los datos de cada zona se introducen en un fichero de texto, cuyo nombre se especifica en named.conf. En DNS for Rocket Scientists (Chapter 8. DNS Resource Records) puedes encontrar información útil acerca de cómo definir tu fichero de zona. Escribe el fichero con los datos asociados a la zona correspondiente a tu dominio. Ten en cuenta lo siguiente:
Importante:
Apartado 4: ejecución y prueba del servidorUna vez que has preparado todos los ficheros de configuración y datos, puedes ejecutar el servidor (ejecutable named). No olvides, siempre que lo ejecutes, especificar el nombre del fichero de configuración (opción -c) y ejecutarlo como proceso en primer plano (opción -f). Comprueba con dig que tu servidor funciona correctamente:
Si falla alguna de las pruebas anteriores, debes averiguar dónde puede estar el fallo. Si está en tu propio servidor, debes corregirlo. Si está en otro servidor, debes comunicárselo a su administrador para que lo solucione. |
|
|
El funcionamiento de la mayoría de servicios de Internet depende del sistema de DNS. Cuando dicho sistema falla, el resto de los servicios se ven afectados gravemente. Por ello, y para realizar balance de carga, suele haber al menos dos servidores de DNS independientes para cada zona. De esta forma, aunque uno de ellos falle, se puede seguir proporcionando el servicio. El hecho de tener servidores replicados en distintas máquinas obligaría a duplicar el fichero de zona. Esto dificultaría la actualización de los ficheros de zona, ya que el administrador tendría que actualizar la información en más de una máquina. DNS proporciona un mecanismo para evitar esto: la separación entre servidores primarios/secundarios.
Un servidor de DNS puede servir más de una zona, e incluso actuar como servidor primario para unas zonas y secundario para otras. Apartado 1Configura un servidor secundario para tu zona. Dado que sólo cuentas con una máquina, debes colaborar con otro grupo. Por una parte, debes configurar tu servidor para que actúe como secundario para la zona del otro grupo. Por otra parte, el otro grupo configurará el suyo para que actúe como secundario de tu zona. Utiliza la función notify. Reconfigura los distintos temporizadores del fichero de zona que regulan el funcionamiento de los servidores secundarios. No olvides indicar al administrador del dominio inmediatamente superior al tuyo (el profesor de prácticas) la existencia de un nuevo servidor para tu zona, para que lo incluya como registro NS en la zona aat. De esta forma, el resto del sistema de DNS conocerá a tu nuevo servidor. Comprueba que el sistema funciona correctamente. Apartado 2Comprueba que el sistema de DNS funciona correctamente cuando uno de tus dos servidores no funciona. Para ello, debes parar uno de tus servidores y realizar consultas a otros servidores acerca de registros de tu zona. Recuerda que los servidores pueden tener almacenados resultados en la caché durante el tiempo que tú hayas configurado. ¿Qué ocurre cuando ninguno de tus servidores funciona? |
|
|
El administrador de un dominio tiene potestad para crear y delegar los subdominios que crea oportunos. En este ejercicio debes delegar un subdominio por debajo de tu dominio. Apartado 1Solicita a otro grupo que te delegue un subdominio de su dominio. Configura tu propio servidor para que actúe como primario para la zona correspondiente al subdominio que te han delegado. Añade varios recursos de tipo A al subdominio. Atiende la solicitud de delegación que te hará el otro grupo, y configura adecuadamente tu servidor. Apartado 2Comprueba que el sistema funciona correctamente, incluyendo los nuevos subdominios. |
|
|
El comando rndc (remote name daemon control) permite al administrador controlar el funcionamiento del servidor de nombres remotamente. Encontrarás información acerca del funcionamiento de este comando en su página de manual y en el Manual de Referencia del Administrador de BIND. Puedes obtener rndc aquí. Configura tu servidor de nombres para que permita el acceso remoto mediante rndc, utilizando una clave en modo de secreto compartido para realizar la autenticación. Para generar la clave necesitas hacer uso del comando dnssec-keygen, que puedes descargar aquí. Averigua qué operaciones permite realizar el comando rndc, y comprueba que funcionen correctamente. |
|
|
DNS proporciona un protocolo que permite a un cliente realizar actualizaciones remotas en la base de datos de una zona. Dicho protocolo se conoce con el nombre de DNS dinámico. Apartado 1: creación de una zona dinámicaCrea una nuevo subdominio de tu dominio. Tu servidor habitual debe ser primario para este nuevo subdominio. Configura el subdominio para que se pueda administrar con DNS dinámico (sólo desde la misma máquina en que tienes el servidor). Apartado 2: el comando nsupdateEl comando nsupdate es un cliente que implementa el protocolo DNS dinámico. Utiliza este comando para añadir y eliminar registros de recurso a tu nuevo subdominio. Comprueba, utilizando dig, que todas las actualizaciones que haces tengan efecto. Apartado 3: comunicación segura utilizando TSIGEl servidor que has configurado anteriormente puede ser atacado por cualquiera que tenga acceso a la máquina en la que tienes tu servidor, dado que el control de acceso se basa en la dirección IP del origen de datos. Configura el servidor para mejorar su seguridad utilizando TSIG. Comprueba que funciona correctamente. |
|
|