En 30 segundos
- Elige dónde instalarlo (yo uso Docker).
- Lánzalo con un solo comando.
- Abre
IP-de-tu-servidor:3000en el navegador y sigue el asistente. - Pon esa IP como DNS en tu router.
No hace falta ser experto: si sabes copiar y pegar un comando, puedes.
En toda la guía uso
192.168.1.50como IP de ejemplo. Cámbiala por la de tu servidor.
Antes de empezar
Necesitas un aparato que esté siempre encendido: un mini PC, una Raspberry Pi, un portátil viejo o un servidor. AdGuard gasta muy poco (unas decenas de MB de RAM), pero si ese aparato se apaga, tu casa se queda sin DNS: nadie sabe traducir nombres a IPs y parece que «no hay internet», aunque la conexión funcione.
Dale una IP fija. Normalmente el router reparte las IPs con DHCP (Dynamic Host Configuration Protocol), un sistema de «préstamo»: cada aparato recibe una IP durante un tiempo y luego puede cambiar. Si cambia la de tu servidor, toda la casa seguirá preguntando a la dirección vieja. En el router, busca «reserva DHCP» o «IP estática» y ata la IP a tu servidor.
Paso 1 · Dónde instalarlo
| Opción | Cómo | Para quién |
|---|---|---|
| Docker | un contenedor | lo que uso yo (en Proxmox); fácil de actualizar y de mover |
| Linux | script oficial de instalación | si tienes un Linux sin Docker |
| Proxmox | contenedor LXC o máquina virtual | si ya tienes un servidor Proxmox |
| Home Assistant | complemento (add-on) | si ya usas Home Assistant |
Un contenedor es un programa empaquetado con todo lo que necesita y aislado del resto del sistema: no ensucia tu servidor y se borra o actualiza de una vez. Esta guía sigue ese camino. Si no tienes Docker, instálalo primero (Docker Engine en Linux, Docker Desktop en Windows/Mac).
Paso 2 · Un solo comando
docker run -d --name adguardhome \
-p 53:53/tcp -p 53:53/udp \
-p 3000:3000/tcp \
--restart unless-stopped \
-v /opt/adguard/work:/opt/adguardhome/work \
-v /opt/adguard/conf:/opt/adguardhome/conf \
adguard/adguardhome
Qué hace cada línea:
-d --name adguardhome→ lo arranca en segundo plano (detached) con un nombre fácil de recordar.-p 53:53/udpy-p 53:53/tcp→ conecta el puerto 53 de tu servidor con el del contenedor (-p servidor:contenedor). Es el puerto del DNS. Casi todas las consultas van por UDP, que es rápido porque no establece conexión: manda la pregunta y espera. Pero si una respuesta no cabe en un paquete, el servidor avisa y el cliente repite por TCP. Por eso se abren los dos.-p 3000:3000/tcp→ el puerto 3000, el del panel web.--restart unless-stopped→ si el servidor se reinicia o el programa falla, Docker lo vuelve a arrancar solo (salvo que lo hayas parado tú).-v …/worky-v …/conf→ volúmenes: carpetas de tu servidor que el contenedor usa como suyas. Ahí quedan la configuración y los datos, así que sobreviven aunque borres el contenedor para actualizarlo.adguard/adguardhome→ la imagen oficial, la «plantilla» de la que sale el contenedor.
Comprueba que está en marcha:
docker ps --filter name=adguardhome
Si da error con el puerto 53
Dos programas no pueden escuchar en el mismo puerto. En Ubuntu y otras distribuciones, el 53 ya lo ocupa systemd-resolved, un mini-DNS del propio sistema que escucha en 127.0.0.53. Libéralo así:
sudo sed -i 's/#\?DNSStubListener=.*/DNSStubListener=no/' /etc/systemd/resolved.conf
sudo systemctl restart systemd-resolved
Y vuelve a lanzar el docker run.
Paso 3 · El asistente
Abre en el navegador:
http://192.168.1.50:3000
El asistente tiene cinco pantallas:
- Bienvenida.
- Panel web → deja el puerto 3000 (es el que hemos abierto en el comando; si eliges otro, tendrías que abrirlo también con otro
-p). - Servidor DNS → puerto 53.
- Tu usuario → crea un usuario y una contraseña para el panel. Que no sea la de siempre.
- ¡Listo! → ya está filtrando, pero todavía nadie le pregunta. Para eso es el paso 4.
Recomendado: cifra lo que sale de casa
Por defecto, AdGuard reenvía las consultas permitidas a un DNS de fuera (el upstream) en texto plano: tu operadora podría verlas. En Ajustes → Configuración DNS → Servidores DNS de subida, puedes poner uno con DNS sobre HTTPS, que las cifra. Por ejemplo, el de Quad9:
https://dns.quad9.net/dns-query
Paso 4 · DNS en el router
Cuando un aparato se conecta a tu wifi, el router le da por DHCP su IP y, en el mismo mensaje, qué DNS debe usar (es la «opción 6» de DHCP). Si cambias ese dato, todos los aparatos usarán AdGuard sin tocarlos uno a uno.
Entra en el router (suele estar en 192.168.1.1 o 192.168.0.1), busca la sección DHCP o LAN y cambia:
| Campo | Valor |
|---|---|
| DNS primario | 192.168.1.50 (tu servidor) |
| DNS secundario | vacío, o la misma IP |
Guarda. Los aparatos ya conectados lo cogen al renovar su préstamo o al reconectarse (apaga y enciende el wifi del móvil).
Ojo con el DNS secundario: no es solo un «por si acaso». Muchos sistemas preguntan a los dos indistintamente. Si pones uno público, una parte de las consultas se saltará el filtro.
Si tu router no deja cambiar el DNS
Algunos routers de operadora lo bloquean. Dos salidas:
- Ponlo a mano en cada dispositivo (ajustes del wifi → DNS →
192.168.1.50). - Usa el servidor DHCP de AdGuard Home (Ajustes → Ajustes DHCP) y desactiva el del router: AdGuard repartirá las IPs y se anunciará a sí mismo como DNS. Hazlo solo si sabes volver atrás: dos servidores DHCP a la vez dan conflictos.
Comprobar que funciona
- En el panel, el registro de consultas empieza a llenarse con las peticiones de tus dispositivos.
- Desde un ordenador de casa, pregunta directamente a tu servidor:
nslookup wikipedia.org 192.168.1.50
Debe devolver una dirección. Prueba con un dominio de rastreo de la lista: verás que devuelve 0.0.0.0, la respuesta de «bloqueado».
Mantenimiento
Actualizar a la última versión (la configuración se conserva gracias a los volúmenes -v):
docker pull adguard/adguardhome
docker stop adguardhome && docker rm adguardhome
# y vuelve a lanzar el docker run del paso 2
Lo que el vídeo simplifica
- La IP
192.168.1.50es de ejemplo: en el vídeo no sale ninguna IP real. - En el vídeo el asistente se ve resumido; las pantallas reales tienen más opciones (interfaz de escucha, etc.). Los valores por defecto sirven.
- No entra en listas de bloqueo extra ni en acceso desde fuera de casa: eso va en la guía de homelab que estoy preparando.
