AdGuard Home es un servidor DNS que bloquea anuncios, trackers y malware a nivel de red. No necesitas instalar extensiones en cada navegador ni en cada dispositivo — todo lo que se conecta a tu red (PCs, móviles, smart TVs, IoT) queda protegido automáticamente.
A diferencia de un bloqueador de anuncios en el navegador, AdGuard Home filtra el tráfico DNS antes de que llegue al dispositivo. Eso significa que también bloquea telemetría de apps, trackers de smart TVs, y dominios de malware conocidos — incluso en dispositivos donde no puedes instalar extensiones.
Además, AdGuard Home soporta DNS-over-HTTPS (DoH) y DNS-over-TLS (DoT) de forma nativa, cifrando tus consultas DNS para que tu ISP no pueda ver qué sitios visitas. En esta guía lo instalamos con Docker Compose y lo configuramos como DNS principal de toda tu red.
¿Por qué AdGuard Home y no Pi-hole?
Pi-hole es la opción clásica para bloqueo de DNS, pero AdGuard Home tiene ventajas claras en 2026:
| Aspecto | AdGuard Home | Pi-hole |
|---|---|---|
| DNS cifrado (DoH/DoT) | Nativo, sin config extra | Requiere configuración adicional |
| Interfaz web | Moderna y responsive | Funcional pero anticuada |
| Reglas por dispositivo | Sí — puedes bloquear más en IoT y menos en tu PC | Limitado |
| DHCP server | Integrado | Integrado |
| Actualizaciones | Frecuentes, un solo binario | Depende de varios componentes |
| Consumo de recursos | ~30 MB RAM | ~50 MB RAM |
Ambos son excelentes. Si ya tienes Pi-hole y funciona, no necesitas cambiar. Si empiezas de cero, AdGuard Home es la opción más moderna.
Requisitos para instalar AdGuard Home con Docker
- Docker y Docker Compose instalados
- Puerto 53 libre (DNS). Si tu servidor usa systemd-resolved, necesitarás deshabilitarlo primero (lo explico abajo)
- IP fija en tu servidor (el DNS de tu red no puede cambiar de IP)
Paso 1: Desactivar systemd-resolved
En Ubuntu/Debian modernos, systemd-resolved ocupa el puerto 53 por defecto. AdGuard Home necesita ese puerto, así que hay que desactivarlo primero:
# Verificar si systemd-resolved ocupa el puerto 53
sudo ss -lnp | grep :53

Ahora desactívalo:
# Desactivar systemd-resolved
sudo systemctl disable --now systemd-resolved
# Configurar DNS temporal para que el servidor no pierda resolución
sudo rm /etc/resolv.conf
echo "nameserver 1.1.1.1" | sudo tee /etc/resolv.conf
Después de instalar AdGuard Home, tu servidor usará su propio servicio DNS.
Paso 2: Docker Compose para AdGuard Home
Crea el directorio del proyecto y el archivo docker-compose.yml:
mkdir -p ~/adguard && cd ~/adguard
services:
adguardhome:
image: adguard/adguardhome
container_name: adguardhome
restart: unless-stopped
ports:
- "53:53/tcp" # DNS (TCP)
- "53:53/udp" # DNS (UDP)
- "3000:3000/tcp" # Panel web (solo para setup inicial)
- "80:80/tcp" # Panel web (después del setup)
- "443:443/tcp" # DNS-over-HTTPS
- "853:853/tcp" # DNS-over-TLS
volumes:
- ./work:/opt/adguardhome/work
- ./conf:/opt/adguardhome/conf
Levanta el contenedor:
docker compose up -d

Nota: el DNS no responderá consultas hasta que completes el asistente de configuración en el siguiente paso. Esto es normal.
Paso 3: Configuración inicial de AdGuard Home
Accede a http://tu-ip-del-servidor:3000 en tu navegador. El asistente de configuración te guiará por estos pasos:

- Interfaces de escucha: deja los valores por defecto (todas las interfaces, puerto 80 para la web UI)
- Credenciales: crea un usuario y contraseña para el panel de administración

- DNS upstream: configura los servidores DNS que AdGuard Home consultará. Recomendados:
1.1.1.1— Cloudflare (rápido, privado)9.9.9.9— Quad9 (bloquea dominios maliciosos adicionales)

Una vez completado el setup, el panel se mueve al puerto 80. Accede a http://tu-ip-del-servidor (sin puerto) e inicia sesión con el usuario y contraseña que acabas de crear. El puerto 3000 ya no se usa.


Paso 4: Listas de bloqueo recomendadas
AdGuard Home viene con su lista por defecto, pero puedes agregar más para mayor cobertura. Ve a Filters > DNS Blocklists > Add blocklist. AdGuard Home te ofrece dos opciones: «Choose from the list» (listas predefinidas organizadas por categoría) o «Add a custom list» (URL manual). La opción más fácil es «Choose from the list» donde encontrarás las listas más populares ya categorizadas. Estas son las recomendadas:

- AdGuard DNS filter — incluida por defecto, buena base
- Steven Black’s Unified Hosts — la más completa para adware, malware y trackers. URL:
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts - OISD (Big) — excelente balance entre bloqueo agresivo y pocos falsos positivos. URL:
https://big.oisd.nl
Consejo: empieza con la lista de AdGuard + OISD. Si algo deja de funcionar (un sitio legítimo bloqueado), agrega la excepción en Filters > Custom filtering rules con la sintaxis @@||dominio.com^.
Paso 5: Configurar AdGuard Home como DNS de toda tu red
Para que todos los dispositivos usen AdGuard Home automáticamente, cambia el DNS en tu router:
- Accede al panel de tu router
- Busca la configuración de DHCP
- En DNS primario, pon la IP de tu servidor donde corre AdGuard Home
- Guarda y reinicia el router (o espera a que los dispositivos renueven su lease DHCP)
A partir de ese momento, cada dispositivo que se conecte a tu red recibirá la IP de AdGuard Home como DNS. Anuncios, trackers y malware se bloquean antes de llegar al dispositivo.
Paso 6: DNS cifrado con AdGuard Home (DoH/DoT)
Por defecto, las consultas DNS viajan en texto plano — tu ISP puede ver cada dominio que visitas. Para cifrar las consultas entre AdGuard Home y los servidores upstream, ve a Settings > DNS Settings > Upstream DNS servers y usa URLs cifradas:
# DNS-over-HTTPS (DoH)
https://dns.cloudflare.com/dns-query
https://dns.quad9.net/dns-query
# DNS-over-TLS (DoT)
tls://1dot1dot1dot1.cloudflare-dns.com
tls://dns.quad9.net
Después de guardar, verifica en Settings > DNS Settings > Test upstreams que los servidores cifrados respondan correctamente.
Verificación: ¿funciona AdGuard Home?
Para verificar que todo está funcionando:
- Abre el dashboard de AdGuard Home — deberías ver consultas DNS llegando de los dispositivos de tu red
- Visita un sitio con muchos anuncios — deberían desaparecer
- Revisa los logs en Query Log — verás qué dominios se bloquean y cuáles se permiten
- Test de DNS cifrado: usa Cloudflare’s encryption check para verificar que DoH/DoT funciona
Monitorear AdGuard Home
Si quieres recibir alertas cuando AdGuard Home deje de funcionar (lo cual dejaría a toda tu red sin DNS), configura un monitor en Uptime Kuma apuntando al puerto 80 de tu servidor.