DNS Setup · 17 min read · Sep 08, 2025

Cómo configurar un resolutor DNS local con Unbound en Rocky Linux 9

Unbound es un software de servidor DNS gratuito y de código abierto que se puede utilizar para validadores, recursivos y resolutores DNS en caché. Es un servidor DNS rico en funciones que admite DNS-over-TLS (DoT), DNS-over-HTTPS (DoH), Minimización del Nombre de Consulta, el Uso Agresivo de Caché Validada por DNSSEC y soporte para zonas de autoridad. Unbound se centra en la privacidad y seguridad de DNS, pero sin sacrificar la velocidad y el rendimiento.

Unbound es desarrollado principalmente por NLnet Labs y distribuido bajo la licencia BSD, y admite características modernas en estándares abiertos de Servidor DNS. Unbound ha sido auditado rigurosamente y se puede ejecutar en Linux, BSD y macOS. Unbound está disponible para la mayoría de estos sistemas operativos y se puede instalar a través del gestor de paquetes del sistema.

En este tutorial, configuraré un Servidor DNS Local con Unbound en un servidor Rocky Linux 9. Configurarás Unbound como un DNS autoritativo, validante y recursivo en caché. Además de eso, también configurarás Unbound como un resolutor DNS para tu red local con DNS-over-TLS (DoT) habilitado encima de ello.

Al final de este tutorial, también configurarás los registros de Unbound a través de Rsyslog y Logrotate, y también configurarás una máquina cliente Linux para usar Unbound como un resolutor DNS y verificar toda tu instalación desde allí.

Requisitos Previos

Antes de comenzar con este tutorial, asegúrate de tener los siguientes requisitos:

  • Un servidor con Rocky Linux 9 instalado - Este ejemplo utiliza un Rocky Linux con el nombre de host ‘unbound-rocky’ y la dirección IP ‘192.168.5.25 ‘.
  • Un usuario no root con privilegios de administrador root/sudo.
  • Un SELinux que se ejecute en modo permisivo.

Y eso es todo. Si todos los requisitos están en su lugar, continúa y comienza a instalar Unbound en tu servidor.

Instalando Unbound

Unbound es un software de Servidor DNS que admite la mayoría de los sistemas operativos, incluidos Linux, BSD y macOS. En Rocky Linux, el paquete Unbound está disponible por defecto en el repositorio oficial de Rocky Linux AppStream.

En este primer paso, instalarás el paquete Unbound en tu sistema Rocky Linux.

Ahora ejecuta el siguiente comando dnf para verificar el paquete ‘unbound‘ disponible en el repositorio AppStream. En el momento de escribir esto, el repositorio AppStream de Rocky Linux proporciona Unbound 1.16.

sudo dnf info unbound

Salida:

unbound info packages

Instala Unbound a través del comando dnf a continuación. Cuando se te pida, ingresa y para confirmar y presiona ENTER para continuar.

sudo dnf install unbound

Salida:

install unbound

Una vez que Unbound esté instalado, inicia y habilita el servicio ‘unbound’ a través de la utilidad del comando systemctl a continuación. Esto iniciará Unbound en tu servidor Rocky Linux y lo habilitará para que se ejecute automáticamente al iniciar el sistema.

sudo systemctl start unbound  
sudo systemctl enable unbound

Verifica el servicio Unbound utilizando el siguiente comando systemctl. La salida ‘active (running)‘ confirma que el servicio Unbound está en ejecución. Y la salida ‘loaded ….; enabled;…‘ confirma que el servicio Unbound está habilitado.

sudo systemctl status unbound

Salida:

verify unbound

Tu Unbound ahora está instalado y en funcionamiento con el archivo de configuración predeterminado ‘/etc/unbound/unbound.conf‘. A continuación, modificarás el archivo de configuración de Unbound ‘/etc/unbound/unbound.conf‘ y configurarás Unbound como un DNS autoritativo, validante y recursivo en caché, y también habilitarás Unbound como un resolutor DNS con DoT habilitado.

Configurando Unbound

