Continuando con el Curso de Administración de Servidores, hoy toca ver como instalar un servidor bind en una distribución basada en Debian (Debian etch, Ubuntu, Kubuntu, etc.)
En pocas palabras, ¿Qué hace un servidor de DNS?
Es el encargado de convertir distintos nombres de dominio (Ej: www.itimag.net) en su ip. Por lo tanto, cada vez que accedemos a un servidor mediante un dominio de internet, pasamos por un servidor de dns que se encarga de decirnos cúal es la ip del equipo en la que se encuentra la web a la que estamos accediendo.
Pasemos a la acción. Para instalar bind, ejecutamos el siguiente comando en una consola o shell:
su |
apt-get install bind9 |
Por razones de seguridad, vamos a ejecutar el BIND de tal forma que pueda correr en un directorio chroot. Lo hacemos de la siguiente forma:
/etc/init.d/bind9 stop |
Editamos el fichero /etc/default/bind9 . Queremos que el demonio del bind se ejecute con el usuario bind sin privilegios, “chrooted” al directorio /var/lib/named. Para ello, buscamos donde pone <<OPTIONS=»-u bind»>> y lo substituimos por <<OPTIONS=»-u bind -t /var/lib/named»>>:
nano /etc/default/bind9 |
OPTIONS="-u bind -t /var/lib/named" # Set RESOLVCONF=no to not run resolvconf RESOLVCONF=yes |
Ahora creamos los directorios necesarios en /var/lib:
mkdir -p /var/lib/named/etc mkdir /var/lib/named/dev mkdir -p /var/lib/named/var/cache/bind mkdir -p /var/lib/named/var/run/bind/run |
Y a continuación movemos el directorio de configuración desde /etc hasta /var/lib/named/etc:
mv /etc/bind /var/lib/named/etc |
Creamos un link simbólico al nuevo directorio de configuración partiendo del antiguo directorio (para evitar problemas cuando bind se actualice):
ln -s /var/lib/named/etc/bind /etc/bind |
Hacemos “null” y “random”, y cambiamos los permisos de los directorios:
mknod /var/lib/named/dev/null c 1 3 mknod /var/lib/named/dev/random c 1 8 chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random chown -R bind:bind /var/lib/named/var/* chown -R bind:bind /var/lib/named/etc/bind |
Ahora necesitamos modificar el fichero /etc/default/syslogd con la finalidad de registrar los mensajes que muestre bind el algún fichero de log. Debemos buscar la linea que pone <<SYSLOGD=»»>> y lo substituimos por <<SYSLOGD=»-a /var/lib/named/dev/log»>>:
nano /etc/default/syslogd |
El fichero resultante es el siguiente:
# # Top configuration file for syslogd # # # Full documentation of possible arguments are found in the manpage # syslogd(8). # # # For remote UDP logging use SYSLOGD="-r" # SYSLOGD="-a /var/lib/named/dev/log" |
Reiniciamos el demonio del generador de logs:
/etc/init.d/sysklogd restart |
Iniciamos o arrancamos BIND, y chequeamos /var/log/syslog para observar si se han producido errores:
/etc/init.d/bind9 start |
Para ver si hay errores, hacemos:
less /var/log/syslog |
Ahora pulsamos la z para recorrer el texto hasta el final y observamos si se ha producido algún error tras reiniciar:
Ejemplo:
Sep 22 13:13:01 ksxxxxx syslogd 1.4.1#18: restart. Sep 22 13:13:01 ksxxxxx /USR/SBIN/CRON[11162]: (root) CMD (/usr/local/rtm/bin/rtm 12 > /dev/null 2> /dev/null) Sep 22 13:13:15 ksxxxxx named[11217]: starting BIND 9.3.4-P1.1 -u bind -t /var/lib/named Sep 22 13:13:15 ksxxxxx named[11217]: found 1 CPU, using 1 worker thread Sep 22 13:13:15 ksxxxxx named[11217]: loading configuration from '/etc/bind/named.conf' Sep 22 13:13:15 ksxxxxx named[11217]: no IPv6 interfaces found Sep 22 13:13:15 ksxxxxx named[11217]: listening on IPv4 interface lo, 127.0.0.1#53 Sep 22 13:13:15 ksxxxxx named[11217]: listening on IPv4 interface eth0, 213.251.xxx.xxx#53 Sep 22 13:13:15 ksxxxxx named[11217]: command channel listening on 127.0.0.1#953 Sep 22 13:13:15 ksxxxxx named[11217]: zone 0.in-addr.arpa/IN: loaded serial 1 Sep 22 13:13:15 ksxxxxx named[11217]: zone 127.in-addr.arpa/IN: loaded serial 1 Sep 22 13:13:15 ksxxxxx named[11217]: zone 255.in-addr.arpa/IN: loaded serial 1 Sep 22 13:13:15 ksxxxxx named[11217]: zone localhost/IN: loaded serial 1 Sep 22 13:13:15 ksxxxxx named[11217]: running |
En este ejemplo, no se observa ningún mensaje de error y, por lo tanto, la instalación ha sido un éxito.
We are a bunnch oof volnteers and starting a branbd new scheme inn ouur community.
Youur web sitge offered us with helpfjl iformation tto work
on. You have dne an impressive taskk and oour whole group wjll be greateful
too you.
my blog post – free (Shani)