Cómo configurar un resolvedor de DNS local con Unbound en Debian

Unbound es un software de servidor DNS gratuito y de código abierto que puede utilizarse para resolver DNS de validación, recursivos y de caché. Es un servidor DNS rico en funciones que admite DNS sobre TLS (DoT), DNS sobre HTTPS (DoH), minimización de nombres de consulta, uso agresivo de caché validada por DNSSEC y compatibilidad con zonas de autoridad. Unbound se centra en la privacidad y seguridad del DNS, pero sin sacrificar la velocidad y el rendimiento.

Unbound está desarrollado principalmente por NLnet Labs y distribuido bajo licencia BSD, y es compatible con las modernas funciones sobre estándares abiertos del Servidor DNS. Unbound ha sido rigurosamente auditado, y puede ejecutarse en Linux, BSD y macOS. Unbound está disponible para la mayoría de estos sistemas operativos y puede instalarse mediante el gestor de paquetes del sistema.

En esta guía aprenderás a configurar un servidor DNS privado con Unbound en un servidor Debian 11 y Debian 12. Configurarás Unbound como servidor DNS local con algunas funciones como servidor DNS autoritativo, activarás la caché DNS, configurarás la dirección IP local y las listas de control de acceso (ACL), configurarás los nombres de dominio locales y, a continuación, configurarás Unbound como resolver DNS con DNS sobre TLS (DoT) activado.

Además, también configurarás el registro para el servicio Unbound mediante Rsyslog y Logrotate.

Requisitos previos

Para completar esta guía, debes tener los siguientes requisitos.

  • Un sistema que ejecute un servidor Debian 11 o un servidor Debian 12.
  • Una cuenta de usuario con privilegios de administrador sudo/root.

Ya está. Ya puedes empezar a instalar Unbound como Servidor DNS Local.

Instalación de Unbound

Por defecto, el paquete Unbound está disponible en el repositorio de Debian. Puedes instalarlo mediante APT. En este primer paso, instalarás el paquete Unbound, que incluye el ‘dns-root-data’ en tu servidor Debian.

Antes de empezar, actualiza y refresca el índice de paquetes de Debian mediante el siguiente comando apt.

sudo apt update

Ahora ejecuta el siguiente comando apt para comprobar si el paquete ‘unbound‘ está disponible en el repositorio de Debian.

sudo apt info unbound

El siguiente resultado confirma que el paquete Unbound está disponible por defecto en el repositorio del servidor Debian con la versión actual 1.13.

comprobar paquete no unido

Ahora ejecuta el siguiente comando apt para instalar unbound en tu sistema Debian. Cuando se te solicite, introduce y para confirmar y pulsa ENTER para continuar.

sudo apt install unbound

Salida:

instalar sin vincular

Una vez instalado Unbound, ejecuta el siguiente comando systemctl para verificar el servicio Unbound y asegurarte de que el servicio está habilitado y funcionando.

sudo systemctl is-enabled unbound
sudo systemctl status unbound

El servicio Unbound está activado y se iniciará automáticamente al arrancar el sistema. Y el estado del servicio Unbound es en ejecución.

verificar sin consolidar

Nota adicional, si has desactivado IPv6 en tu servidor Debian, el servicio Unbound no puede iniciarse. Para solucionarlo, puedes añadir el parámetro ‘do-ip6: no‘ a la sección ‘server‘ del archivo de configuración de Unbound ‘/etc/unbound/unbound.conf‘.

Con Unbound instalado, a continuación empezarás a configurar Unbound en tu sistema.

Configuración del servidor DNS de Unbound

La configuración por defecto de Unbound se encuentra en ‘/etc/unbound/unbound.conf’. En este paso, modificarás el archivo de configuración principal de Unbound ‘/etc/unbound.conf’ mediante tu editor preferido.

Ahora aprenderás la configuración básica de un servidor DNS de Unbound.

Configuración básica

Abre el archivo de configuración predeterminado de Unbound ‘ /etc/unbound/unbound.conf ‘ con tu editor preferido. Este ejemplo utiliza nano para editar el archivo de configuración ‘/etc/unbound/unbound.conf‘.

sudo nano /etc/unbound/unbound.conf

Añade las siguientes líneas al archivo. Puedes establecer configuraciones básicas de Unbound en la sección’ servidor’. En este ejemplo, ejecutarás Unbound en la dirección IP local ‘192.168.5.20‘ con el puerto 53 por defecto. Además, configurarás el registro en mensajes Syslog y desactivarás IPv6. Por último, configurarás Unbound para que consulte recursivamente cualquier nombre de host de los servidores DNS raíz a través del archivo «root-hints».

