Instalación y configuración de AdGuard Home en Debian 13

¿Que es AdGuard Home?
AdGuard Home es un servidor DNS de código abierto que actúa como filtro de anuncios y rastreadores para toda la red. En lugar de instalar un bloqueador en cada dispositivo, configuramos AdGuard Home como servidor DNS de la red y bloqueará los dominios de publicidad, telemetría y rastreo antes de que lleguen a nuestros equipos, móviles o televisores. Además incluye un panel web con estadísticas, registro de consultas y la posibilidad de definir reglas y reescrituras DNS para nombres locales.
En este tutorial vamos a instalar AdGuard Home en Debian 13. En mi caso corre sobre una Raspberry Pi 5 (arquitectura ARM de 64 bits, aarch64); AdGuard Home publica binarios para arm64, así que el instalador oficial descargará automáticamente la versión correcta para esta arquitectura.
Requisitos
- Debian 13 instalado (en este caso sobre Raspberry Pi 5, aarch64).
- Los puertos 53 (DNS) y 80 (interfaz web) libres.
- Privilegios de sudo o root.
Liberar el puerto 53
Muchas instalaciones de Debian tienen systemd-resolved escuchando en el puerto 53, que necesitamos para AdGuard Home. Comprobamos si está ocupado:
root@adguard:~# ss -tlnp | grep :53
Si systemd-resolved está ocupando el puerto, desactivamos su escucha editando /etc/systemd/resolved.conf y poniendo:
[Resolve]
DNSStubListener=no
Y reiniciamos el servicio:
root@adguard:~# systemctl restart systemd-resolved
Instalación de AdGuard Home
AdGuard Home ofrece un script de instalación oficial que detecta la arquitectura (en nuestro caso arm64), descarga el binario, lo instala en /opt/AdGuardHome y crea el servicio de systemd:
root@adguard:~# curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
Cuando termine, comprobamos la versión instalada:
root@adguard:~# /opt/AdGuardHome/AdGuardHome --version
AdGuard Home, version v0.107.78
Y que el servicio está activo:
root@adguard:~# systemctl status AdGuardHome
● AdGuardHome.service - AdGuard Home: Network-level blocker
Loaded: loaded (/etc/systemd/system/AdGuardHome.service; enabled)
Active: active (running)
Asistente de configuración inicial
La primera vez, AdGuard Home levanta un asistente web en el puerto 3000. Abrimos un navegador y accedemos a la IP del servidor seguida del puerto 3000. El asistente nos da la bienvenida:

En el segundo paso definimos los puertos de escucha: la interfaz web de administración (en nuestro caso el puerto 80) y el servidor DNS (el puerto 53). AdGuard también nos recuerda que el servidor debe tener una dirección IP estática:

A continuación configuramos el usuario y la contraseña con los que protegeremos el panel de administración:

Tras completar los dos últimos pasos, el asistente termina y el panel se traslada al puerto que hayamos indicado (el 80). A partir de ahora accederemos directamente por http://IP-del-servidor, que nos pedirá iniciar sesión con las credenciales que acabamos de crear:

El panel de AdGuard Home
Una vez dentro, el panel principal nos muestra el número de consultas DNS, cuántas se han bloqueado, los clientes más activos y los dominios más consultados (en un servidor recién instalado las estadísticas aparecen a cero hasta que empiece a recibir tráfico):

Configurar los servidores DNS upstream
En Configuración → Configuración DNS indicamos los servidores DNS a los que AdGuard reenviará las consultas que no bloquee. Podemos usar el router de la red o un servidor con cifrado (DoH/DoT). Por ejemplo:
192.168.50.1
https://dns10.quad9.net/dns-query
Listas de bloqueo
El filtrado se basa en listas de bloqueo. En Filtros → Listas de bloqueo DNS AdGuard trae algunas activadas por defecto (como AdGuard DNS filter), y podemos añadir más pegando su URL:

Reescrituras DNS para nombres locales
Una función muy útil en un homelab son las reescrituras DNS: permiten resolver nombres internos a las IP de nuestra red. En Filtros → Reescrituras DNS podemos añadir, por ejemplo, servidor.home.lan → 192.168.50.2, y AdGuard responderá con esa IP a los clientes de la red.
Prueba de funcionamiento
Para comprobar que el filtrado funciona, hacemos una consulta DNS directamente contra AdGuard Home de un dominio de publicidad conocido. Debería devolver 0.0.0.0 (bloqueado):
root@debian:~# nslookup doubleclick.net 192.168.50.106
Server: 192.168.50.106
Address: 192.168.50.106#53
Name: doubleclick.net
Address: 0.0.0.0
Si configuramos la IP de AdGuard Home como servidor DNS en el router (o en cada equipo), toda la red empezará a filtrar anuncios y rastreadores. En el panel, dentro del Registro de consultas, veremos en tiempo real qué dominios se están consultando y bloqueando.
Con esto ya tenemos AdGuard Home funcionando en Debian 13 como servidor DNS con filtrado para toda la red local.
Categories
Base de datos Implantación de aplicaciones Monitorización Redes Seguridad Servicios Sistemas Virtualización y contenedoresRecent Posts