Tenemos una Guía en la materia y los ejercicios son estos:
Requerimientos para empezar
Instalar bind9, el server DNS. En la máquina virtual Debian, luego de entrar como root usando su
, puedes instalarlo con estos comandos:
apt update; apt install bind9
El servidor DNS se instalará e iniciará solo 🙂
Inciso 1
Probar el bind9 como server caché y registrar el tiempo de consulta.
Editar el archivo named.conf.options. Descomentar y editar la sección de forwarders, poniendo una IP. Como ejemplo: 1.1.1.1
Recargar el servicio systemctl restart named
Probar con consultas dig:
dig @8.8.8.8 facebook.com
dig @127.0.0.1 facebook.com
dig @127.0.0.1 facebook.com
Una captura de la salida del comando dig:
(1) les muestra el TTL (time to live), o sea por cuántos segundos la respuesta será válida. Útil para la caché.
(2) les muestra la respuesta de la consulta DNS. Acá preguntamos por la IP de facebook.com, y ya nos dieron la respuesta.
(3) les muestra cuánto tiempo duró la consulta. Si instalaron la caché, la cifra debe ser muy pequeña, entre 0 o 2 ms.
Inciso 2
Configuraremos la zona primaria en bind9.
Editamos /etc/bind/named.conf.local
y agregamos esto:
zone "ejemplo.com" {
type master;
file "/etc/bind/db.ejemplo.com";
};
Ahora agarramos una plantilla existente de la zona y la copiamoscp /etc/bind/db.local /etc/bind/db.ejemplo.com
Editamos la zonanano /etc/bind/db.ejemplo.com

Aparte de editar lo existente, podemos agregar algunos subdominios al final. Por ejemplo, puse
informatica IN A 12.34.56.78
siendo 12.34.56.78 una IP inventada.
Ojo que las IPs se componen de 4 números, cada uno de un valor entre 0-255.
Una IP como 456.789.999.999 no es válida.
Para aplicar los cambios, reiniciamos el servicio:systemctl restart named
Antes de reiniciar, también podemos verificar la sintaxis con el comando
named-checkconf
Si todo está bien, no te dirá nada.
Si algo está mal, te lanzará un mensaje de error.
Inciso 3
Parte 1: Probar lo que hicimos
Usar dig @127.0.0.1 dominio.com
Luego verificamos que la respuesta es correcta.

Podemos hacer la prueba también con nslookup:
Parte 2: crearemos una zona inversa
Una zona normal, como vimos, administra un dominio entero, como «ejemplo.com» y podemos apuntar hacia IPs.
Una zona inversa administra un bloque de IPs tuyos (ej, si te armas una red con un router, puedes administrar todas las IPs en el rango 192.168.1.1-192.168.1.254). Ahora, a cada IP podemos apuntarle un dominio.
O sea, con una zona inversa podemos bautizar IPs y les pondremos los nombres que queramos!
Editamos /etc/bind/named.conf.local
y agregamos
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192.168.1";
};
Usamos el bloque de IPs pero al revés (por eso está como 1.168.192) y le ponemos «in-addr.arpa».
Esto es una convención. O sea, los creadores de Internet le pusieron «in-addr.arpa» por que sí.
Ahora agarramos una plantilla existente de la zona y la copiamoscp /etc/bind/db.local /etc/bind/db.ejemplo.com

El tipo de registro ya no es A, ahora es PTR.
Reiniciamos el servicio con systemctl restart .named
Ahora podemos hacer la prueba con dig:
Nótese que las consultas en dig las hacemos ahora con-x
.
Inciso 4
Obtendremos el DNS actual de /etc/resolv.conf, que por defecto es el del router (y este suele apuntar al proveedor)
AXS tiene el DNS 200.105.128.40
Entel 200.87.100.10
Tigo 190.104.12.242
En mi máquina el DNS es 10.64.64.54.
Desde su conexión a internet deben probar los servicios de su ISP, de google y de Cloudflare, y comentar cuál es más rápido (revisando la salida del comando dig
)