#Adding DNS-Over-TLS support
server:
    use-syslog: yes
    username: "unbound"
    directory: "/etc/unbound"
    tls-cert-bundle: /etc/ssl/certs/ca-certificates.crt
    
    do-ip6: no
    interface: 192.168.5.20
    port: 53
    prefetch: yes

root-hints: /usr/share/dns/root.hints
harden-dnssec-stripped: yes

Parámetros detallados:

  • use-syslog: activar el registro en mensajes Syslog.
  • username: ejecutar como usuario unbound, que es el usuario por defecto.
  • directorio: el directorio de trabajo por defecto de Unbound es el directorio ‘/etc/unbound‘.
  • tls-cert-bundle: Certificados que se utilizan para autenticar las conexiones que se establecen. En las distribuciones basadas en Debian, el archivo cert se encuentra en ‘/etc/ssl/certs/ca-certificates.crt’.
  • do-ip6: usa ‘sí’ para ejecutar Unbound con IPv6 o pon‘no‘ para desactivar IPv6.
  • interfaz: interfaz de red o dirección IP en la que se ejecutará Unbound. Puedes utilizar una dirección IP o el nombre de la interfaz, como «eth0«. También puedes ejecutar en un puerto específico añadiendo un formato como este ‘DIRECCIÓN-IP@PUERTO‘.
  • puerto: especifica el puerto en el que se ejecutará Unbound y por el que se gestionarán las conexiones de los clientes. El puerto DNS por defecto es el 53.
  • prefetch: establece ‘yes‘ para activar la prefetch de las entradas de la caché de mensajes casi caducadas.
  • root-hints: un archivo que contiene detalles del servidor DNS raíz. El archivo ‘/usr/share/dns/root.hints’ lo proporciona el paquete ‘dns-root-data’. Y también, puedes descargar el archivo root-hints desde aquí ‘https://www.internic.net/domain/named.cache’.
  • harden-dnssec-stripped: ajústalo a «yes» para evitar la recepción de datos «dnssec-stripped».

Activar la caché DNS

A continuación, añade las siguientes líneas para habilitar la consulta de caché DNS en tu instalación de Unbound.

    cache-max-ttl: 14400
    cache-min-ttl: 1200

Parámetros detallados:

  • cache-max-ttl: TTL o Tiempo de Vida para los RRSets y mensajes en la caché DNS. El formato es en segundos.
  • cache-min-ttl: Tiempo de vida mínimo para la caché. El valor por defecto es 0, pero puedes cambiarlo a tu gusto, como por ejemplo «1200» segundos. No lo configures para más de 1 hora o tendrás problemas debido a los datos obsoletos.

Privacidad y seguridad sin límites

Ahora puedes añadir las siguientes líneas para configurar la privacidad y seguridad básicas de Unbound.

    aggressive-nsec: yes
    hide-identity: yes
    hide-version: yes
    use-caps-for-id: yes

Parámetros detallados:

  • aggressive-nsec: ponlo a«yes» para activar la NSEC agresiva, que consiste en utilizar la cadena DNSSEC NSEC para sintetizar las denegaciones NXDOMAIN y otras. Consulta la página web del IETF sobre ‘NSEChttps://www.ietf.org/archive/id/draft-ietf-dnsop-nsec-ttl-00.html.
  • hide-identity: configurado como sí para desactivar las respuestas de las consultas bind sobre id.servidor o hostname.bind.
  • hide-version: establece sí para desactivar las consultas versión.servidor y versión.bind.
  • use-caps-for-id: establece sí para activar el uso de «0x20-encoded» en la consulta para frustrar los intentos de suplantación.

Definir la red privada y las listas de control de acceso (ACL)

A continuación, debes definir la dirección privada de tu red y las ACL (Listas de Control de Acceso). Cambia la subred local en las líneas de abajo con tu entorno de red actual.

    private-address: 192.168.0.0/16
    private-address: 169.254.0.0/16
    private-address: 172.16.0.0/12
    private-address: 10.0.0.0/8
    private-address: fd00::/8
    private-address: fe80::/10
#control which clients are allowed to make (recursive) queries
access-control: 127.0.0.1/32 allow_snoop
access-control: ::1 allow_snoop
access-control: 127.0.0.0/8 allow
access-control: 192.168.5.0/24 allow

