Configuración de DNS (bind)

DNS es el servicio de resolución de nombres, esto es, el servicio que se encarga de traducir nombres del la forma www.dominio.com en direcciones IP.

El software utilizado será BIND (Berkeley Internet Name Domain)

Software para DNS

En primer lugar tendremos que instalar varios paquetes:

caching-nameserver-x.y.z
bind-utils-xx.xx-x
bind-xx.xx-x

Montamos el cd con la distribución en /mnt/cdrom:

mount /mnt/cdrom

e instalamos estos paquetes:

rpm -Uvh /mnt/cdrom/rutaacceso/bind-xx.xx-x
rpm -Uvh /mnt/cdrom/rutaacceso/caching-nameserver-x.y.z
rpm -Uvh /mnt/cdrom/rutaacceso/bind-utils-xx.xx-x

Dependiendo de la distribución podremos utilizar cualquier utilidad para instalar el software, apt-get, yum, update,... incluso tampoco podemos descartar la posiblidad de compilarlo nosotros mismos.

El paquete bind contiene todo el sistema de resolución de nombres. El paquete caching-nameserver contiene los datos necesarios para que nuestro servidor DNS sea un servidor válido para internet, va a actuar como servidor DNS para toda la red local. Por último el paquete bind-utils contiene varias utilidades para consultas y actualizaciones dinámicas.

También puede interesar instalar

bind-chroot

pero esto implica modificaciones en los datos.

/etc/named.conf

El fichero named.conf contiene todos los dominios que va a albergar nuestro servidor DNS. Si el sistema está recién instalado deberá contener, entre otras cosas:

options {

directory "/var/named";

};

Indica que el resto de ficheros de configuración se encuentran en el directorio /var/named

zone "." {

        type hint;
        file "root.cache";
};

Este trozo de configuración indica al sistema de nombres de dominio que consulte a los servidores raíz de internet para resolver cualquier nombre que no sea local. De esta forma nuestro servidor actúa como servidor de internet.

Establecemos la llave par permitir actualizaciones

key "DHCP_ UPDATER" {

        algorithm hmac-md5;

        secret "u/j4WZ0GKzT7HMDyys4drQ==";

};

 

Ahora vamos a configurar nuestra zona:

zone "centro.ies" in {
        type master;
        file "centro.ies";
        allow-update{                key DHCP_UPDATER;                127.0.0.1;
                192.168.1.1;
        };
};

Zone indica el nombre del dominio que estamos configurando, el resto son sus detalles. Type master indica que es el servidor principal de la zona. Si fuera un servidor secundario tendríamos que poner "type slave".

La línea file indica qué fichero contiene los datos de la zona. Este fichero se debe encontrar en el directorio /var/named, según especificamos en "options".

Por último, allow-update indica desde qué equipos se pueden realizar actualizaciones dinámicas, en nuestro caso sólo el mismo puede realizarlas. Si fuera un servidor secundario tendremos que poner la dirección del servidor principal.

En estos ficheros tendremos que poner direcciones IP y no nombres porque el sistema de resolución aun no está activo. Es justo eso lo que queremos hacer.

Configuración de la zona

Ahora tenemos que introducir una configuración inicial de la zona. No necesitamos introducir todos los equipos porque habilitaremos, mediante DHCP, el sistema de actualización dinámica, de forma que cuando un equipo se conecta se le asigna una dirección IP y un nombre y la correspondiente actualización de la zona.

Hechas estas consideraciones pasamos a descibir el fichero /var/named/centro.ies, que deber ser similar al siguiente:

$TTL    604800
@    IN   SOA  ns1.centro.ies. root.ns1.centro.ies. (
                        2002111502 ; serial
                        86400 ; refresh
                        7200 ; retry
                        2592000 ; expire
                        172800 ; default_ttl
                        )
@               IN      NS      ns1.centro.ies.
@               IN      MX      5       ns1.centro.ies.
ns1             IN      A       192.168.1.1
www.centro.ies.         IN      CNAME   ns1.centro.ies.
correo                  IN      CNAME   ns1.centro.ies.         
secretaria              IN      A       192.168.1.2
router                  IN      A       192.168.1.254

Los parámetro numéricos los dejaremos tal y como están, salvo quizás el número de serie que indica que es la segunda modificación (02) del día 15/11/2003 (20031105).

El resto de los parámetros:

@ equivale al dominio, centro.ies en este caso.

SOA significa start of autority e indica el nombre del equipo (ns1.centro.ies) y la dirección de correo de administrador (root.centro.ies), sustituyendo la cásica @ por un ".".

@ IN NS ns1.centro.ies. indica que el servidor de nombres del dominio es ns1.centro.ies. (IN= internet NS=name server).

@ IN MX 5 ns1.centro.ies. indica que el servidor de correo electrónico del dominio es ns1.centro.ies. (MX=Mail eXchanger)

ns1 IN A 192.168.1.1 esta línea asigna la dirección IP al nombrede máquina. (A=address).

www.centro.ies.        IN      CNAME   ns1.centro.ies.

correo IN CNAME ns1.centro.ies. estas líneas asignan dos alias a nuestro servidor principal, es decir ns1.centro.ies se llam también www.centro.ies y correo.cento.ies.

Nota importante: Podemos observar como algunos nombres acaban en punto. El punto indica un nombre completo; si no tiene punto el sistema le añade automáticamente el nombre del dominio. Por ejemplo correo es equivalente a correo.centro.ies. Sim embargo si ponemos correo.cento.ies (sin punto final) en realidad lo que estamos poniendo es correo.centro.ies.cento.ies. Esta es la causa más frecuente de errores a la hora de configurar el servicio DNS.

Las dos últimas líneas son dos nuevos registros de asignación de direcciones a nombres de máquina.

Verificación del DNS

Una vez configurado el servicio de nombres vamos a ponerlo en marcha y comprobar si tiene algún error o funciona correctamente.

El registro de incidencias anota en el fichero /var/log/messages el estado de inicio del sistema de nombres. Lo más cómodo es abrir una nueva consola y ejecutar:

tail -f /var/log/messages

para ir viendo las incidencia en el momento en que ocurren.

Ahora reiniciamos el servicio:

/etc/init.d/named restart

y comprobamos en la consola qué ha sucedido. Si todo es correcto, enhorabuena, en caso contrarío tendremos que volver a editar los ficheros de configuración, corregir los errores y volver a reiniciar el servicio.

Cuando tengamos el servicio en funcionamiento comprobaremos si la resolución la realiza correctamente. Ejecutamos:

nslookup ns1.centro.ies
nslookup www.centro.ies

y en ambos casos nos debe responder con la dirección IP del servidor Linux.