Protegiendo la Navegación en Casa con AdGuard Home

La seguridad y el control de lo que se navega en nuestra red doméstica es fundamental, especialmente cuando tenemos hijos que acceden a Internet desde diferentes dispositivos. Afortunadamente, disponemos de herramientas increíbles como AdGuard Home, un servidor DNS que bloquea rastreadores, anuncios y nos permite filtrar el acceso a dominios no deseados.

Aprovechando nuestro servidor con Docker y Traefik, y un router Ubiquiti Edge Router, hoy vamos a montar una solución robusta y profesional para gestionar los DNS de toda la red desde un único punto.

AdGuard Home y Ubiquiti Setup


1. Instalación de AdGuard Home en Docker con Traefik

Ya disponemos de una estructura en /opt/stacks (como vimos en nuestro tutorial anterior). Ahora añadiremos AdGuard Home.

Creamos la carpeta para el nuevo stack:

sudo mkdir -p /opt/stacks/adguard/data
sudo mkdir -p /opt/stacks/adguard/conf
cd /opt/stacks/adguard
nano docker-compose.yml

Añade este contenido a tu docker-compose.yml:

services:
  adguardhome:
    image: adguard/adguardhome
    container_name: adguardhome
    restart: unless-stopped
    volumes:
      - ./data:/opt/adguardhome/work
      - ./conf:/opt/adguardhome/conf
    ports:
      # Puertos DNS
      - "53:53/tcp"
      - "53:53/udp"
      # Opcionales si no usamos Traefik para el panel, pero los expondremos igualmente para red local
      - "3000:3000/tcp"
    networks:
      - web
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.adguard.rule=Host(`adguard.tudominio.com`)"
      - "traefik.http.routers.adguard.entrypoints=websecure"
      - "traefik.http.routers.adguard.tls.certresolver=letsencrypt"
      # Enrutamos el panel web (por defecto AdGuard se instala en el 3000 y luego salta al 80)
      - "traefik.http.services.adguard.loadbalancer.server.port=3000"

networks:
  web:
    external: true

Nota: Asegúrate de que el puerto 53 (DNS) esté libre en tu servidor Ubuntu. Si systemd-resolved lo está ocupando, deberás liberarlo deshabilitando el stub listener.

Levanta el contenedor:

docker compose up -d

Accede a https://adguard.tudominio.com (o http://IP_DEL_SERVER:3000) para realizar la configuración inicial. Crea tu usuario, contraseña y asegúrate de configurar el panel en el puerto 80 (Traefik se encargará del resto) y el servidor DNS en el 53.


2. Cerrando y Redirigiendo DNS en el Router Ubiquiti (EdgeRouter)

Para garantizar que nadie en la red pueda saltarse nuestro AdGuard configurando manualmente otros DNS (como 8.8.8.8 de Google) en sus dispositivos, necesitamos forzar (mediante NAT) todo el tráfico DNS hacia nuestro servidor AdGuard Home.

Accede a la CLI de tu Ubiquiti Edge Router y entra en el modo de configuración:

configure

Supongamos que tu servidor AdGuard tiene la IP 192.168.1.10 y tu red local (LAN) es eth1. Vamos a crear dos reglas NAT (Network Address Translation):

Regla 1: Redirigir todas las consultas DNS externas hacia AdGuard Esta regla intercepta cualquier petición al puerto 53 que no vaya dirigida a nuestro AdGuard, y la redirige hacia allí.

set nat destination rule 10 description 'Forzar DNS hacia AdGuard'
set nat destination rule 10 inbound-interface eth1
set nat destination rule 10 protocol tcp_udp
set nat destination rule 10 destination port 53
# Evitamos redirigir las peticiones que el propio AdGuard hace a Internet
set nat destination rule 10 destination address !192.168.1.10
set nat destination rule 10 translation address 192.168.1.10

Regla 2: Regla de enmascaramiento (Masquerade) para la redirección DNS Para que la respuesta de AdGuard vuelva correctamente al cliente (y no parezca que viene directamente de AdGuard, causando rechazo en el dispositivo origen), enmascaramos la IP origen para la red LAN en estas peticiones.

set nat source rule 10 description 'Masquerade for DNS Redirect'
set nat source rule 10 outbound-interface eth1
set nat source rule 10 protocol tcp_udp
set nat source rule 10 destination address 192.168.1.10
set nat source rule 10 destination port 53
set nat source rule 10 translation address masquerade

Aplicamos y guardamos la configuración:

commit
save
exit

3. Configurando el DHCP para propagar AdGuard Home

Finalmente, queremos que los dispositivos reciban la IP de nuestro AdGuard Home automáticamente al conectarse a la WiFi o cable de red.

Desde la interfaz web de tu EdgeRouter (o por CLI si lo prefieres), dirígete a la pestaña Services > DHCP Server.

  1. Selecciona tu "DHCP Server" activo y haz clic en Actions > View Details.
  2. En la sección DNS 1, escribe la IP de tu servidor AdGuard Home (ej. 192.168.1.10).
  3. Deja el DNS 2 en blanco (así forzamos a que todos usen exclusivamente AdGuard).
  4. Guarda los cambios.

A partir de ahora, cada cliente que renueve su dirección IP a través de DHCP comenzará a resolver dominios pasando obligatoriamente por AdGuard Home.

Con este setup completamos un eslabón vital: nuestra red y la navegación de nuestros hijos está un poco más segura, libre de rastreadores y servicios no deseados que ahora puedes bloquear directamente desde el panel de control de AdGuard Home.

Entrada Anterior Siguiente Entrada