Montar un servidor DNS autoritativo con BIND9

Cómo instalar y configurar un servidor DNS autoritativo con BIND9 en Linux para gestionar tus propias zonas DNS.

Montar un servidor DNS autoritativo con BIND9

¿Por qué un DNS propio?

Gestionar tu propio servidor DNS autoritativo te da control total sobre las zonas de tu dominio, reduce la dependencia de terceros y permite configuraciones avanzadas.

Instalación de BIND9

# RHEL/Rocky/Oracle Linux
sudo dnf install bind bind-utils -y
sudo systemctl enable --now named

# Ubuntu/Debian
sudo apt install bind9 bind9utils -y
sudo systemctl enable --now bind9

Configuración principal

La ruta del archivo principal y el directorio de zonas cambian según la distribución.

En RHEL/Rocky/Oracle Linux:

sudo vi /etc/named.conf
options {
    listen-on port 53 { any; };
    directory "/var/named";
    allow-query { any; };
    recursion no;
};

zone "tengoping.com" IN {
    type master;
    file "tengoping.com.zone";
};

En Ubuntu/Debian (paquete bind9), la configuración se reparte en /etc/bind/named.conf.options y /etc/bind/named.conf.local, y AppArmor bloquea el acceso a /var/named, por lo que el directorio de zonas debe ser /var/cache/bind:

sudo vi /etc/bind/named.conf.options
options {
    listen-on port 53 { any; };
    directory "/var/cache/bind";
    allow-query { any; };
    recursion no;
};
sudo vi /etc/bind/named.conf.local
zone "tengoping.com" IN {
    type master;
    file "tengoping.com.zone";
};

Archivo de zona

En RHEL/Rocky/Oracle Linux el archivo se guarda en /var/named/tengoping.com.zone; en Ubuntu/Debian, en /var/cache/bind/tengoping.com.zone.

$TTL 86400
@   IN  SOA ns1.tengoping.com. admin.tengoping.com. (
        2026020601  ; Serial
        3600        ; Refresh
        1800        ; Retry
        604800      ; Expire
        86400 )     ; Minimum TTL

    IN  NS  ns1.tengoping.com.
    IN  NS  ns2.tengoping.com.
    IN  A   203.0.113.10

ns1 IN  A   203.0.113.10
ns2 IN  A   203.0.113.11
www IN  A   203.0.113.10

Verificación

named-checkconf

# RHEL/Rocky/Oracle Linux
named-checkzone tengoping.com /var/named/tengoping.com.zone

# Ubuntu/Debian
named-checkzone tengoping.com /var/cache/bind/tengoping.com.zone

dig @localhost tengoping.com

Conclusión

BIND9 sigue siendo la referencia para servidores DNS en Linux. Con una configuración adecuada y buenas prácticas de seguridad, es una solución robusta y fiable.

## Nota

✍️ Transparencia: Este artículo ha sido creado con el apoyo de herramientas de inteligencia artificial. Toda la información técnica ha sido revisada y validada por el autor antes de su publicación.

$ curl tengoping.com/rss.xml | subscribe [suscribirse por RSS →]