Cómo instalar Technitium DNS Server en Docker - Servidor DNS autohospedado, bloqueador anuncios, privacidad
Technitium DNS Server en Docker: Servidor DNS autohospedado autoritativo + recursivo, bloqueador anuncios/malware, DoT/DoH/DoQ, DNSSEC, clustering (alternativa privada a ISP DNS) 🔒
Servidor DNS profesional autohospedado. Autoritativo + recursivo. Bloquea anuncios/malware vía listas. DoT/DoH/DoQ (DNS-over-TLS/HTTPS/QUIC). DNSSEC validation. Caché avanzado (serve stale, prefetch). Forwarders Cloudflare/Google/Quad9 + DoT/DoH/DoQ. Clustering multi-instancia. SSO OIDC. Web console moderna. API HTTP. Zero config setup. 100K+ req/sec performance. MIT open source.
¿Qué es Technitium DNS Server?
Technitium DNS Server es un servidor DNS autohospedado profesional y open-source que funciona como servidor autoritativo y recursivo simultaneamente, bloqueando anuncios y malware a nivel DNS para toda tu red, soportando protocolos modernos como DNS-over-TLS/HTTPS/QUIC, validación DNSSEC, clustering de múltiples instancias, SSO OIDC, y con web console amigable, siendo la alternativa completa y privada a confiar tu DNS en ISPs o servicios cloud. Es enterprise-grade pero fácil de usar.
Propuesta clave: Servidor DNS completo autohospedado. Funciona como: Autoritativo (hosting zonas DNS custom), Recursivo (resolver queries clientes). Bloqueador anuncios: múltiples listas bloque (Adguard, Pi-hole, EasyList, etc). Bloquea malware: malware/phishing/PUP listas. DoT/DoH/DoQ soportado: DNS-over-TLS (RFC 7858), DNS-over-HTTPS (RFC 8484, HTTP/1.1/HTTP/2/HTTP/3), DNS-over-QUIC (RFC 9250). DNSSEC validation: RSA + ECDSA algoritmos. Forwarders: Cloudflare, Google, Quad9, AdGuard vía DoT/DoH/DoQ. Caché avanzado: serve stale, prefetch, auto-prefetch. Web console moderna: configuración gráfica. API HTTP REST. Clustering: manage 2+ instancias desde admin panel único. SSO OIDC: OpenID Connect. Performance: 100K+ requests/second en i7-8700. Setup cero config (out-of-box). Docker native. Environment vars config. MIT open source.
Características principales: DNS Autoritativo + Recursivo dual-mode. Bloqueo anuncios: multiple blocklists simultáneos, granular allow/deny. Bloqueo malware: virus/phishing/PUP databases. DoT/DoH/DoQ protocols: moderno encrypted DNS. DNSSEC: validación RSA/ECDSA. Forwarders configurables: CloudFlare, Google, Quad9 + encrypted protocols. Conditional forwarders: dominio específico → forwarder custom. Caché smart: serve-stale, prefetching, auto-prefetch. Web UI: modern browser console, configuración gráfica. API HTTP: automatable, usado por UI. Clustering: multi-server management panel central. SSO OIDC: enterprise auth. DNS-over-Proxy (RFC 7871). Logging: query logs históricos. Firewall rules. Hotspot portal integration. Rate-limiting. Default forwarding. Recursive resolver timeout customizable. Zero-config Docker. Environment variables init. MIT open source.
Características principales
DNS Autoritativo
Host custom zonas. Registros A/CNAME/MX/etc. Hosting DNS delegado.
DNS Recursivo
Resolver queries clientes. Caché inteligente. Forwarders customizables.
Bloqueador anuncios
Múltiples blocklists simultáneos. Granular allow/deny. Stats real-time.
Bloqueo malware
Virus/phishing/PUP databases. Protección red-wide.
DoT/DoH/DoQ
DNS-over-TLS, HTTPS (HTTP/1.1/2/3), QUIC. Encrypted DNS.
DNSSEC validation
RSA + ECDSA algoritmos. RFC-compliant.
Forwarders modernos
Cloudflare, Google, Quad9 vía DoT/DoH/DoQ. Conditional forwarders.
Caché inteligente
Serve stale, prefetch, auto-prefetch. Performance optimizado.
Web console moderna
Browser UI. Configuración gráfica. Logs históricos.
API HTTP REST
Automatable. Integrable. Usado por UI.
Clustering
Manage 2+ instancias. Admin panel central. Sync automático.
SSO OIDC + enterprise
OpenID Connect. Rate-limiting. Firewall rules. Hotspot portal.
Performance ultra
100K+ req/sec. Async IO. Commodity hardware.
Zero-config Docker
Out-of-box setup. Environment vars. MIT open source.
Requisitos del sistema
- Docker & Docker Compose v2+
- 100 MB - 500 MB RAM mínimo (lightweight)
- 1 GB espacio disco (logs, DB, caché)
- Puerto 53 UDP/TCP (DNS queries)
- Puerto 80/443 (web console + DoH/DoQ)
- Puerto 5353 (opcional) (DoT)
- Opcional: Reverse proxy (Caddy/nginx HTTPS)
Instalación con Docker Compose
Opción 1: Docker Compose embebido simple (recomendado)
Opción 2: Con reverse proxy Caddy HTTPS
Acceder a Technitium DNS Server
http://localhost - Web console local (usuario: admin, contraseña: del .env)
https://dns.tudominio.com - HTTPS remoto (si Caddy + dominio)
Primeros pasos
1. Acceder web console
- Abre
http://localhost - Login: usuario
admin, contraseña del.env - Dashboard aparece (resumen stats DNS)
2. Cambiar contraseña admin (IMPORTANTE)
- Dashboard → Settings → Admin
- Click "Change Password"
- Ingresa nueva contraseña fuerte
- Save
3. Configurar como servidor DNS de red
- En router/DHCP: configura DNS primario = IP servidor (ej: 192.168.1.100)
- O: En cada cliente, configura DNS manual = IP servidor
- Prueba:
nslookup google.com 192.168.1.100
4. Agregar blocklists (anuncios + malware)
- Dashboard → Blocklists
- Click "+ Add" blocklist
- URL blocklist (ej: Adguard, Pi-hole, EasyList)
- Enable → automático descarga + actualiza
- Ejemplo URLs:
- Adguard DNS: https://adguardteam.github.io/AdGuardHome/Blocklists/index.html
- EasyList: https://easylist.to/
- uBlock Origin: https://github.com/uBlockOrigin/uAssets/tree/master/filters
5. Configurar forwarders (upstream DNS)
- Dashboard → Forwarders
- Click "+ Add" forwarder
- Ej: Cloudflare DoH: https://1.1.1.1/dns-query
- O Google DoT: tls://8.8.8.8:853
- Enable → usan forwarder para recursive queries
6. Configurar DoH/DoQ (DNS encriptado)
- Dashboard → Settings → Protocols
- Enable "DNS-over-HTTPS" (puerto 443)
- Enable "DNS-over-QUIC" (puerto 443)
- Certificados auto (Let's Encrypt si Caddy)
- Clients usan: https://dns.tudominio.com/dns-query (DoH) o quic://dns.tudominio.com (DoQ)
7. Ver query logs y stats
- Dashboard → Query Logs
- Lista todas queries DNS (original + resultado)
- Filter por dominio/IP/tipo
- Dashboard → Statistics
- Gráficos queries/bloques/performance
8. Crear zona DNS autoritativa custom (opcional)
- Dashboard → Zones
- Click "+ Add Zone"
- Zone name: ej. "internal.local"
- Tipo: Primary (autoridad)
- Crea registros (A, CNAME, MX, etc)
- Queries a internal.local → resuelven localmente
9. Configurar clustering (multi-servidor, opcional)
10. Monitorear performance
- Dashboard → gráficos real-time (queries/sec, latencia)
- Ver logs:
docker logs -f technitium-dns - Stats consumo:
docker stats technitium-dns
Casos de uso
- Homelabs: DNS privado. Bloquea anuncios red-wide. Cero dependencia ISP.
- SMB/Empresa: DNS corporativo. Control granular. Clustering multi-sitio.
- Privacidad: No expone queries a ISP. Forwarders DoT/DoH/DoQ encriptados.
- Hosting DNS: Zonas autoritativas custom. Hosting dominio privado.
- Seguridad: Bloquea malware/phishing red-wide. Filtrado DNS-level.
- Lab/desarrollo: Zonas test (internal.local, dev.local). Conditional forwarders.
Gestión y mantenimiento
Ver logs en tiempo real
Restart container
Actualizar imagen
Monitorear consumo (ultra-ligero)
Backup configuración
Reset a valores por defecto
Consulta manual DNS (test)
Comparativa con alternativas
vs Pi-hole
Technitium gana: Servidor DNS completo, DoT/DoH/DoQ nativo, DNSSEC, clustering enterprise, SSO OIDC, zona autoritativa. Pi-hole gana: Interfaz más simple, comunidad gigante, setup ultra-rápido.
vs Unbound
Technitium gana: Web UI, bloqueo anuncios integrado, clustering, API. Unbound gana: Minimal, CLI power, resolver dedicado puro.
vs Bind9
Technitium gana: Interfaz moderna, setup simple. Bind9 gana: Industrial-grade, enterprise support, histórico.
Comentarios
Publicar un comentario