Por defecto, el archivo de configuración de Unbound se encuentra en ‘/etc/unbound/unbound.conf‘. En este paso, modificarás el archivo de configuración ‘/etc/unbound/unbound.conf‘, luego configurarás y optimizarás la instalación de Unbound.

Configurarás Unbound para que funcione como un DNS autoritativo, validante y recursivo en caché. Además de eso, también optimizarás la instalación de Unbound para rendimiento, privacidad y seguridad. Y por último, configurarás Unbound como un resolutor DNS para redes locales.

Primero, ejecuta el siguiente comando wget para descargar el archivo raíz DNS a ‘/etc/unbound/root.hints‘. Luego, cambia la propiedad del archivo ‘/etc/unbound/root.hints‘ al usuario y grupo ‘unbound‘.

wget https://www.internic.net/domain/named.root -O /etc/unbound/root.hints  
sudo chown unbound:unbound /etc/unbound/root.hints

A continuación, haz una copia de seguridad del archivo de configuración predeterminado de Unbound a ‘/etc/unbound/unbound.conf.orig‘ y modifica el archivo original ‘/etc/unbound/unbound.conf‘ utilizando el siguiente comando del editor nano.

sudo cp -v /etc/unbound/unbound{.conf,.conf.orig}  
sudo nano /etc/unbound/unbound.conf

Ahora comencemos a configurar Unbound.

Configuración Básica de Unbound

Primero, configurarás qué dirección IP y puerto debe estar ejecutando el servicio Unbound. Luego, también configurarás un paquete de certificados que se utilizará para autenticar conexiones realizadas hacia arriba y agregar los servidores DNS raíz a través del parámetro ‘root-hints’.

Agrega las siguientes líneas dentro de la sección ‘server:‘. Con estas configuraciones, ejecutarás Unbound en una dirección IP local ‘192.168.5.25‘ con el puerto UDP predeterminado ‘53‘.

server:  
    ...  
    ...  
    # interface-automatic: no  
    do-ip6: no  
    interface: 192.168.5.25  
    port: 53  
    prefetch: yes  
  
    tls-cert-bundle: /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem  
    root-hints: /etc/unbound/root.hints

Parámetros detallados:

  • do-ip6: usa ‘yes‘ para ejecutar Unbound con IPv6 o establece ‘no‘ para deshabilitar IPv6.
  • interface: interfaz de red o dirección IP en la que Unbound estará ejecutándose. Puedes usar una dirección IP o el nombre de la interfaz como ‘eth0‘. También puedes ejecutar en un puerto específico agregando el formato como este ‘IP-ADDRESS@PORT‘.
  • port: especifica el puerto en el que Unbound estará ejecutándose y las conexiones de los clientes serán manejadas por este puerto. El puerto DNS predeterminado es 53.
  • prefetch: establece en ‘yes‘ para habilitar la prefetching de entradas de caché de mensajes casi expirados.
  • tls-cert-bundle: Certificados utilizados para autenticar conexiones realizadas hacia arriba. En distribuciones basadas en RHEL, el archivo cert se encuentra en ‘/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem’.
  • root-hints: un archivo que contiene detalles del servidor DNS raíz. Has descargado este archivo en ‘/etc/unbound/root.hints’.

Habilitar Caché DNS

Ahora agrega las siguientes líneas para habilitar DNS recursivo en caché a través de Unbound. Esto almacenará en caché las consultas DNS realizadas por los clientes en el servidor Unbound durante un tiempo determinado.

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

Parámetros detallados:

  • cache-max-ttl: TTL o Tiempo de Vida para RRSets y mensajes en la caché DNS. El formato es en segundos.
  • cache-min-ttl: Tiempo de Vida mínimo para la caché. El predeterminado es 0, pero puedes cambiar esto a tu preferencia, como ‘1200‘ segundos. No establezcas esto por más de 1 hora o tendrás problemas debido a datos obsoletos.

Fortaleciendo Unbound

Algunos parámetros de privacidad y seguridad para Unbound están habilitados por defecto en la distribución basada en RHEL. Pero, también puedes agregar más parámetros como estas líneas.

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

