Como configurar servidor bind9

 

www.onlinetis.com

Para configurar un servidor BIND9, sigue estos pasos:

  1. Instala BIND9: Usa el gestor de paquetes de tu sistema.

  2. Configura el archivo named.conf.options: Define las opciones globales del servidor, como la dirección IP de los servidores de reenvío (forwarders).

  3. Configura el archivo named.conf.local: Declara las zonas directas e inversas para los dominios que BIND9 gestionará.

  4. Crea los archivos de zona: Define los registros de recursos (A, CNAME, MX, etc.) para cada una de las zonas declaradas en el paso anterior.

  5. Verifica la configuración: Usa la herramienta named-checkconf y named-checkzone para validar los archivos de configuración y de zona.

  6. Reinicia el servicio: Aplica los cambios reiniciando BIND9.


1. Instalación

El primer paso es instalar el paquete BIND9, que generalmente se llama bind9 o bind.

En sistemas basados en Debian/Ubuntu:

Bash
sudo apt update
sudo apt install bind9 bind9utils

En sistemas basados en RHEL/CentOS:

Bash
sudo yum install bind bind-utils

2. Configuración Global (named.conf.options)

Este archivo controla la configuración global del servidor. Es crucial definir los forwarders, que son los servidores DNS a los que BIND9 reenviará las consultas que no puede resolver localmente.

sudo nano /etc/bind/named.conf.options

Dentro del archivo, busca el bloque options y añade o modifica los forwarders (usa los de Google, Cloudflare o tu ISP):

options {
    directory "/var/cache/bind";
    recursion yes;
    allow-query { any; };
    forwarders {
        8.8.8.8;
        1.1.1.1;
    };
    dnssec-validation auto;
    listen-on-v6 { any; };
};
  • directory: Especifica la ruta de trabajo de BIND.

  • recursion: Permite al servidor resolver consultas recursivas para los clientes.

  • allow-query: Define qué clientes pueden hacer consultas. any permite a cualquiera.

  • dnssec-validation: Habilita la validación de DNSSEC.


3. Declaración de Zonas (named.conf.local)

Aquí es donde le dices a BIND9 qué dominios va a gestionar. Una zona es un área de control sobre una parte del espacio de nombres DNS.

sudo nano /etc/bind/named.conf.local

Ejemplo de zona directa (dominio):

// Zona directa para el dominio "midominio.com"
zone "midominio.com" {
    type master;
    file "/etc/bind/db.midominio.com";
    allow-update { none; };
};
  • type master: Indica que este servidor es la fuente autoritativa para el dominio.

  • file: Especifica la ruta al archivo que contiene los registros del dominio.

Ejemplo de zona inversa (IPs):

Una zona inversa permite resolver una dirección IP a un nombre de dominio (DNS inverso).

// Zona inversa para la red 192.168.1.0/24
zone "1.168.192.in-addr.arpa" {
    type master;
    file "/etc/bind/db.192";
    allow-update { none; };
};

Nota: El nombre de la zona inversa se construye invirtiendo los octetos de la red y añadiendo .in-addr.arpa.


4. Creación de Archivos de Zona

Los archivos de zona contienen los registros de recursos que definen los nombres de host, direcciones IP y otros datos del dominio.

Archivo de zona directa (db.midominio.com):

sudo nano /etc/bind/db.midominio.com
$TTL    604800
@       IN      SOA     ns1.midominio.com. root.midominio.com. (
                          2         ; Serial
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
;
@       IN      NS      ns1.midominio.com.
ns1     IN      A       192.168.1.10
www     IN      A       192.168.1.11
mail    IN      A       192.168.1.12
@       IN      MX      10      mail.midominio.com.
  • $TTL: Tiempo de vida predeterminado para los registros.

  • SOA: Start of Authority, define el servidor autoritativo y los tiempos de actualización.

  • NS: Name Server, especifica los servidores DNS para la zona.

  • A: Address, mapea un nombre de host a una dirección IPv4.

  • MX: Mail eXchange, define el servidor de correo.

Archivo de zona inversa (db.192):

sudo nano /etc/bind/db.192
$TTL    604800
@       IN      SOA     ns1.midominio.com. root.midominio.com. (
                          1         ; Serial
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
;
@       IN      NS      ns1.midominio.com.
10      IN      PTR     ns1.midominio.com.
11      IN      PTR     www.midominio.com.
12      IN      PTR     mail.midominio.com.
  • PTR: Pointer, mapea una dirección IP a un nombre de host.


5. Verificación y Reinicio

Antes de reiniciar, es crucial verificar la sintaxis de tus archivos.

Verificar named.conf.local:

Bash
sudo named-checkconf /etc/bind/named.conf.local

Verificar los archivos de zona:

Bash
sudo named-checkzone midominio.com /etc/bind/db.midominio.com
sudo named-checkzone 1.168.192.in-addr.arpa /etc/bind/db.192

Si no hay errores, reinicia el servicio BIND9:

Bash
sudo systemctl restart bind9
sudo systemctl enable bind9

Finalmente, puedes verificar el estado del servicio:

Bash
sudo systemctl status bind9

Entradas populares de este blog

Ciberseguridad y hacking con Whatweb

Como robar contraseñas haciendo un phishing web

Arsenal software hacking NFC