DNS - Debian 13 Trixie
Características de la VM:
Sistema Operativo: Debian GNU/Linux 13 (Trixie)
Red: Red NAT
HDD: 25GB
RAM: 2GB
IP estática en el servidor
Configuramos la IP estática en el archivo /etc/network/interfaces

Instalación del Bind9
Instalamos el DNS con Bind9, que es el programa de software de servidor de nombres de dominio (DNS) más utilizado en Internet, específicamente en Unix y Linux.
Según palabras de sysadminok, BIND - Berkeley Internet Name Domain - es el software de servidor DNS más utilizado en la historia de Internet. Su origen está en los años 80, en la Universidad de California, Berkeley. Lleva más de 40 años siendo el caballo de batalla que ha mantenido gran parte de la resolución de nombres en la red.
sudo apt bind9 bind9-utils
Configuración del DNS
En primer logar tenemos que editar los siguientes archivos:
named.conf.local
named.conf.options
Archivo named.conf.local
Nos vamos al directorio /etc/bind/ y editamos el archivo: named.conf.local con los archivos de zona directa e inversa. Si os fijáis ambos archivos están en un directorio que debemos crear: zones. No es obligatorio crearlo.

Con el comando siguiente podemos verificar la sintaxis de este archivo:
named-checkconf
Ficheros de zona
Ahora vamos a crear los ficheros de zona que hemos indicado en la configuración. A diferencia de Ubuntu, no tenemos ningún archivo que nos sirva de plantilla, pero la estructura es la misma.
Para la zona directa creamos el fichero:
/etc/bind/zones/db.haven.local
El siguiente pantallazo muestra la configuración.

Donde:
TTL es el "time to live" por defecto para los registros de la zona, cuyo valor por defecto es en segundos 86400 que equivalen a 24 horas e indica el tiempo que los resolvers pueden mantener en caché la información.
@ hace referencia al dominio principal: haven.local.
ns1.haven.local. es el servidor DNS primario.
hostmaster.haven.local. es el correo del administrador cambiando el “@” por un "."
Serial es el número de versión de la zona. Valor que se debe incrementar cada vez que se modifica la zona.
Refresh indica cada cuánto un esclavo consulta al maestro para ver si hay cambios (segundos).
Retry en caso que falle la conexión al maestro, cada cuánto reintenta.
Expire es el tiempo máximo que un esclavo mantiene la zona si no logra contactar con el maestro.
Minimum TTL tiempo que los resolvers cachean las respuestas negativas (NXDOMAIN).
Para la zona inversa creamos el fichero correspondiente:
nano /etc/bind/zones/db.6.168.192
Y la sintaxis de la configuración es similar al del archivo de zona directa. Esto es:

Donde:
in-addr.arpa es el dominio especial para resoluciones inversas IPv4.
IN NS ns. hace referencia al servidor DNS autoritativo de la zona inversa.
PTR asocia una dirección IP con un nombre de dominio.
Con el comando siguiente podemos verificar la sintaxis del archivo de zona directa:
sudo named-checkzone haven.local /etc/bind/zones/db.haven.local
y del archivo de zona inversa:
sudo named-checkzone 6.168.192.in-addr-arpa /etc/bind/zones/db.6.168.192
Configurando el archivo named.con.options
Este es un archivo importante, dado que sirve para definir opciones globales que afectan al comportamiento del servicio, tanto si es un DNS recursivo como si es autoritativo.

Donde:
/var/cache/bind es el directorio por defecto de trabajo de BIND, donde guarda archivos de caché o secundarios.
listen-on define en qué interfaces/IP escuchará el servidor.
recursion indica si el servidor hace resolución recursiva, o sea si buscará respuestas en otros DNS.
yes indica el modo caché/recursivo, útil en redes locales. Se deshabilita (no) en servidores DNS público.
allow-recursion lista las IP o redes que tienen permiso para usar la recursión. En nuestro caso, la red local.
forwarders lista los servidores DNS a los que se reenviarán aquellas consultas que el servidor no pueda resolver.
Ya casi finalizamos, pero antes de poner en marcha el servicio modifiquemos el fichero /etc/default/named
donde especificaremos la opción-4
como argumento para el usuario bind, que se crea automáticamente durante la instalación del servicio bind9.
La opción -4
nos sirve para forzar el uso de IPv4 siempre y evitar mensajes de error de red inalcanzable por direccionamiento IPv6.

Ya estamos listos para reiniciar el servicio:
sudo systemctl restart bind9
sudo systemctl status bind9
Y probamos que el servicio funcione correctamente con el comando nslookup. Podemos verificar que el archivo /etc/resolve.conf apunte al servidor DNS recién creado.

Así tendríamos configurado nuestro servidor DNS primario.
Last updated
Was this helpful?