BIND 9 como DNS autoritativo

La configuración avanzada de BIND 9 aquí presentada es apta para un servidor Debian con número IP estático y conectado permanentemente a Internet.


Introducción

Para definir un nuevo dominio y hacer que el servidor actúe como su DNS autoritativo, necesitas primero haber comprado un dominio en un registro de nombres de dominio (NIC), por ejemplo en NIC Chile, y definir el servidor de nombres primario del nuevo dominio con el número IP del servidor BIND.

Si tienes un cortafuego, habilita el puerto 53 UDP y TCP hacia requerimientos por la interfase que va a servir BIND.

Vamos a usar de ejemplo el dominio ficticio.cl.

Configuración de un DNS primario

Edita /etc/bind/named.conf.local y agrega al final del archivo,

zone "ficticio.cl" {
        type master;
        file "/etc/bind/db.ficticio.cl";
        allow-query { any; };
};

Crea el archivo /etc/bind/db.ficticio.cl y agrega,

;
; archivo BIND para zona ficticio.cl
;
$TTL    604800
@       IN      SOA     ficticio.cl. hostmaster.ficticio.cl. (
                1       ; Serial
                           1200         ; Refresh
                            300         ; Retry
                        2419200         ; Expire
                           1200 )       ; Negative Cache TTL

ficticio.cl.    IN      NS      ns1.ficticio.cl.
ficticio.cl.    IN      NS      ns2.ficticio.cl.
ficticio.cl.    IN      MX      1 mx1.ficticio.cl.
ficticio.cl.    IN      MX      2 mx2.ficticio.cl.

localhost       IN      A       127.0.0.1
ficticio.cl.    IN      A       100.10.10.10

ns1             IN      A       100.10.10.10
ns2             IN      A       100.10.10.11

mx1             IN      A       100.10.10.10
mx2             IN      A       100.10.10.11

www             IN      A       100.10.10.10
smtp            IN      A       100.10.10.11

El instructivo TTL (Time To Live) indica la validez (en segundos) de la consulta, tras la cual deberá ejecutarse una actualización. 604800 segundos equivalen a una semana.

El número Serial debería incrementarse cada vez que se modifica la zona. El campo Refresh indica el intervalo de tiempo que los DNS secundarios deben refrescar la información del archivo de zona si han habido cambios (20 minutos). Retry indica el intervalo de tiempo que los DNS secundarios deben reintentar actualizar la información si el DNS primario no responde (5 minutos). Expire indica el tiempo que el DNS secundario expira como servidor de nombres de la zona en caso el DNS primario no responda a requerimiento de actualización (4 semanas). Negative Cache TTL indica el TTL en caso de una consulta con respuesta negativa (5 minutos).

El registro NS define un servidor de nombres (name server). El primero de ellos, ns1, debe llevar el número IP del DNS primario, es decir, el servidor BIND. El segundo,ns2, define el DNS secundario. Puede ser el mismo servidor BIND, otro, o el que habilita el registro de nombres de dominio, generalmente en forma gratuita, por ejemplo, secundario.nic.cl.

El registro MX define un servidor de intercambio de correo (mail exchange), lo que controla a donde dirigir el correo electrónico de la zona. En este ejemplo se definen dos servidores MX, mx1 y mx2, respectivamente.

El registro A (address) asigna un nombre a un número IP.

Reinicia el servidor BIND9 con,

# /etc/init.d/bind9 restart

Configuración de un DNS secundario

El DNS primario debe apuntar ns2 al servidor BIND que va a actuar de DNS secundario.

Edita named.conf.local en el DNS primario y agrega a la zona el instructivo allow-transfer,

zone "ficticio.cl" {
        type master;
        file "/etc/bind/db.ficticio.cl";
        allow-query { any; };
        allow-transfer { 100.10.10.11; };
};

en donde allow-transfer debe llevar el número IP del servidor DNS secundario indicado en el archivo de zona.

Edita named.conf.local en el DNS secundario y agrega al final del archivo,

zone "ficticio.cl" {
        type slave;
        file "/etc/bind/db.ficticio.cl";
        allow-query { any; };
        masters { 100.10.10.10; };
};

en donde masters debe llevar el número IP del servidor DNS primario indicado en el archivo de zona.

Si tienes un cortafuego, habilita el puerto 53 UDP y TCP hacia requerimientos por la interfase que va a servir BIND.

El usuario de sistema bind en el DNS secundario necesita permisos para modificar archivos en el directorio /etc/bind,

# chmod g+ws /etc/bind

Reinicia el servidor BIND9 con,

# /etc/init.d/bind9 restart

Reinicia el servidor DNS primario también. El DNS primario enviará un requerimiento de actualización al DNS secundario y éste creará una copia exacta del archivo de zona /etc/bind/db.ficticio.cl.

Configuraciones asociadas

Bind9DNSAutoritativo (última edición 2011-02-13 06:29:28 efectuada por RicardoYanez)