Parámetros detallados:

  • dirección-privada: define subredes de red privadas en tu infraestructura. Sólo los nombres «private-domain» y «local-data » pueden tener estas direcciones privadas.
  • access-control: define el control de acceso en el que se permite a los clientes hacer consultas (recursivas) al servidor de Unbound. El parámetro «allow» permitirá las recursivas, mientras que «allow_snoop» permitirá tanto las recursivas como las no recursivas.

Configurar el dominio local

Tras configurar las listas de direcciones privadas y de control de acceso, ahora definirás la zona local para tu nombre de dominio local. Esto es muy útil, sobre todo si tienes varias aplicaciones autoalojadas en tu red local. Puedes definir fácilmente tu nombre de dominio o subdominios y apuntar a la dirección IP de destino específica.

En este ejemplo se creará la zona para el dominio «garden.lan» con el tipo «static«, luego crearás múltiples subdominios mediante el parámetro «local-data». Cada subdominio apuntará a una dirección IP concreta, y también crearás registros PTR mediante el parámetro «local-data-ptr«.

    # local zone
    local-zone: "garden.lan." static
local-data: "firewall.garden.lan.  IN A 10.0.0.1"
local-data: "vault.garden.lan.    IN A 10.0.0.2"
local-data: "media.garden.lan.   IN A 10.0.0.3"
local-data: "docs.garden.lan.       IN A 10.0.0.4"
local-data: "wiki.garden.lan.     IN A 10.0.0.5"

local-data-ptr: "10.0.0.1  firewall.garden.lan"
local-data-ptr: "10.0.0.2  vault.garden.lan"
local-data-ptr: "10.0.0.3  media.garden.lan"
local-data-ptr: "10.0.0.4  docs.garden.lan"
local-data-ptr: "10.0.0.5  wiki.garden.lan"

Parámetros detallados:

  • local-zone: define aquí el dominio local.
  • local-data: define el registro A para los subdominios y qué dirección IP local se resolverá.
  • local-data-ptr: define el registro ptr para tus subdominios.

Ajuste y mejora del rendimiento de Unbound

Añade las siguientes líneas para obtener más rendimiento. Puedes ajustar los siguientes parámetros a tu entorno actual.

    num-threads: 4
    msg-cache-slabs: 8
    rrset-cache-slabs: 8
    infra-cache-slabs: 8
    key-cache-slabs: 8
    rrset-cache-size: 256m
    msg-cache-size: 128m
    so-rcvbuf: 8m

Parámetros detallados:

  • num-threads: el número de hilos que se crearán. El valor debe coincidir con los núcleos de CPU del servidor.
  • msg-cache-slabs: el número de slabs a utilizar para la caché de mensajes. Establécelo en 8 para optimizar Unbound para que utilice más memoria para la caché.
  • rrset-cache-slabs: el número de losas a utilizar para la caché RRset. Establécelo en 8 para optimizar Unbound para que utilice más memoria para la caché RRSet.
  • infra-cache-slabs: el número de losas a utilizar para la caché de Infraestructura. Establécelo en 8 para que Unbound utilice más memoria para la caché de Infraestructura.
  • key-cache-slabs: el número de losas a utilizar para la caché de claves. Establécelo en 8 para que Unbound utilice más memoria para la caché de claves.
  • rrset-cache-size: especifica la cantidad de memoria para la caché RRSet. Este ejemplo utiliza 256MB, siendo el valor por defecto de sólo 4MB.
  • msg-cache-size: especifica la cantidad de memoria para la caché de mensajes. Este ejemplo utiliza 128MB, siendo el valor por defecto de sólo 4MB.
  • so-rcvbuf: establece el tamaño del búfer para el puerto DNS 53/udp en 8 MB.

Configurar Unbound como resolvedor DNS con DNS-sobre-TLS (DoT)

Por último, añade una nueva sección «forward-zone» para configurar Unbound como resolvedor DNS para tus redes locales. Este ejemplo utiliza servidores DNS Quad9 con DoT (DNS-over-TLS) activado.

forward-zone:
    name: "."
    forward-ssl-upstream: yes
    ## Also add IBM IPv6 Quad9 over TLS
    forward-addr: 9.9.9.9@853#dns.quad9.net
    forward-addr: 149.112.112.112@853#dns.quad9.net

