Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Manual DNS Y DHCP Linux Introducción Este manual le muestra como configurar un sistema de Nombres de Dominio (DNS) y DHCP usando BIND y DHCP3 Server- ISC-DHCP-Server. Cuando termine este manual, debería saber instalar, configurar, mantener y resolver las incidencias de cualquier dominio que registre. Se empezara con una introducción a DNS y DHCP. By: John Michel Rivera De León. Email: lionheart815@hotmail.com No vale más el que sabe mucho, sino el que hace mucho con lo poco que sabe. By: John Michel Rivera De León. 1 E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m M a n u a l D N S Y D H C P L in u x Descripció n: El presente documento es un manual para comprender y crear nuestro propio servidor DNS y DHCP en Linux. Dentro de este documento se muestra en la última sección un ejemplo de implementación en la distribución Debían 6 Squeeze (pág. 11). Se recomienda leer todo el documento para comprender que se está haciendo, en caso de conocer lo necesario puede saltarse hasta la última sección para ver el ejemplo implementado. (pág. 11). BIND9 DN“ Características de DNS DNS es la B.D más grande del mundo. DNS asocia la dirección IP con el nombre de los servidores conectados a internet, que abarcan desde pequeños sitios web, hasta granjas de servidores como Google. DNS separa los dominios en categorías. La colección de categorías reside en lo que se llama el directorio de raíz. Esta colección está dividida en dominios de alto nivel o TLD. DNS busca los nombres según el sufijo .edu, .org, .com, etc. Los dominios de cada TLD apuntan a la dirección que puede usar para comunicarse con el servidor. El DNS que originalmente se definió en el RFC 882 en 1983 y luego se revisó como RFC 1034 y 1035 introdujo varias ideas para gestionar el mapeo de los nombres comunes de internet a direcciones IP’s. El siste a distri uye los datos y los nombres de equipos de manera jerárquica en un espacio de nombres de dominio. Los Programas llamados servidores de nombres de parte de los programas clientes. Los esquemas de nombres jerárquicos como DNS evitan la duplicidad de los datos. Cada dominio es único y puede tener tantos servidores como quiera para su dominio, simplemente debe añadir un prefijo a los equipos del dominio. By: John Michel Rivera De León. Email: lionheart815@hotmail.com 2 E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m M a n u a l D N S Y D H C P L in u x BIND BIND es un estándar en todas las versiones de Unix y Linux. Bind viene con tres componentes. El primero es el servicio o demonio que ejecuta el servidor DNS. Este componente se llama named. El segundo elemento de BIND es la librería resolutoria. Este componente es el que los navegadores Web, el software de correo y otras aplicaciones consultan cuando intentan encontrar un servidor por su nombre DNS. El código del resolutor lanza consultas sobre los servidores DNS para intentar traducir nombres en direcciones IP. Este elemento de BIND usa su propio directorio llamado resolv.conf que está presente en cada ordenador. Es deber del administrador configurar resolv.conf. Aquí un ejemplo: Search midominio.net Nameserver 70.253.158.42 Como observa, el archivo de configuración del resolutor BIND es sencillo, la primera línea busca un servidor en el dominio local. La otra línea indica la dirección de otros servidores de nombres que el administrador conoce, si una consulta falla, se consulta al siguiente servidor. Servidores DNS primarios y secundarios Se recomienda disponer de al menos dos servidores DNS cuando registre su dominio. Si quiere, puede hacer un duplicado exacto de la información que se utiliza para el primer servidor DNS y colocarlo en el lugar del segundo servidor. Es más útil considerar a un servidor como el primario y otro como secundario. BIND permite al servidor secundario que se comunique con el primero y automáticamente replique el directorio, lo que en la práctica se llama zona de transferencia. El servidor primario no transfiere la nueva configuración a los servidores secundarios inmediatamente. En lugar de esto, cada servidor secundario sondea al servidor primario a intervalos regulares de tiempo para detectar los cambios que se han producidos. Un servidor secundario sabe que debe sondear al primario, ya que se etiqueta con el término Slave en el archivo named.conf como se muestra aquí: By: John Michel Rivera De León. 3 E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m M a n u a l D N S Y D H C P L in u x )o e ido i io. et { Type Slave; file se . ido i io. et ; masters {70.253.158.42;}; }; Aun que un servidor secundario no puede actuar como mascara indefinidamente. De manera eventual su información podría caducar, por lo que sería preferible dejar de responder a las peticiones. Estas zonas se definen en diversos archivos, no en el archivo named.conf. El archivo named.con apunta a la localización de su archivo de zona. Archivos de Configuración Cuando instala Bind en Linux, se generan los archivos de configuración. Named.conf Cuando named recibe una petición, consultaba su propio directorio, el archivo de configuración named.conf. Esto hace apuntar a named al archivo de zona para el dominio solicitado. Este archivo esta normalmente instalado en su servidor Linux por defecto. Dependiendo de la distribución, puede residir en distintos directorios ie; /etc/bind/named.conf. Un ejemplo sencillo es el siguiente: Options{ Pid-file /var/ru / i d/ru / a ed.pid ; Dire tory /et / i d ; )o e . { Type hint; File d .root ; }; )o e . . .i -addr.arpa { Type master; By: John Michel Rivera De León. Email: lionheart815@hotmail.com 4 E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m M a n u a l D N S Y D H C P L in u x File d .lo al ; }; )o e 5 . 5 . .i -addr.arpa { Type master; File pri. 5 . 5 . .i -addr.arpa ; }; )o e ido i io. et { Type master; File pri. ido i io. et ; }; } El archivo de ejemplo named.conf hace referencia a los otros cuatro archivos de configuración. La tercera línea tiene el directorio /etc/bind. La sentencia de opciones contiene dos líneas. La primera muestra la localización de named.pid que solamente contiene el ID del proceso del demonio named que se está ejecutando. Es muy útil cuando se requiere reiniciar o parar named. La segunda linea de la sentencia de opciones define el directorio que contiene los archivos relacionados con su ejecución. Las sentencias de zona identifican la localización de varios archivos que contienen la información de configuración. En resumen, named.conf necesita apunta a los archivos de sentencias de zona: Ar hivo Hi ts para la zo a . : Este ar hivo o tie e los o res y las direcciones de los servidores raíz de internet, named debe conocer las direcciones de estos servidores para poder empezar a consultar cuando ninguno de los componentes del dominio solicitado este almacenado en la cache. Ar hivo lo al host para la zo a . . .i -addr.arpa : El ar hivo representa su propio sistema (dirección IP 127.0.0.1). La ventaja de estos archivos de zona local es la de reducir el tráfico y permitir al softwareBy: John Michel Rivera De León. 5 E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m M a n u a l D N S Y D H C P L in u x funcionar de la misma forma, independientemente de que esté accediendo a un equipo local o a uno remoto. Ar hivo de zo a i versa para la zo a 5 . 5 . .i -addr.arpa : El archivo convierte las direcciones IP en nombres. Puede reconocer un archivo de zona inversa porque tiene una extensión in-addr-arpa y usa registros PTR. Archivo de zona primario (para la zo a ido i io. et : Este ar hivo, algunas veces llamado base de datos de dominios, define la mayor parte de la información necesario para resolver las consultas sobre el dominio que administra. El archivo de zona primario asocia nombres a direcciones IP y ofrece información sobre los servicios que los equipos ofrecen en internet. El archivo de configuración por defecto contiene las dos primerias sentencias de zona. Se deben de añadir entradas para los archivos de zona inversa y zona primaria. Los archivos de zona usan varios tipos de registros, entre los que se incluyen: SOA: Comienzo de autoridad. NS: Servidor de nombres MX: Pasarela de correo, que identifica un servidor de correo en el dominio. A: Asocia un nombre de equipo a una dirección. CNAME: Nombre canónico, que define un alias para un equipo en un registro A. PTR: Puntero, que asocia direcciones con nombres. El archivo de zona primaria Los elementos que contiene este archivo están especificados en el RFC 1035. Si está usando el conjunto de archivos que la instalación ofrece, debería de asignarle un nombre a su archivo de zona primaria añadiendo un prefijo a su dominio. Las primeras líneas de este archivo ofrecen la información necesaria para sincronizarlo con el servidor secundario: @ IN SOA server1.midominio.net. root.localhost. { 20120124; serial 28800; refresh 7200; retry By: John Michel Rivera De León. Email: lionheart815@hotmail.com 6 E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m M a n u a l D N S Y D H C P L in u x 604800; expiración 86400); mínimo TTL ; Eso es un registro SOA. SOA es el comienzo de autoridad, que lo distingue como información para servidores autoritativos en contraposición con los servidores de solo cache. En la primer línea donde se comienza por el símbolo @. De izquierda a derecha los campos son: Name: El nombre raíz de la zona. El símbolo @ es la referencia abreviada a la zona actual del archivo /etc/named.conf. Class: La clase DNS. Existe un número de clases, pero la gran mayoría de los sitios usan la clase IN (internet). Las otras clases están para protocolos y funciones que no son de internet. Type: El tipo del registro de recurso DNS. En este caso, es un registro de recurso SOA. Nameserver: El nombre completo del servidor de nombres primario. El nombre debe terminar con un punto que denote la raíz de la jerarquía DNS para poder indicar que la ruta es un nombre de dominio completo. Dirección de Email: La dirección de correo electrónico de la persona que es responsable del dominio. Las siguientes líneas de los registros SOA contienen características para los servidores esclavos: Serial: El número de serie para la configuración actual. Usted incrementa este número cada vez que hace un cambio en la configuración, por lo que los servidores esclavos saben cuándo ha actualizado la información. Este número está en formato de año-mes-día. Refresh: El intervalo en el que un servidor DNS esclavo debería sondear al maestro para determinar si es necesario una transferencia de zona. En el ejemplo anterior el número 28800 es equivalente a 8hrs. Retry: Frecuencia con la que intenta conectarse al maestro si una conexión fallara. Expiry: Cantidad de tiempo que un esclavo debería intentar conectar con el maestro antes de que los datos que contiene caduquen. By: John Michel Rivera De León. 7 E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m M a n u a l D N S Y D H C P L in u x Mínimum-TTL: Tiempo de vida por defecto para este dominio en segundos. 86400 es un día, el registro de consultas a cache durara un día. El registro SOA va seguido de una lista de nombres de equipos de varios tipos: NS server1.midominio.net.; NS server2.midominio.net.; Estos registros NS especifican los servidores de nombres del dominio. Lo siguiente es un registro MX que identifica el servidor de correo del dominio: MX 10 server1.midominio.net. El registro MX de nuestro archivo de zona primario va seguido por varios registros A: Midominio.net. A 70.253.258.42 www A 70.253.258.42 server1 A 70.253.158.42 Un registro A asocio un nombre a una dirección IP. Registros A Los registros NS y MX usan nombres de equipo como midominio.net, server1.midominio.net, pero el archivo de zona primaria también debe especificar la dirección IP con la que se deben asociar estos nombres. Los registros A 7ºrealizan esta asociación. En un navegador está acostumbrado a introducir www.midominio.net, por lo tanto se crea el registro: www A 70.253.258.42 Las www no van seguidas de un punto, por lo que BIND añade el origen de la zona. Registros CNAME CNAME es la abreviación de nombre canónico, es un alias para un registro A, i.e; ftp CNAME www Esto quiere decir que ftp.midominio.net es un nombre alternativo para www.midominio.net. http://www.midominio.net/ ftp://ftp.midominio.net/ http://www.midominio.net/ By: John Michel Rivera De León. Email: lionheart815@hotmail.com 8 E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m M a n u a l D N S Y D H C P L in u x Archivo completo El archivo de zona pri.midominio.net quedaría de la siguiente forma: @ IN SOA server1.midominio.net. root.localhost. { 20120124 ;serial 28800; refresh 7200; retry 604800; expiración 86400); mínimo TTL ; NS server1.midominio.net.; NS server2.midominio.net.; ; MX 10 server1.midominio.net. ; Midominio.net A 70.253.158.42 www A 70.253.158.42 server1 A 70.253.158.42 server2 A 70.253.158.42 ftp CNAME www Archivo de zona inversa Con el archivo de zona primaria completo, los programas pueden buscar el dominio midominio.net y todos los subdominios DNS. Pero aún se necesita un archivo de zona inversa. El archivo de zona inversa debería parecerse a lo siguiente: @ IN SOA server1.midominio.net. root.localhost. { 20120124 ;serial 28800; refresh 7200; retry By: John Michel Rivera De León. 9 E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m M a n u a l D N S Y D H C P L in u x 604800; expiración 86400); mínimo TTL ; NS server1.midominio.net.; NS server2.midominio.net.; Búsquedas de prueba Para probar BIND podemos parar y arrancar names así: /etc/init.d/bind9 stop /etc/init.d/bind start Ahora podemos probar nuestra configuración haciendo una búsqueda con La herramienta de línea de comandos dig.Primero, buscaremos la dirección IP midominio.net: Dig midominio.net Si resulta correcto, esta búsqueda retorna automáticamente la dirección IP 70.253.158.42. Para hace una búsqueda inversa se hace: Dig –x 70.253.158.42 DHCP Los servicios de Dymanic Host Configuration Protocol DHCP pueden ayudar a solucionar problemas asociados con entornos de área local, tales como problemas de asignación de direcciones IP.El servidor DHCP asegura que todas las direcciones IP son únicas. Los administradores pueden escribir archivos de configuración y dejar el resto del trabajo al servidor DHCP. Configurando DHCP Para utilizar DHCP se instala el servidor DHCP. Con la instrucción apt-.get install dhcp3-server. Una vez que se instala, únicamente se debe modificar el archivo /etc/dhcp/dhcpd.conf. Debería parecerse al siguiente ejemplo: By: John Michel Rivera De León. Email: lionheart815@hotmail.com 10 E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m M a n u a l D N S Y D H C P L in u x Ddns-update-style interim; Ignore client-updates; Subnet 192.168.1.0 netmask 255.255.255.0 { Option routers 192.168.1.1; Option subnet-mask 255.255.255.0; Option domain-name-servers 192.168.1.1; Default-lease-time 21600; Max-lease-time 43200; Host ns{ Next-server server1.midominio.net; Hardware Ethernet 00:7E:24:22:11:C7; Fixed-address 70.253.158.42; } } Aquí se definen las direcciones de los routers y en este caso la dirección MAC de la interfaz del servidor DNS. Para iniciar el servicio DHCP se utiliza el comando /etc/init.d/isc-dhcp-server start. By: John Michel Rivera De León. 11 E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m M a n u a l D N S Y D H C P L in u x IMPLEMENTACIÓN DE DNS Y DHCP EN DEBIAN 6 (EJEMPLO) Este ejemplo está desarrollado en la distribución Debian 6 Squeeze. Se da por entendido que ha leído y comprende las nociones básicas tanto de DNS y DHCP mencionadas anteriormente. Los directorios varian dependiendo de la distribucion donde se desarrolle. Por ejemplo en debían 5 los directorios de DHCP son /etc/dhcp3, mientras que en debían 6 es simplemente /etc/dhcp. Lo primero que se debe realizar es descargar el paquete BIND9 para configurar el servidor DNS. Esto puede realizarse con la instrucción vía consola: apt-get install bind9. Una vez que se tiene instalado el servidor tratara de iniciarse en automático, esto provocara un error puesto que no está configurado, no debe preocuparse. Antes que nada configuramos la IP statica de nuestro servidor, esto es modificando nuestro archivo de interfaces con la instrucción nano /etc/network/interfaces Definimos la dirección IP de nuestra máquina que usaremos como servidor DNS así como la máscara, servidor DNS y la dirección de broadcast. Esta dirección IP la utilizaremos en los archivos de BIND para configurar el servidor DNS. Una vez configurada nuestra ip estatica cargamos la nueva configuración para nuestra interfaz con la instrucción /etc/init.d/networking restart By: John Michel Rivera De León. Email: lionheart815@hotmail.com 12 E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m M a n u a l D N S Y D H C P L in u x Ahora debemos ubicarnos en la carpeta /etc/bind, suponiendo que se encuentra en debían 6. Primero modificamos el archivo llamado named.conf, esto con la instrucción nano named.conf Dentro de este archivo se definen los archivos fuentes a cargar y que se crearan más adelante. Así mismo se incluye la llave ubicada en el mismo directorio. Una vez realizado este pasó, se procede a modificar el archivo named.conf.options nuevamente con la instrucción nano named.conf.options, debería parecerse a lo siguiente: By: John Michel Rivera De León. 13 E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m M a n u a l D N S Y D H C P L in u x Ahora modificamos el archivo principal con la instrucción nano named.conf.local: Dentro de este archivo se definen las zonas y el archivo de base de datos que contienen sus instrucciones. De igual forma se especifica el tipo pudiendo ser maestro o esclavo. Ahora creamos los archivos de base de datos que definimos en named.conf.local, que son d .thega gasso y d . . . ta to para la zo a pri ipal así o o la i versa. Primero creamos db.thegangasso con la instrucción nano db.thegangasso. Puede llamarse de cualquier otra forma de acuerdo al dominio que elijan. By: John Michel Rivera De León. Email: lionheart815@hotmail.com 14 E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m M a n u a l D N S Y D H C P L in u x Si leyó las secciones anteriores comprenderá el contenido de este archivo, si no, recomiendo que lo lea para saber qué es lo que hace. De igual manera creamos db.192.77.0. Una vez que ya configuramos BIND y creamos sus archivos que sirven como bases de datos, modificamos finalmente el archivo resolv con la instrucción nano /etc/resolv.conf By: John Michel Rivera De León. 15 E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m M a n u a l D N S Y D H C P L in u x En el configuramos el dominio y el nombre del servidor. Una vez finalizados estos paso iniciamos BIND con la instrucción /etc/init.d/bind9 start Si todo fue configurado correctamente debería iniciar sin problemas, de lo contrario se necesita ver el archivo syslog para ver el error, este se encuentra en /etc/var/log/syslog Al final del archivo syslog se encontrara de manera detallada cual fue el error. Por lo general esto se debe a falta de puntos o comas. Para probar si funciona nuestro servidor DNS utilizamos la herramienta dig, en consola utilizamos el comando dig thegangasso.com . En caso suyo el dominio que especificaron Por ultimo probamos la zona inversa con dig –x 192.77.0.1 By: John Michel Rivera De León. Email: lionheart815@hotmail.com 16 E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m M a n u a l D N S Y D H C P L in u x De igual forma probamos nuestro dominio haciendo ping al nombre de dominio: Por ultimo probamos con nslookup: By: John Michel Rivera De León. 17 E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m M a n u a l D N S Y D H C P L in u x Con esto comprobamos que nuestro servidor DNS funciona correctamente. DHCP DHCP3-SERVER ISC-DHCP Primero instalamos los paquetes dhcp3server y isc-dhcp-server con nuestra consola via apt. Introducimos en consola apt-get install dhcp3-server y lo mismo hacemos para apt-get install isc-dhcp-server. Esto es bastante corto ya que únicamente debemos configurar dos archivos, el primero es para definir la interfaz donde se escucharan las peticiones, en este archivo se define la interfaz de la NIC a utilizar. Introducimos en consola el comando nano /etc/default/isc-dhcp- server , definimos entre las comillas la interfaz. Una vez completado esto, pasamos a modificar el archivo principal encargado de asignar las direcciones dentro del rango especificado. Este archivo es dhcpd.conf y está ubicado en By: John Michel Rivera De León. Email: lionheart815@hotmail.com 18 E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m M a n u a l D N S Y D H C P L in u x /etc/dhcp/. Con la consola modificamos el archivo con el comando nano /etc/dhcp/dhcpd.conf Debería parecerse a lo siguiente: Una vez configurado correctamente iniciamos el servicio con la instrucción /etc/init.d/isc- dhcp-server start Para probar el servidor DHCP debemos conectar un switch o hub a nuestra NIC de nuestramáquina y conectar otra máquina al hub o switch. Si todo sale bien debe asignarle una ip dentro del rango que establecimos en el archivo dhcpd.conf IMPORTANTE: Si va a probar el servidor DHCP de maquina a máquina es importante utilizar un cable trenzado de maquina a máquina o de lo contrario no funcionara. Puede buscar en internet la configuración para hacer su cable par trenzado de máquina a máquina usted mismo. By: John Michel Rivera De León. 19 E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m M a n u a l D N S Y D H C P L in u x Si configuro todo correctamente puede montar un servidor apache tomcat en su servidor DNS y podrá acceder por otros equipos que tengan una ip dentro del rango de su servidor DHCP a las páginas de tomcat sin tener que recordar la ip de la máquina, sino simplemente introduciendo el dominio y la pagina como se muestra a continuación; Con esto se da por terminado este manual básico para configurar un servidor DNS y DHCP en Linux. Referencias: By: John Michel Rivera De León. Email: lionheart815@hotmail.com 20 E m a il : l io n h e a rt 8 1 5 @ h o tm a il .c o m M a n u a l D N S Y D H C P L in u x 1. RFC-1034 2. RFC-1035
Compartir