Parámetros detallados:

  • hide-identity: establece en yes para deshabilitar respuestas de consultas de enlace sobre id.server o hostname.bind.
  • hide-version: establece en yes para deshabilitar consultas de version.server y version.bind.
  • use-caps-for-id: establece en yes para habilitar el uso de ‘0x20-encoded’ en la consulta para frustrar intentos de suplantación.

Definiendo Direcciones Privadas y Listas de Control de Acceso

A continuación, necesitarás definir direcciones privadas y ACLs (Listas de Control de Acceso) para tus redes locales. Asegúrate de cambiar la subred local en las siguientes líneas 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  
  
    #controla qué clientes pueden hacer consultas (recursivas)  
    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:

  • private-address: define subredes de red privada en tu infraestructura. Solo se permiten nombres ‘private-domain‘ y ‘local-data‘ para tener estas direcciones privadas.
  • access-control: define el control de acceso en el que los clientes pueden hacer consultas (recursivas) al servidor Unbound. El parámetro ‘allow‘ habilitará recursivas, mientras que el ‘allow_snoop‘ habilitará tanto recursivas como no recursivas.

Configurando Nombre de Dominio Local y Subdominios

Después de configurar direcciones privadas y listas de control de acceso, ahora crearás nombres de dominio locales a través del parámetro ‘local-zone’ de Unbound. Esto es muy útil, especialmente si tienes múltiples aplicaciones autoalojadas en tu red local. Puedes definir fácilmente tu nombre de dominio o subdominios y apuntarlos a la dirección IP específica.

En este ejemplo, configurarás un dominio local ‘static‘ ‘garden.lan‘ y crearás múltiples subdominios a través del parámetro ‘local-data‘. Cada subdominio será apuntado a una dirección IP específica, y también crearás registros PTR a través del parámetro ‘local-data-ptr‘.

    # zona local  
    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 el dominio local aquí.
  • local-data: define el registro A para subdominios y qué dirección IP local será resuelta.
  • local-data-ptr: define el registro ptr para tus subdominios.

Optimización y Ajustes de Unbound

A continuación, agrega las siguientes líneas para optimizar tu instalación de Unbound. Puedes ajustar y modificar los parámetros a continuación dependiendo de tu entorno actual.

    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:

  • msg-cache-slabs: el número de slabs a utilizar para la caché de mensajes. Establecerlo en 8 optimiza Unbound para usar más memoria para la caché.
  • rrset-cache-slabs: el número de slabs a utilizar para la caché de RRset. Establecerlo en 8 optimiza Unbound para usar más memoria para la caché de RRSet.
  • infra-cache-slabs: el número de slabs a utilizar para la caché de Infraestructura. Establecerlo en 8 optimiza Unbound para usar más memoria para la caché de Infraestructura.
  • key-cache-slabs: el número de slabs a utilizar para la caché de claves. Establecerlo en 8 optimiza Unbound para usar más memoria para la caché de claves.
  • rrset-cache-size: especifica la cantidad de memoria para la caché de RRSet. Este ejemplo utiliza 256MB, con el predeterminado siendo solo 4MB.
  • msg-cache-size: especifica la cantidad de memoria para la caché de mensajes. Este ejemplo utiliza 128MB, con el predeterminado siendo solo 4MB.
  • so-rcvbuf: establece el tamaño del búfer para el puerto DNS 53/udp en 8MB.

Configurar Unbound como un Resolutor DNS con DNS-over-TLS (DoT)

Por último, agrega una nueva sección ‘forward-zone‘ para configurar Unbound como un resolutor DNS para tus redes locales. Este ejemplo utiliza servidores DNS Quad9 con DoT (DNS-over-TLS) habilitado como un resolutor DNS ascendente.

forward-zone:  
    name: "."  
    forward-ssl-upstream: yes  
    ## También agrega IBM IPv6 Quad9 sobre TLS  
    forward-addr: 9.9.9.9@853#dns.quad9.net  
    forward-addr: 149.112.112.112@853#dns.quad9.net

