Curso: Sistemas Operativos II Plataforma: Linux CONFIGURACION DE DNS DNS es conocido como la asignación de nombres a direcciones IP, es considerado la función más conocida de los protocolos DNS, este documento contiene la configuración de un servidor DNS utilizando BIND9 sobre un sistema operativo GNU/LINUX.
INDICE TEMA No. PAGINA Introducción 3 Objetivos 4 Marco Teórico 5 Configuración... 8 Conclusiones 13 Bibliografía 14 Recomendaciones. 15 2
INTRODUCCION Debido al auge de los sistemas informáticos, precisamente en el área de redes y comunicaciones se ha hecho evidente la necesidad de tecnologías que cubran las necesidades de una población creciente de usuarios en los inicios de Internet, la relación de hosts se llevaba en un archivo de texto. Las actualizaciones se realizaban por la noche transmitiéndose a todos los ordenadores que componían la red. Nadie podía prever el desarrollo que tendría y al poco tiempo este archivo se hizo tan grande que fue inviable su uso. Se introdujo entonces el sistema de nombres de dominio DNS vigente en la actualidad. Por lo que el Domain Name System (DNS) es una base de datos distribuida y jerárquica que almacena información asociada a nombres de dominio en redes como Internet. Aunque como base de datos el DNS es capaz de asociar distintos tipos de información a cada nombre, los usos más comunes son la asignación de nombres de dominio a direcciones IP y la localización de los servidores de correo electrónico de cada dominio. 3
OBJETIVOS General: Resolver direcciones ip de manera exitosa. Específicos: Resolver direcciones IP en Linux por medio de DNS. Realizar una correcta configuración de los archivos DNS en Linux Ubuntu. Realizar una correcta instalación del Servidor de DNS BIND9. 4
DNS: Historia: BIND: Berkeley Internet Name Domain, anteriormente Berkeley Internet et Name Daemon es el servidor de DNS más comúnmente usado en Internet, especialmente en sistemas Unix, en los cuales es un standard de facto. Es patrocinado por la Internet Systems Consortium. BIND fue creado originalmente por cuatro estudiantes de la University of California, Berkeley y liberado por primera vez en el 4.3BSD. Paul Vixie comenzó a mantenerlo en 1988 mientras trabajaba para la DEC. Una nueva versión de BIND (BIND 9) fue escrita desde cero en parte para superar las dificultades arquitectónicas presentes anteriormente para auditar el código en las primeras versiones de BIND, y también para incorporar DNSSEC (DNS Security Extensions). BIND 9 incluye entre otras características importantes: TSIG, notificacíon DNS, nsupdate, IPv6, rndc flush, vistas, procesamiento en paralelo, y una arquitectura mejorada en cuanto a portabilidad. Es comúnmente usado en sistemas GNU/Linux. [1] Domain Name Service (DNS): Es el servicio que resuelve los nombres de dominio asociados a una dirección IP para direccionar las peticiones a un servidor en específico. Se utiliza cuando un nodo (o host) en Internet contacta a otro mediante el nombre de domino de la máquina y no por su dirección IP. La estructura básica del DNS es similar a un árbol, donde se tiene una raíz o root, los Dominios de Nivel Principal (Top Level Domains) y los dominios de segundo nivel. Los nombres de dominio completamente calificados o FQDN (fully qualified domain name) se componen por lo general del nombre del host, un nombre de dominio secundario y un nombre 5
de dominio primario o de nivel máximo (top-level domain), que son secciones organizadas jerárquicamente. Por ejemplo: www.ejemplo.com. Leyéndolo de derecha a izquierda tenemos un dominio primario ( COM ), un dominio secundario ( EJEMPLO ) y el nombre del host ( WWW ). Algunos dominios primarios son: org - Organizaciones no lucrativas. com - Organizaciones lucrativas. net - Organizaciones en Internet. gob - Agencias gubernamentales en latinoamérica. gt - Sufijo de Guatemala. es - Sufijo de España. Existen cuatro tipos diferentes de servidores de resolución de nombres: Master (maestro o primario). Aloja los registros autoritarios de una zona, responde las peticiones de resolución de nombres como servidor de autoridad y delega copias a los servidores esclavo. Slave (esclavo o secundario). Responde a las peticiones de resolución de nombres como servidor de autoridad, pero la información es distribuida por los servidores primarios. Se considera que como medida de seguridad, se requiere al menos uno de estos, preferentemente independiente de la infraestructura del primario (red, energía eléctrica y ubicación geográfica). Caching-only (sólo de cache). Responde a las peticiones de resolución de nombres pero no es servidor de autoridad, las respuestas las guarda en memoria por un período determinado. Forwarding (de reenvío). Reenvía las peticiones a una lista de servidores de nombres. Tipos de registros. Para ofrecer suficiente flexibilidad en la configuración, se pueden declarar diversos tipos de registros, que hacen referencia a la función del host. A continuación veremos los más importantes. 6
A (Address). Es el registro más usado, que define una dirección IP y el nombre asignado al host. Generalmente existen varios en un dominio. MX (Mail exchanger). Se usa para identificar servidores de correo, se pueden definir dos o más servidores de correo para un dominio, siendo que el orden implica su prioridad. Debe haber al menos uno para un dominio. CNAME (Canonical Name). Es un alias que se asigna a un host que tiene una dirección IP valida y que responde a diversos nombres. Pueden declararse varios para un host. NS (Name Server). Define los servidores de nombre principales de un dominio. Debe haber al menos uno y pueden declararse varios para un dominio. SOA (Start Of Authority). Este es el primer registro de la zona y sólo puede haber uno en cada archivo de la zona y sólo está presente si el servidor es autoritario del dominio. Especifica el servidor DNS primario del dominio, la cuenta de correo del administrador y tiempo de refresco de los servidores secundarios. [2] 7
CONFIGURACION Instalación Para poder montar el servicio de DNS en nuestro servidor es necesario instalar la herramienta bind9 mencionada anteriormente. La instalación la realizaremos en: S.O. Ubuntu Linux para ello ejecutamos desde consola el siguiente comando: $sudo apt-get install bind9 Con ello tendremos listo e instalado BIND y sus dependecias. Configuración Una vez instalado BIND9 nos vamos al directorio de configuración de BIND. $ cd /etc/bind/ 8
Para agregar un nuevo dominio es necesario modificar el archivo named.conf.local y agregar las lineas descritas a continuación para incluir nuevas zonas. Añadimos la zona grupo11.net, haciendo referencia a su fichero de configuración: zone "grupo11.net" { type master; file "/etc/bind/db.grupo11"; }; Si deseamos también disponer de resolución de dominios inversa, es decir, que podamos preguntar por la IP 192.168.1.2 y el serv1dor DNS nos diga que pertenece a grupo11.net, debemos añadir las siguientes líneas siempre al named.conf.local: zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/db.192"; }; El archivo quedaría a de la siguiente forma 9
A continuación se configuran los archivos que contiene cada zona: Primero editamos el archivo db.grupo11 colocando las siguientes líneas: ; ; BIND data ; $TTL 604800 @ IN SOA ns1.grupo11.net. admin.grupo11.net. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns1.grupo11.net. @ IN MX 10 mail.grupo11.net. @ IN A 192.168.1.2 www IN A 192.168.1.2 mail IN A 192.168.1.2 servicios IN CNAME grupo11.net El dominio a resolver es grupo11.net y la cuenta de correo es admin.grupo11.net Descripción de los campos: Serial: es un identificador del archivo, puede tener un valor arbitrario pero se recomienda que tenga la fecha con una estructura AAAA-MM-DD y un consecutivo. Refresco: número de segundos que un servidor de nombres secundario debe esperar para comprobar de nuevo los valores de un registro. Reintentos: número de segundos que un servidor de nombres secundario debe esperar después de un intento fallido de recuperación de datos del servidor primario. 10
Expiración: número de segundos máximo que los servidores de nombre secundarios retendrán los valores antes de expirarlos. TTL mínimo: Significa Time To Live y es el número de segundos que los registros se mantienen activos en los servidores NS caché antes de volver a preguntar su valor real. Ahora editamos el archivo para resolución inversa(db.192). ; ; BIND reverse ; $TTL 604800 @ IN SOA grupo11.net. admin.grupo11.net. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; IN NS grupo11.net. 2 IN PTR grupo11.net.;numero del servidor dns 192.168.1."2" Listo ahora solo nos falta reiniciar los servicios y lo realizamos con el siguiente comando: /etc/init.d/bind9 restart Para que nuestra máquina utilice el servidor de DNS que hemos configurado, debemos editar /etc/resolv.conf y dejamos únicamente la línea: nameserver 127.0.0.1 11
Se debería hacer lo mismo con el resto de máquinas de la intranet que vayan a utilizar el servidor, con la única diferencia que habrá que substituir la IP 127.0.0.1 por la IP que tenga el servidor en la red. Para a probar si funciona nuestro DNS escribimos desde consola: $host grupo11.net y nos tendría que aparecer algo como esto: 12
CONCLUSIONES En base a lo anteriormente expuesto se concluye lo siguiente: Que el sistema de nombres de dominio del protocolo DNS es una base de datos distribuida que permite un control local sobre los segmentos de la base de datos en general, logrando que cada segmento esté disponible a lo largo de toda la red Internet. El sistema de nombres de dominios utiliza un esquema cliente servidor. Que al realizar dichas configuraciones logramos colocar nuestro sitio, o dirección dentro de la red. Ya que al momento de colocar dentro del browser de cualquier computadora dentro de la red la dirección de nuestro sitio, este podrá ser accedido. Que la implementación consigue tiempos medios de respuesta en búsqueda relativamente cortos, teniendo en cuenta la cantidad de datos de nombres y la escala de las redes implicadas. 13
TUTORIAL DESARROLLADO POR Carlos Enrique Rodas Gálvez 2002-12383 Miguel Enrique Guerra Connor 2002-17739 Vinicio Rodolfo Miranda Orozco 2002-12355 BIBLIOGRAFIA La sección conceptual de este documento fue investigada bajo las siguientes fuentes bibliográficas. Motor de Búsqueda: www.google.com.gt Sitios Virtuales Consultados: [1] http://es.wikipedia.org/wiki/bind [2] http://www.gpltarragona.org/archives/421 14
RECOMENDACIONES En base a la experiencia que se deriva del equipo de implementación se plantean unas recomendaciones básicas que deben ser tomadas en cuenta para tener una óptima configuración e implementación. Se recomienda al momento de colocar el nombre del servidor se debe colocar un nombre corto y fácil de recordar al igual que la clave del servidor. Al momento de añadir una cuenta nueva en el cliente se debe recordar el nombre del servidor y la dirección IP del mismo. 15