Instalar y configurar servidor DNS con Bind9 en Ubuntu 20.04

En la siguiente entrada veremos como instalar y configurar nuestro propio servidor DNS con Bind9 en Ubuntu 20.04.

El servidor DNS es el encargado de convertir URL (dominios + servicios) en direcciones IP, por ejemplo podemos configurarlo con el dominio networld.cu e indicarle que cuando alguien escriba en su navegador www.networld.cu, pues convierta esa URL en una dirección IP 192.x.x.x que es a fin de cuenta la dirección donde estará escuchando un servidor Web en este caso. Este se hace por dos razones, la primera porque a los usuarios le es prácticamente imposible recordar direcciones IP, siendo mucho más amigable los nombres de dominio, la segunda porque a fin de cuenta los ordenadores o servidores se comunican por direcciones IP.

Así que si estas brindando servicios en tu red y los clientes tienen que usar direcciones IP y quieres cambiar eso para hacerles la vida más fácil, pues este artículo te va a ayudar a lograrlo, además tendrás un video en nuestro canal.

Asumiendo que ya tienes Ubuntu Server 20.04 instalado y funcionando, los datos del servidor para esta guía serían:

//Información del sistema base:

Nombre de host: ns1

FQDN: ns1.networld.cu

Dirección IP: 10.10.20.13

//Los archivos a editar en esta guía son:

/etc/bind/named.conf.options

/etc/default/named

/etc/bind/named.conf.local

/etc/bind/zonas/db.networld.cu (archivo inexistente, lo crearemos nosotros)

/etc/bind/zonas/db.10.10.20 (archivo inexistente, lo crearemos nosotros)

1- Lo primero que haremos siempre, comprobar actualizaciones:

# sudo apt update
# sudo apt upgrade

2- Nos instalamos el paquete de Bind9 y Nano para editar archivos en caso de que no lo tengamos.

# sudo apt install bind9 bind9-utils nano

3- Comprobamos si Bind9 ya esta en funcionamiento, los errores o advertencias son normales (aún no hemos realizado ninguna configuración)

# systemctl status bind9

4- Permitir de forma sencilla en el Firewall local, el acceso al puerto y protocolo que utiliza Bind9

# sudo ufw allow bind9

//Debe arrojar, Rules Update

5- Configuración mínima de Bind9

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

//Líneas a modificar, agregar o eliminar (el archivo debe contener lo siguiente)

listen-on { any; };
allow-query { localhost; 10.10.20.0/24; };
forwarders {
        8.8.8.8;
        8.8.4.4;
};
dnssec-validation no;

//listen-on define la dirección donde estará escuchando Bind9, si no sabes con exactitud, utiliza la opción any.

//allow-query define desde que redes o ip es posible realizar consultas, normalmente la misma red a la que pertenece el servidor DNS.

//forwarders define servidores DNS a los cuales Bind9 reenviará las consultas que el no pueda resolver.

//dnssec-validation define si se validará un dnssec.

6- Obligar el uso único de IPv4

# sudo nano /etc/default/named
//Modificar la línea dejándola así:
OPTIONS="-u bind -4"

7- Comprobar la configuración de Bind9 y reiniciar el servicio si todo está bien, luego lanzar status para ver si no hay errores.

# sudo named-checkconf
# sudo systemctl restart bind9
# systemctl status bind9

8- Agregar las Zonas

# sudo nano /etc/bind/named.conf.local
zone "networld.cu" IN {
        type master;
        file "/etc/bind/zonas/db.networld.cu";
};

zone "20.10.10.in-addr.arpa" {
        type master;
        file "/etc/bind/zonas/db.10.10.20";
};

//Vas a cambiar el dominio por el que vas a usar al igual que la dirección IP, fijate que se lee la IP de atrás a adelante obviando el último octeto. Por ejemplo en el caso la IP es: 10.10.20.13 y esta representada en el archivo así: 20.10.10.

//La zona networld.cu es la zona directa de nuestro DNS.

//La zona 20.10.10.in-addr.arpa es la zona inversa para nuestros PTR.

//Los archivos de zona configurados hay que crearlos porque lógicamente no existen [db.networld.cu y db.10.10.20]

9- Creando el directorio donde guardaremos los archivos de zonas y luego creamos las dos zonas, la directa y la inversa.

# sudo mkdir /etc/bind/zonas

//Ten en cuenta cambiar los nombres de archivos según el dominio y la IP usada.

# sudo nano /etc/bind/zonas/db.networld.cu
$TTL    1D
@       IN      SOA     ns1.networld.cu. admin.networld.cu. (
        1               ; Serial
        12h             ; Refresh
        15m             ; Retry
        3w              ; Expire
        2h  )           ; Negative Cache TTL

;       Registros NS

        IN      NS      ns1.networld.cu.
ns1     IN      A       10.10.20.13
www     IN      A       10.10.20.13

// La línea etiquetada como ‘serial‘ recoge un número que deberá incrementarse manualmente cada vez que editemos este archivo, ya sea para modificar nombres o añadir nuevos.

// La línea admin.networld.cu. se trata de la dirección de correo del administrador del servidor DNS sin el @, estos datos al igual que los tiempos de Refrech y demás no se tratan a la ligera, pues son los que dan reputación y confiabilidad a nuestro servidor en el mundo cuando estamos trabajando sobre un servidor DNS autoritativo o real.

# sudo nano /etc/bind/zonas/db.10.10.20
$TTL    1d ;
@       IN      SOA     ns1.networld.cu admin.networld.cu. (
                        20210222        ; Serial
                        12h             ; Refresh
                        15m             ; Retry
                        3w              ; Expire
                        2h      )       ; Negative Cache TTL
;
@      IN      NS      ns1.networld.cu.
1       IN      PTR     www.networld.cu.

//Es importante en estos dos archivos que acabamos de crear respetar los signos, cualquier error conlleva que el servidor no arranque.

10- Comprobar los archivos de zona que acabamos de crear para ver si todo esta bien.

# sudo named-checkzone networld.cu /etc/bind/zonas/db.networld.cu
# sudo named-checkzone db.20.10.10.in-addr.arpa /etc/bind/zonas/db.10.10.20

//Debemos obtener un OK en cada comprobación

11- Reiniciamos nuevamente

# sudo systemctl restart bind9

12- Comprobar funcionamiento desde otra PC.

ping www.networld.cu

//Esto debe devolvernos respuesta desde la IP a la que esta asignada la URL.

//Detalle que no debes olvidar, el cliente debe tener en la configuración de IP, el servidor DNS 10.10.20.13 (o el suyo)

//Para resolver dudas sobre el artículo, por favor utilizar la Comunidad.

0.00 avg. rating (0% score) - 0 votes

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Bienvenido al curso pfSense con NETWORLD

Muy pronto llega nuestro curso completamente gratuito a nuestro canal de YouTube NETWORLD, así que debes estar al tanto para que no te lo pierdas.

Hemos creado una membresía nueva en el canal que te permitirá obtener ayuda y resolver tus dudas sobre el curso, directamente con nosotros.