Parámetros detallados:

  • forward-zone: define la zona de reenvío para Unbound.
  • name: establece en “.” para reenviar todas las consultas DNS.
  • forward-addr: utiliza un reenvío específico para reenviar todas las consultas DNS. Este ejemplo utiliza Quad9 DNS con DNS-over-TLS (DoT) habilitado.

Ahora guarda y cierra el archivo ‘/etc/unbound/unbound.conf‘ cuando todo esté terminado.

A continuación, ejecuta el siguiente comando para verificar las configuraciones de Unbound y asegurarte de que has realizado una configuración correcta y adecuada. Cuando sea exitoso, deberías obtener una salida ‘unbound-checkconf: no errors in /etc/unbound/unbound.conf‘.

unbound-checkconf

setup unbound

Ahora reinicia el servicio Unbound a través de la utilidad del comando systemctl a continuación y aplica los cambios.

sudo systemctl restart unbound

Con esto, has terminado la configuración de Unbound y ahora está funcionando en la dirección IP ‘192.168.5.25‘ con el puerto UDP predeterminado ‘53‘.

En los siguientes pasos, configurarás el firewalld para abrir el puerto DNS y configurarás los registros de Unbound a través de Rsyslog y Logrotate.

Configurando Firewalld

Entonces, Unbound está en funcionamiento en el puerto UDP predeterminado 53. Ahora debes abrir el puerto DNS 53/UDP en firewalld y permitir que los clientes accedan a tu Servidor DNS Unbound.

Ejecuta el siguiente comando firewall-cmd a continuación para agregar el nuevo servicio ‘dns‘. Luego, recarga el firewalld para aplicar los cambios. Cuando sea exitoso, deberías obtener una salida como ‘success‘ en tu terminal.

sudo firewall-cmd --add-service=dns --permanent  
sudo firewall-cmd --reload

A continuación, ejecuta el siguiente comando para verificar la lista de servicios habilitados en firewalld. Y deberías ver el servicio ‘dns‘ agregado al firewalld.

sudo firewall-cmd --list-all

Salida:

setup firewalld

Configurando el Registro de Unbound a través de Rsyslog y Logrotate

Después de configurar el firewalld, ahora configurarás un archivo de registro para Unbound a través de 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 ‘/etc/rsyslog.d/unbound.conf‘ utilizando el siguiente comando del editor nano.

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

Agrega las siguientes líneas al archivo. Con esto, el Rsyslog creará un nuevo archivo de registro ‘/var/log/unbound.log’ para el ‘$programname’ == ‘unbound‘.

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

Guarda y cierra el archivo ‘/etc/rsyslog.d/unbound.conf‘ cuando termines.

A continuación, 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

Agrega las siguientes líneas al archivo. Esto creará una rotación de registros para el archivo de registro de Unbound ‘/var/log/unbound.log‘ a diario.

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

Guarda el archivo y cierra el editor cuando termines.

Por último, ejecuta el siguiente comando systemctl para reiniciar tanto los servicios Rsyslog como Logrotate y aplicar los cambios a tu sistema.

sudo systemctl restart rsyslog  
sudo systemctl restart logrotate

Con esto, has terminado la instalación de Unbound. En el siguiente paso, aprenderás cómo configurar una máquina cliente local para usar Unbound como un resolutor DNS utilizando dos métodos, luego verificarás el servidor DNS Unbound desde allí.

setup unbound log via rsyslog and logrotate

Configurando el Resolutor DNS para el Cliente

Para configurar el resolutor DNS en máquinas cliente, puedes usar diferentes métodos. En este paso, aprenderás cómo configurar resolutores DNS a través de NetworkManager y a través de systemd-resolved combinado con NetworkManager.

A través de NetworkManager

Si deseas configurar el resolutor DNS a través de NetworkManager directamente, entonces debes editar las configuraciones de tu interfaz de red, que se almacenan en el directorio ‘/etc/NetworkManager/system-connections/‘.

