| Cómo configurar BIND |
|
|
|
|
BIND es el servidor de nombres de dominio más popular en Internet, que trabaja en todas las plataformas informáticas principales y se caracteriza por su flexibilidad y seguridad. A continuación se puede encontrar tanto la teoría general de los servicios de DNS, como una explicación detallada de los campos y opciones de la configuración de BIND, ejemplos, opciones de seguridad, herramientas de verificación, ligas de información adicional y otras más. Licencia Por Hugo Madrid Luna (Crowley) crowley@mexicoextremo.com.mx http://www.mexicoextremo.com.mx URL: http://www.mexicoextremo.com.mx/content/view/423/62/ Se otorga el permiso para
copiar, distribuir y modificar este documento bajo los
términos de la Licencia de Documentación Libre
del GNU (http://www.gnu.org/copyleft/fdl.html), versión 1.2
o cualquier otra posterior publicada por la Free Software Foundation;
este documento no consta de secciones invariantes ni con portadas o contraportadas.
Preliminares.Para un mejor entendimiento de este tema, se recomienda conocer la teoría general del funcionamiento de Internet, además de nociones de administración de redes. Los sistemas operativos para las pruebas de este manual fueron Fedora Core 2 con kernel 2.6.8 y Solaris 9; la versión de BIND fue la 9.2.3 en Linux y la 8.4.2 en Sun. Introducción.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. A través de este documento se verán las generalidades del servicio de resolución de nombres, la configuración y mantenimiento de un servicio de nombres con BIND, bajo la plataforma Linux, aunque la mayoría de estos conceptos se pueden aplicar a la cualquier servicio de DNS sobre otras plataformas. Regularmente, todos los equipos que están en Internet o una Intranet tienen una dirección IP única que las identifica, generalmente dividido en cuatro segmentos u 'octetos', cuya representación es, por ejemplo, '172.29.183.217', pero el recordar todas las direcciones en este formato sería sumamente difícil, por lo que utilizamos los nombres de dominio para referenciarlos. Existen varios productos que realizan esta función y en todas las plataformas, pero el más usado es BIND (Berkeley Internet Name Domain), que puede ser descargado libremente desde http://www.isc.org/index.pl?/sw/bind/, es distribuido bajo la GNU GPL y que al momento de escribir este documento, se encuentra en la versión 9.3. Teoría sobre servidores de nombres de dominio.Funciones de un servidor de dominio.Estas varían de acuerdo a los nombres se que buscan resolver: Soporte al dominio de Internet. Atiende las peticiones dirigidas a los servicios que se prestan desde adentro de la organización, como WEB, FTP y correo, hacia Internet. Se requiere que se identifiquen estos servidores como autoridades DNS por parte de NIC. Se recomienda tener dos de estos, lo más independiente posible el uno del otropor razones de seguridad. Resolución local de nombres: Resuelve las peticiones de adentro de la LAN, eliminando la necesidad de conocer y actualizar programas y peticiones si se cambian las direcciones IP de los servidores. Aunque es posible, se recomienda mantener separado este servicio del anterior, por razones de seguridad. Resolución de nombres por Internet. Es su forma más básica, que generalmente sólo tranfiere las peticiones a NIC en caso que el DNS principal no funcione. No es necesario que se tengan las tres variaciones al mismo tiempo, sino que depende de las necesidades de la organización. Estructura básica del DNS.Esta es similar a un arbol, donde se tiene una raíz o root, los Dominios de Nivel Principal (Top Level Domains) y los dominios de segundo nivel, como se aprecia a continuación.
![]() Básicamente, el servidor DNS que tenemos configurado busca dentro de su lista de nodos por el que preguntamos, en caso de desconocerlo refiere la petición a NIC, que a su vez la transfiere al servidor que resuelva los nombres del dominio solicitado. Zonas.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 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:
Con excepción del nombre del host, cada sección es una 'zona', que controla los subdominios a su izquierda. Las zonas son archivos de texto que se alojan en los servidores de dominio primarios o maestros y que replican a los secundarios o esclavos, mismos que explicaremos más adelante. Es importante diferenciar una 'zona' de un 'dominio'. La zona es un punto de delegación dentro del arbol del dominio (por ejemplo 'ejemplo.com.mx'), mientras que un dominio en si es el nombre dentro de la zona (por ejemplo, '.com'). Este tema es un poco confuso, ya que en realidad los servidores de resolución de nombres en realidad manejan zonas, no dominios. Tipos de servidores.Existen cuatro tipos diferentes de servidores de resolución 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. 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. Instalación y configuración de BIND.Instalación.Se puede efectuar de diversas formas, dependiendo de nuestro sistema operativo y preferencias. Código fuente.
RPM.
Administradores de instalaciones.
Estructura del archivo de configuración.A partir de la versión 8 de BIND, esta es la estructura principal de named.conf, con muy pequeñas modificaciones en la serie 9. # Comentarios sobre este servidor Esta estructura de zonas son muy similares entre si, cambiando de acuerdo a las zonas que queremos resolver. Algunas otras opciones que se pueden declarar son: pid-file "named.pid"; Estructura de los archivos de zona.La primera entrada siempre es el SOA (start of authority), que indica la fuente de información para una zona, tiempos de refresco y otros, como vemos a continuación: ; SOA Start of Authority En este ejemplo vemos primeramente el dominio a resolver, 'ejemplo.com.', se declara como DNS autoritario a 'dns.ejemplo.com.' y el segundo es la cuenta de correo del administrador, 'master.correo.ejemplo.com.' (sustituyéndo el primer punto por arroba, lo que dejaría 'master@correo.ejemplo.com'). Debemos notar que al final de cada dominio viene un punto, que identifica la raíz de este. El resto de los parámetros son:
Una acepción más es el uso del arroba (@) como dominio a resolver, que referencía el nombre de la zona en named.conf, quedando de la siguiente manera. ; SOA Start of Authority Otros componentes de los archivos de la zona autoritarios, que se explican por si mismos, son: ; NS Name Servers Un caso más, que se aplica para el loopback, es el registro PTR (Domain Name Pointer), que indica a que dirección IP corresponde un nombre. ; A Address-to Name Mapping Ejemplos de archivos de zona.En base a las zonas mencionadas en el named.conf que vimos previamente y la estructura descrita, declaramos los siguientes archivos: Zona del localhost. # Nombre del archivo: named.local Zona del dominio externo (servidor principal o autoritario). # Nombre del archivo: named.dominio Zona de resolución inversa del dominio. # Nombre del archivo: named.red.192 Zona de cache distribuida por NIC. # Nombre del archivo: named.ca En base a estos ejemplos, se pueden crear tantas zonas sean necesarias, vigilando en todo momento que las direcciones IP estén correctas. Creación de servidores esclavo.Se deben seguir los siguientes pasos para que las zonas del escalvo se sincronicen con el principal.
# Zona de resolución inversa # Comentarios sobre este servidor IN NS dns.ejemplo.com. ; DNS principal En cuanto se inicie el servicio, deberá comenzar la sincronización de los servidores. En caso de que los mensajes de sistema indiquen que se niega el permiso para escribir en las zonas al momento de sincronizar un esclavo con el principal, se deben de cambiar los permisos de la siguiente manera: chmod 2775 /var/named/* Administración del servicioArranque del servicio. /etc/init.d/named start Alto del sistema. /etc/init.d/named stop Verificación del sistema. ps -fea |grep named Automatización al arranque del equipo. chconfig -level 123 named on Consideraciones al instalar servidores de dominio.
Configuración de seguridadOcultando la versión de BIND. Editar la sección 'options' de named.conf y adicionar la siguiente línea, luego reiniciar el servicio, de manera que no indique la versión en que trabaja: options {
Restringuiendo las zonas de transferencia. Esto hace que sólo aquellos servidores esclavos que indiquemos puedan transferir las zonas, como vimos anteriormente. options {
Evitando spoofing. Esto es útil principalmente para permitir que sólo un cierto segmento de red pueda hacer consultas (en los DNS internos), además que reduce el tráfico de peticiones por la red. options {
Ejecutar named como un usuario 'enjaulado'. La idea es evitar que el usuario que ejecuta el servicio pueda realizar cualquier otra acción fuera de su carpeta, para lo que se usa el paquete bind-chroot, que configura y ejecuta todo el servicio en /var/named/chroot. Otros recursos.Lecturas recomendadas.
Herramientas de diagnóstico.
Herramientas por Internet.
Servicios de DNS dinámicos.
Registro de Dominios.
Si
el anterior artículo te ha sido útil o te ha
gustado, por favor haz click en alguno de los anuncios que aparecen a
continuación, con esta pequeña acción
ayudarás a mantener este sitio y nos animarás a
seguir trabajando para publicar información de tu
interés.
|
||||||||||||||||||||||
| < Anterior | Próximo > |
|---|


Enlaces
