Unbound: el DNS recursivo que domina en entornos ISP

Seguridad, velocidad y confiabilidad para redes profesionales.

Unbound, desarrollado por NLnet Labs, es uno de los resolutores DNS recursivos más usados en ISP, universidades y datacenters. Su foco está en la validación DNSSEC, la recursión directa a la raíz, una caché flexible y un diseño robusto que prioriza estabilidad y seguridad.

¿Por qué los ISP eligen Unbound?

  • DNSSEC completo: validación criptográfica del árbol DNS.
  • Recursión directa: no depende de forwarders externos; consulta a raíz y TLD.
  • Caché agresiva y configurable: millones de registros posibles; TTLs ajustables.
  • Prefetch y Serve-expired: respuestas rápidas incluso si los autoritativos están lentos.
  • Protecciones integradas: hardening contra envenenamiento de caché, amplificación y NXDOMAIN floods.
  • Arquitectura modular: módulos como subnetcache (ECS), cachedb (Redis/LMDB), python, dnstap.

Distribuciones recomendadas para producción

En servidores, la consistencia y el soporte a largo plazo son clave. Por eso:

  • Debian / Ubuntu Server: estables, automatizables (systemd, apt) y con versiones de Unbound bien mantenidas.
  • Rocky Linux / AlmaLinux / RHEL: base empresarial, kernel y toolchain confiables, actualizaciones previsibles.
  • No recomendado: Arch Linux: su modelo rolling release puede introducir cambios de librerías o kernel que afecten la estabilidad en producción. Para servidores DNS, priorizá stability over novelty.

Instalación rápida en Debian / Ubuntu Server

Comandos listos para copiar y pegar:

sudo apt update
sudo apt install unbound -y
sudo wget -O /var/lib/unbound/root.hints https://www.internic.net/domain/named.cache
sudo unbound-anchor -a "/var/lib/unbound/root.key"
sudo systemctl enable --now unbound
sudo systemctl status unbound

Ubicaciones útiles:

  • Configuración: /etc/unbound/unbound.conf
  • Validación de configuración: unbound-checkconf
  • Control y estadísticas: unbound-control
  • Logs: journalctl -u unbound

Instalación rápida en Rocky Linux / AlmaLinux / RHEL

Comandos listos para copiar y pegar:

sudo dnf install unbound -y
sudo curl -o /var/lib/unbound/root.hints https://www.internic.net/domain/named.cache
sudo unbound-anchor -a "/var/lib/unbound/root.key"
sudo systemctl enable --now unbound
sudo systemctl status unbound

Ubicaciones útiles:

  • Configuración: /etc/unbound/unbound.conf
  • Validación de configuración: unbound-checkconf
  • Logs: journalctl -u unbound

Buenas prácticas de ajuste (opcional)

  • Buffers y MTU: usar edns-buffer-size y max-udp-size a 1232 para evitar fragmentación.
  • Concurrencia: ajustar num-threads, outgoing-range y num-queries-per-thread según CPU.
  • Caché: ampliar rrset-cache-size y msg-cache-size para reducir recursiones.
  • Monitoreo: observar requestlist.exceeded, num.queries_timed_out y tiempos de recursión.

Conclusión: Unbound ofrece un balance excelente entre rendimiento, seguridad y estabilidad. Para servidores en producción, preferí Debian o Rocky Linux. No recomiendo Arch en este rol por su carácter rolling y la posibilidad de cambios disruptivos.

Comentarios

Dejá una respuesta