En este ejemplo, la conexión principal para la máquina cliente es ‘eth0‘, por lo que la configuración en NetworkManager debería ser ‘/etc/NetworkManager/system-connections/eth0.nmconnection‘. Puedes tener diferentes nombres de interfaz como eth1 y muchos más.

Abre el archivo de configuración de la interfaz de NetworkManager ‘/etc/NetworkManager/system-connections/eth0.nmconnection‘ utilizando el siguiente comando del editor nano.

sudo nano /etc/NetworkManager/system-connections/eth0.nmconnection

Agrega las siguientes líneas a la sección ‘[ipv4]‘. Además, asegúrate de cambiar la dirección IP en el parámetro ‘dns‘ con tu Servidor DNS Unbound.

[ipv4]  
...  
dns=192.168.5.25  
ignore-auto-dns=true

Guarda y cierra el archivo cuando termines.

A continuación, ejecuta el siguiente comando systemctl para reiniciar el servicio NetworkManager y aplicar los cambios. Luego, verifica el archivo de configuración del resolutor DNS ‘/etc/resolv.conf‘ a través del comando cat.

sudo systemctl restart NetworkManager  
cat /etc/resolv.conf

Deberías obtener una salida que indique que la dirección IP ‘192.168.5.25‘ está configurada como el resolutor DNS predeterminado para tu máquina cliente.

dns resolver via network manager

A través de systemd-resolved y NetworkManager

Otra forma de configurar un resolutor DNS es a través de systemd-resolved y NetworkManager. Con esto, puedes cambiar fácilmente el resolutor DNS a nivel del sistema y no depender de las interfaces de red en tu sistema.

En distribuciones basadas en RHEL, el systemd-resolved aún no está instalado. Puedes instalarlo fácilmente a través del comando dnf a continuación. Cuando se te pida, ingresa y para confirmar y presiona ENTER para continuar.

sudo dnf install systemd-resolved

Salida:

install systemd-resolved

Después de que se instale systemd-resolved, abre el archivo de configuración ‘/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‘ y agrega la dirección IP de tu servidor DNS Unbound en él.

[Resolver]  
DNS=192.168.5.25

Guarda y cierra el archivo cuando termines.

A continuación, ejecuta el siguiente comando systemctl para iniciar y habilitar el servicio ‘systemd-resolved’.

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

configure systemd-resolved

Ahora verifica el servicio ‘systemd-resolved‘ para asegurarte de que el servicio esté en ejecución. Deberías recibir una salida como ‘active (running)‘, lo que confirma que el servicio está en ejecución. Y la salida ‘Loaded ../../systemd-resolved.service; enabled;..‘ confirma que el servicio está habilitado y se iniciará automáticamente al iniciar el sistema.

sudo systemctl status systemd-resolved

Salida:

verify systemd-resolved

Con el systemd-resolved en funcionamiento, a continuación modificarás el backend DNS para el servicio NetworkManager.

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

sudo nano /etc/NetworkManager/NetworkManager.conf

Bajo la sección ‘[main]‘, agrega el parámetro ‘dns‘ con el valor ‘systemd-resolved‘. Esto sobrescribirá el servidor DNS en tu NetworkManager para usar el servicio ‘systemd-resolved‘.

[main]  
dns=systemd-resolved

Guarda y cierra el archivo cuando termines.

Ahora ejecuta el siguiente comando systemctl para reiniciar el servicio NetworkManager y aplicar los cambios. El nuevo resolutor DNS para NetworkManager se escribe en el archivo ‘/run/NetworkManager/resolv.conf‘.

sudo systemctl restart NetworkManager

Ejecuta el siguiente comando para eliminar el archivo predeterminado ‘/etc/resolv.conf‘. Luego, crea un nuevo archivo symlink de ‘/run/NetworkManager/resolv.conf‘ a ‘/etc/resolv.conf‘.

rm -f /etc/resolv.conf  
ln -s /run/NetworkManager/resolv.conf /etc/resolv.conf

Con esto, tu máquina cliente ahora está utilizando el systemd-resolved como el resolutor DNS. Detrás del ‘systemd-resolved‘, estás utilizando el Servidor DNS Unbound.

