Qué vas a montar

Un servidor DNS propio que filtra publicidad, trackers y dominios maliciosos para todos los dispositivos de tu red doméstica a la vez — móviles, portátiles, smart TV, lo que sea — sin instalar ni configurar nada en cada uno de ellos individualmente. Se configura una vez en el router y listo.

Requisitos previos:


Paso 1 — Crear el LXC

Crea un contenedor Debian/Ubuntu ligero — AdGuard Home consume muy pocos recursos, no necesita más de 512MB de RAM ni apenas CPU. Asígnale una IP fija dentro de tu rango local, por ejemplo 192.168.1.60, porque todo tu router va a apuntar a esa IP como DNS, y si cambia, se rompe la resolución de toda la red.

Paso 2 — Instalar AdGuard Home

Dentro del LXC:

curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v

El instalador levanta el servicio automáticamente. Por defecto expone el asistente de configuración inicial en el puerto 3000.

Paso 3 — Asistente de configuración inicial

Entra a http://192.168.1.60:3000 desde el navegador y sigue el asistente:

  1. Elige la interfaz y el puerto para el panel de administración (por defecto 80 para la interfaz de administración final, distinto del 3000 inicial)
  2. Configura el puerto DNS — déjalo en el 53 estándar, es el que van a usar todos tus dispositivos
  3. Crea el usuario administrador del panel

Paso 4 — Activar listas de bloqueo

En Filters → DNS blocklists, activa las listas que quieras usar. Las más habituales para empezar:

Puedes añadir listas personalizadas pegando la URL de cualquier lista pública en formato hosts/AdBlock.

Paso 5 — Configurar el router para usar AdGuard como DNS

Entra a la configuración de tu router (normalmente 192.168.1.1) y busca la sección de DNS (a veces bajo “LAN Setup” o “DHCP”). Cambia el DNS primario a la IP de tu LXC:

DNS primario: 192.168.1.60

Con esto, todos los dispositivos que se conecten a tu red reciben automáticamente ese DNS vía DHCP, sin tocar nada en cada dispositivo individualmente.

Si tu router no permite cambiar el DNS que reparte por DHCP, la alternativa es configurar el DNS manualmente en cada dispositivo, apuntando a la IP del LXC.

Paso 6 — Verifica que está filtrando de verdad

Desde cualquier dispositivo de tu red, visita una página de test de bloqueo de anuncios (por ejemplo, cualquier comprobador de “ad blocking test” público) y confirma que los anuncios no cargan. También puedes ver las peticiones en tiempo real desde el propio panel de AdGuard, en Query Log.

Reglas personalizadas (excepciones)

A veces una lista de bloqueo te tapa un dominio que sí necesitas — por ejemplo, si algún servicio de tu stack depende de una API externa que coincide con un patrón bloqueado. Puedes añadir una excepción en Filters → DNS rewrites o directamente como regla de usuario en Filters → Custom filtering rules:

@@||dominio-que-necesitas.com^

El @@ al principio marca la regla como excepción (permitir) en vez de bloqueo.


Checklist final

Siguientes pasos

Si vas a montar más servicios en LXCs nuevos, ten en cuenta que si tienes Tailscale en el nodo Proxmox, los contenedores nuevos pueden heredar su DNS por defecto y no resolver dominios externos — lo explico con el fix exacto en el tutorial del stack multimedia.