DNS Server · 3 min read · Feb 11, 2026

Instalación de un servidor DNS Ubuntu Hardy 8.04 LTS con BIND - Página 4

10 Instalar el servidor DNS

Ejecuta

apt-get install bind9

Por razones de seguridad, queremos ejecutar BIND en chroot, así que tenemos que hacer los siguientes pasos:

/etc/init.d/bind9 stop

Edita el archivo /etc/default/bind9 para que el demonio se ejecute como el usuario no privilegiado bind, chrooted a /var/lib/named. Modifica la línea: OPTIONS=”-u bind” para que se lea OPTIONS=”-u bind -t /var/lib/named”:

vi /etc/default/bind9

| OPTIONS="-u bind -t /var/lib/named" # Establecer RESOLVCONF=no para no ejecutar resolvconf RESOLVCONF=yes |

Crea los directorios necesarios bajo /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

Luego mueve el directorio de configuración de /etc a /var/lib/named/etc:

mv /etc/bind /var/lib/named/etc

Crea un enlace simbólico al nuevo directorio de configuración desde la antigua ubicación (para evitar problemas cuando bind se actualice en el futuro):

ln -s /var/lib/named/etc/bind /etc/bind

Crea dispositivos nulos y aleatorios, y corrige 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

Necesitamos modificar /etc/default/syslogd para que aún podamos obtener mensajes importantes registrados en los registros del sistema. Modifica la línea: SYSLOGD=”” para que se lea: SYSLOGD=”-a /var/lib/named/dev/log”:

vi /etc/default/syslogd

| # # Archivo de configuración principal para syslogd # # La documentación completa de los posibles argumentos se encuentra en la página del manual # syslogd(8). # # Para el registro remoto por UDP, usa SYSLOGD="-r" # SYSLOGD="-a /var/lib/named/dev/log" |

Reinicia el demonio de registro:

/etc/init.d/sysklogd restart

Inicia BIND y verifica /var/log/syslog en busca de errores:

/etc/init.d/bind9 start

11 Configurar BIND

Ahora el archivo de configuración principal en BIND se llama named.conf, sin embargo named.conf.local ya está incluido en named.conf y está allí para la configuración personalizada, así que editaremos named.conf.local y agregaremos nuestras zonas, aquí agregué una zona llamada tm.local así como una zona inversa para 192.168.0.0:

vi /etc/bind/named.conf.local

| zone "tm.local" { type master; file "/etc/bind/zones/tm.local.db"; }; zone "3.13.10.in-addr.arpa" { type master; file "/etc/bind/zones/rev.0.168.192.in-addr.arpa"; }; |

Ten en cuenta que si deseas agregar un comentario en named.conf o named.conf.local usa //, también puedes ver arriba que el archivo de zona para tm.local se llama tm.local.db y se encuentra en /etc/bind/zone, lo más importante es que el archivo de zona utiliza; como prefijo para un comentario y no //, ya que vi confusiones en muchos foros, así que pensé en agregarlo aquí - (lo mismo para la zona inversa).

12 Configurar las Zonas

Comenzaremos con la zona tm.local

mkdir /etc/bind/zones
vi /etc/bind/zones/tm.local.db

| $TTL 1500 @ IN SOA server1.tm.local. root ( 2007062703 ;serial 28800 ;refresh 3600 ;retry 604800 ;expire 38400 ) ;minimum 25 minutes tm.local. IN NS server1.tm.local. server1 IN A 192.168.0.100 webserver1 IN A 192.168.0.103 webserver2 IN A 192.168.0.104 loadb1 IN A 192.168.0.101 loadb2 IN A 192.168.0.102 tm.local. IN MX 10 server1.tm.local. |

Siéntete libre de reemplazar el nombre de zona anterior (tm.local) o el nombre de tu servidor DNS (server1) según sea necesario, solo ten en cuenta el punto después del nombre de la zona.

Ahora vamos a continuar con la zona inversa.

vi /etc/bind/zones/rev.3.13.10.in-addr.arpa

| $TTL 1500 @ IN SOA server1.tm.local. root ( 2007062703 ;serial 28800 ;refresh 3600 ;retry 604800 ;expire 38400 ) ;minimum 25 minutes IN NS server1.tm.local. 100 IN PTR server1.tm.local. 103 IN PTR webserver1.tm.local. 104 IN PTR webserver2.tm.local. 101 IN PTR load1.tm.local. 102 IN PTR load2.tm.local. |

Ahora configura el servidor para que reenvíe cualquier solicitud a tu servidor ISP para que pueda resolver IPs externas.

vi /etc/bind/named.conf.options

Descomenta la sección de reenvío para que se vea así:

| forwarders { # Reemplaza la dirección a continuación con la dirección de tu servidor DNS ISP 123.123.123.123; }; |

13 Configurar el servidor para usarlo como DNS

vi /etc/resolv.conf

| search tm.local nameserver 192.168.0.100 |

14 Referencias y Fuentes

  • Artículo de Falko “El servidor perfecto - Ubuntu Hardy Heron (Servidor Ubuntu 8.04 LTS)”
  • BIND en Ubuntu “ Cómo: Configurar un servidor DNS con bind
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.