A continuación se detallan los detalles del archivo ‘/etc/resolv.conf‘ después de usar el systemd-resolved y NetworkManager.

cat /etc/resolv.conf

Salida:

dns resolver via systemd-resolved

Verificando el Servidor DNS Unbound

Ejecuta el comando dig a continuación para asegurarte de que el DNS Unbound esté funcionando como un resolutor DNS. El parámetro ‘@192.168.5.25‘ asegura que estás utilizando un servidor DNS Unbound que se ejecuta en la dirección IP ‘192.168.5.25‘.

dig @192.168.5.25

Cuando sea exitoso, recibirás una respuesta del servidor DNS raíz como la salida a continuación. También notarás la bandera ‘ad‘ (datos auténticos) en la salida del encabezado, lo que significa que DNSSEC está habilitado.

verify unbound dns resolver

A continuación, ejecuta el siguiente comando para asegurarte de que los clientes puedan acceder a nombres de dominio en internet.

dig google.com  
dig fb.com

Cuando sea exitoso, deberías recibir detalles de salida del registro DNS para el dominio ‘google.com‘ y ‘fb.com‘. Puedes ver que el resolutor DNS que responde a la consulta es ‘127.0.0.53#53‘, que es el systemd-resolved que utiliza Unbound como el resolutor predeterminado. También puedes ver el ‘Query time‘ para cada consulta, el ‘Query time‘ para el dominio ‘google.com‘ es ‘74ms‘ y para ‘fb.com‘ es ‘154ms‘.

Salida para google.com:

dig google.com

Salida para fb.com:

dig fb.com

Si vuelves a ejecutar el comando dig anterior, el ‘Query time‘ debería reducirse. Y esto confirma que tus consultas han sido almacenadas en caché, y la caché DNS está funcionando.

dig google.com  
dig fb.com

Salida:

dig google.com after cached

dig fb.com after cached

A continuación, verifica el dominio local o subdominio a través del comando dig a continuación. Si es exitoso, cada subdominio será apuntado a la dirección IP correcta según lo configurado 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

Salida:

verify local domains

Ahora ejecuta el siguiente comando dig para asegurarte de que los registros PTR estén apuntando 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

Salida:

verify ptr records

Por último, también puedes verificar DoT (DNS sobre TLS) a través de tcpdump. Instala el paquete ‘tcpdump‘ en tu servidor Unbound a través del comando dnf a continuación.

sudo dnf install tcpdump

Ingresa y para confirmar y presiona ENTER para continuar.

install tcpdump

Ahora ejecuta el siguiente comando tcpdump para monitorear el tráfico en la interfaz ‘eth0‘ con el puerto DoT 853. En este ejemplo, el DNS Unbound se está ejecutando en la dirección IP ‘192.168.5.25‘ con la interfaz ‘eth0‘.

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

Muévete a la máquina cliente y ejecuta el siguiente comando para acceder a nombres de dominio externos/internet a través del comando dig a continuación.

dig twitter.com

Salida:

verify DNS-over-TLS

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

verify DNS-over-TLS tcpdump

Con esto, has instalado y configurado un Servidor DNS Local a través de Unbound. También has configurado un resolutor DNS en clientes RHEL a través de systemd-resolved y NetworkManager.

Conclusión

En esta guía, has instalado el Servidor DNS Local Unbound en un servidor Rocky Linux 9. Has habilitado la caché DNS, DNSSEC (habilitado por defecto), configurado direcciones privadas y ACLs, agregado un dominio local a través de local-zone, luego configurado Unbound como resolutor DNS con DoT (DNS-over-TLS).

Además de eso, has configurado privacidad y seguridad básica de DNS, optimizado Unbound y configurado los registros de Unbound a través de rsyslog y logrotate.

Al final de esta guía, también has aprendido cómo configurar un resolutor DNS en distribuciones basadas en RHEL a través de NetworkManager y systemd-resolved. Y también aprendiste el uso básico del comando dig para verificar el servidor DNS.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.