Detalla los parámetros:

  • forward-zone: define la zona de reenvío para Unbound.
  • name: establece «.» para reenviar todas las consultas DNS.
  • forward-addr: utiliza un reenviador específico para reenviar todas las consultas DNS. Este ejemplo utiliza Quad9 DNS con DNS sobre TLS (DoT) activado.

Guarda y sal del archivo‘/etc/unbound/unbound.conf‘ cuando hayas terminado. Con el archivo de configuración de Unbound modificado, ya puedes reiniciar el servicio Unbound y aplicar los cambios.

Ejecuta el siguiente comando de comprobación y verifica la configuración de Unbound. Si tiene éxito, deberías obtener una salida como ‘unbound-checkconf: no errors in /etc/unbound/unbound.conf’.

sudo unbound-checkconf

A continuación, ejecuta el siguiente comando systemctl para reiniciar el servicio Unbound y aplicar los cambios.

sudo systemctl restart unbound

Ahora que ya has terminado la configuración de Unbound, lo siguiente será configurar el cortafuegos UFW y abrir el puerto DNS 53 por defecto.

configurar sin vincular

Configurar el cortafuegos UFW

En este paso, configurarás el cortafuegos UFW en el servidor Debian y abrirás el puerto DNS 53/udp. Pero antes, debes instalar los paquetes UFW desde el repositorio de Debian a través de APT.

Ejecuta el siguiente comando apt para instalar el cortafuegos UFW en tu servidor Debian. Introduce y cuando se te pida y pulsa ENTER para continuar.

sudo apt install ufw

Resultado:

instalar ufw

Una vez instalado UFW, debes abrir el servicio OpenSSH en UFW mediante el siguiente comando. A continuación, puedes añadir el puerto DNS 53/udp al cortafuegos de UFW.

sudo ufw allow OpenSSH
sudo ufw allow 53/udp

A continuación, ejecuta el siguiente comando para iniciar y habilitar el servicio de cortafuegos de UFW. Cuando se te solicite, introduce y para confirmar y pulsa ENTER para continuar.

sudo ufw enable

La salida«El cortafuegos está activo y habilitado al iniciar el sistema» confirma que el cortafuegos UFW se está ejecutando y está habilitado, lo que significa que el cortafuegos UFW se iniciará automáticamente al iniciar el sistema.

Resultado:

configuración ufw

Ahora ejecuta el siguiente comando ufw para verificar el estado del cortafuegos UFW. Deberías recibir una salida que indique que el estado del UFW es «activo» con el servicio OpenSSH y el puerto DNS 53/udp habilitados.

sudo ufw status

Salida:

verificar ufw

Registro no enlazado mediante Rsyslog y Logrotate

Tras configurar el cortafuegos de la UFW, ahora configurarás un archivo de registro para Unbound mediante rsyslog y logrotate. El servicio rsyslog creará un archivo de registro específico para Unbound y el logrotate rotará el archivo de registro de Unbound en un tiempo determinado.

Crea un nuevo archivo de configuración de rsyslog ‘/etc/rsyslog.d/unbound.conf‘ utilizando el siguiente comando del editor nano.

sudo nano /etc/rsyslog.d/unbound.conf

Añade las siguientes líneas al archivo. Con esto, los registros de Unbound se almacenarán en ‘/var/log/unbound.log’.

# Log messages generated by unbound application 
if $programname == 'unbound' then /var/log/unbound.log
# stop processing it further
& stop

Guarda el archivo y sal del editor cuando hayas terminado.

Ahora ejecuta el siguiente comando systemctl para reiniciar el servicio ‘rsyslog’ y aplicar los cambios.

sudo systemctl restart rsyslog

A continuación, configurarás la rotación del registro para el archivo de registro de Unbound‘/var/log/unbound.log‘. Y puedes conseguirlo mediante el servicio logrotate.

Crea un nuevo archivo de configuración de logrotate‘/etc/logrotate.d/unbound‘ utilizando el siguiente comando del editor nano.

sudo nano /etc/logrotate.d/unbound

Añade las siguientes líneas al archivo. Esto creará la rotación del registro para el archivo de registro de Unbound‘/var/log/unbound.log‘ diariamente.

/var/log/unbound.log {
  daily
  rotate 7
  missingok
  create 0640 root adm
  postrotate
    /usr/lib/rsyslog/rsyslog-rotate
  endscript
}

Guarda el archivo y sal del editor cuando hayas terminado.

Ahora ejecuta el siguiente comando systemctl para reiniciar el servicio logrotate y aplicar los cambios.

sudo systemctl restart logrotate

Con esto, ya has instalado y configurado correctamente el servidor DNS Unbound y has configurado el registro mediante Rsyslog y Logrotate. Los registros de Unbound se guardarán en el archivo ‘/var/unbound/unbound.log‘.

configurar registro sin consolidar

Configurar el resolvedor DNS en el cliente Linux

En este paso, aprenderás a configurar un resolvedor DNS en las máquinas cliente. Te mostraremos dos métodos para diferentes distribuciones de Linux.

Para clientes Ubuntu: La red en Ubuntu está gestionada por NetworkManager. Para configurar un resolver DNS, puedes combinar NetworkManager con systemd-resolved como backend.
Para clientes Debian: en los sistemas Debian (versión mínima), la red se gestiona mediante el archivo de configuración tradicional ‘/etc/network/interface’. Puedes definir el directorio DNS resolver en el archivo ‘/etc/network/interface’ o utilizar el servicio systemd-resolved, que está disponible por defecto en el servidor Debian.

Para clientes de Ubuntu con NetworkManager y Systemd-resolved

Esto es para los usuarios de Ubuntu que utilizan NetworkManager como configuración de red por defecto. Configurarás systemd-resolved como backend del servidor DNS en NetworkManager.

Abre el archivo‘/etc/NetworkManager/NetworkManager.conf‘ utilizando el siguiente comando del editor nano.

sudo nano /etc/NetworkManager/NetworkManager.conf

Descomenta el parámetro‘dns‘ y añade el backend como‘systemd-resolved‘.

dns=systemd-resolved

Guarda el archivo y sal de él cuando hayas terminado.

Ahora ejecuta el siguiente comando systemctl para reiniciar el servicio NetworkManager y aplicar los cambios.

sudo systemctl restart NetworkManager

A continuación, definirás el DNS local no enlazado en systemd-resolved.

Abre el archivo de configuración de systemd-resolved‘/etc/systemd/resolved.conf‘ utilizando el siguiente comando del editor nano.

sudo nano /etc/systemd/resolved.conf

En la sección ‘[Resolver]‘, descomenta el parámetro‘DNS‘ e introduce la dirección IP de tu servidor DNS No Unido.

[Resolve]
DNS= 192.168.5.20

Guarda el archivo y sal de él cuando hayas terminado.

A continuación, ejecuta el siguiente comando systemctl para iniciar y activar el servicio «systemd-resolved«.

sudo systemctl start systemd-resolved
sudo systemctl enable systemd-resolved

Ahora comprueba el estado del servicio «systemd-resolved» mediante el siguiente comando. Deberías ver que «systemd-resolved» está habilitado y se ejecutará automáticamente al iniciar el sistema. Y el estado del servicio «systemd-resolved» es ahora en ejecución.

sudo systemctl status systemd-resolved

También puedes verificar la configuración de tu resolver DNS mediante el siguiente comando«resolvectl«. Y deberías ver que el resolver por defecto es tu servidor DNS Unbound con la dirección IP‘192.168.5.20‘.

resolvectl status

Para clientes Debian

Para el sistema Debian, también puedes utilizar el servicio systemd-resolved para configurar un resolver DNS.

Abre el archivo de configuración de systemd-resolved ‘/etc/systemd/resolved.conf ‘ utilizando el editor nano que aparece a continuación.

sudo nano /etc/systemd/resolved.conf

Añade el parámetro‘DNS‘ seguido de la dirección IP del servidor Unbound en la sección ‘[Resolver]‘.

[Resolve]
DNS=192.168.5.20

Guarda el archivo y sal del editor cuando hayas terminado.

Ahora ejecuta el siguiente comando systemctl para iniciar y habilitar el servicio systemd-resolved.

sudo systemctl start systemd-resolved
sudo systemctl enable systemd-resolved

Salida:

configuración sistemad-resuelto

A continuación, comprueba el estado del servicio systemd-resolved para asegurarte de que se está ejecutando. La salida ‘activo (en ejecución)‘ confirma que systemd-resolved está en ejecución, y la salida ‘cargado ../../../systemd-resolved.service; habilitado;..‘ confirma que el servicio está habilitado.

sudo systemctl status systemd-resolved

Salida:

verificar sistema resuelto

Puedes verificar la configuración de tu resolvedor DNS mediante el comando‘resolvectl‘ que aparece a continuación. Y deberías ver que el resolver por defecto es tu servidor DNS Unbound con la dirección IP ‘192.168.5.20‘.

resolvectl status

Resultado:

verificar resolución dns

Probando el servidor DNS no enlazado

Ejecuta el comando dig que aparece a continuación para asegurarte de que el DNS Unbound funciona como un resolver DNS. El parámetro ‘@192.168.5.20’ garantiza que estás utilizando un servidor DNS Sin Encuadernar que se ejecuta en la dirección IP ‘192.168.5.20‘.

dig @192.168.5.20

Si lo consigues, recibirás una respuesta del servidor DNS raíz como la que se muestra a continuación. Además, observarás la bandera «ad» (datos auténticos) en la salida de la cabecera, lo que significa que la DNSSEC está activada.

verificar resolución dns no vinculada

A continuación, ejecuta el siguiente comando para asegurarte de que los clientes pueden acceder a los nombres de dominio en línea.

dig github.com
dig duckduckgo.com

Cuando lo consigas, deberías recibir una salida con los detalles del registro DNS para el dominio «github.com» y «duckduckgo.com«. Puedes ver que el resolver DNS que responde a la consulta es ‘127.0.0.53#53‘, que es el systemd-resolved que utiliza Unbound como resolver por defecto. También puedes ver el ‘Tiempode consulta’ para cada consulta, el ‘Tiempo de consulta‘ al dominio ‘github.com’ es‘1367‘ y a ‘duckduckgo.com‘ es‘1059‘.

Salida para github.com:

accede a github

Salida para duckduckgo.com:

ir a duckduckgo.com

Si vuelves a ejecutar el comando dig encima, el ‘Tiempo de consulta’ debería reducirse. Esto confirma que tus consultas se han almacenado en caché y que la caché DNS funciona.

dig github.com
dig duckduckgo.com

Salida:

consulta dns en caché

dns en caché duckduckgo.com

A continuación, verifica el dominio o subdominio local mediante el comando dig que aparece a continuación. Si tiene éxito, cada subdominio apuntará a la dirección IP correcta, tal y como está configurada en el archivo de configuración de Unbound‘/etc/unbound/unbound.conf‘.

dig firewall.garden.lan +short
dig vault.garden.lan +short
dig media.garden.lan +short

Resultado:

verificar dominio local

Ahora ejecuta el siguiente comando dig para asegurarte de que los registros PTR apuntan al nombre de dominio correcto.

dig -x 10.0.0.1 +short
dig -x 10.0.0.2 +short
dig -x 10.0.0.3 +short

Resultado:

verificar registro ptr

Por último, también puedes verificar DoT (DNS sobre TLS) mediante tcpdump. Instala el paquete«tcpdump» en tu servidor Unbound.

sudo apt install tcpdump

Introduce y cuando te lo pida y pulsa ENTER para continuar.

instalar tcpdump

Ahora ejecuta el siguiente comando tcpdump para supervisar el tráfico en la interfaz «eth0» con el puerto 853 de DoT. En este ejemplo, el DNS Unbound se ejecuta en la dirección IP «192.168.5.20» con la interfaz «eth0«.

tcpdump -vv -x -X -s 1500 -i eth0 'port 853'

Desplázate a la máquina cliente y ejecuta el siguiente comando para acceder a los nombres de dominio externos/internet mediante el comando dig que aparece a continuación.

dig google.com

Resultado:

verificar punto

Después de esto, vuelve al servidor Unbound y ahora deberías obtener una salida similar a ésta en la salida de tcpdump.

consulta tráficos encriptados

Con esto, ya has instalado y configurado el Servidor DNS Local a través de Unbound. Además, has configurado un resolver DNS en clientes Ubuntu mediante systemd-resolved y NetworkManager, y en clientes Debian mediante systemd-resolved.

Conclusión

En esta guía, has instalado el Servidor DNS Local de Unbound en un servidor Debian 11. Has activado la caché DNS, DNSSEC (activada por defecto), configurado la dirección privada y las ACL, añadido el dominio local mediante local-zone, y configurado Unbound como DNS resolver con DoT (DNS-over-TLS).

Además, has configurado la privacidad y seguridad básicas del DNS, has optimizado Unbound y has configurado los registros de Unbound mediante rsyslog y logrotate.

Al final de esta guía, también has aprendido a configurar un resolver DNS en máquinas Ubuntu y Debian mediante NetworkManager y systemd-resolved. Y también has aprendido el uso básico del comando dig para comprobar el servidor DNS.

Scroll al inicio