AdGuard Home con Docker - Parte 4: Funciones Avanzadas y Mantenimiento

En esta parte final, exploraremos funciones avanzadas de AdGuard Home, aprenderemos cómo mantener tu instalación y solucionaremos problemas comunes.


Tabla de Contenidos

  1. Configuración Avanzada
  2. Comandos de Mantenimiento
  3. Solución de Problemas
  4. Consejos de Rendimiento
  5. Lista de Verificación Final
  6. Resumen

Configuración Avanzada

Habilitar HTTPS para el Panel Admin

Asegura tu panel admin con HTTPS:

  1. En el panel de AdGuard Home, ve a Settings → Encryption
  2. Habilita HTTPS
  3. Elige tu método de certificado:
    • Let’s Encrypt: Certificados gratuitos automáticos (requiere nombre de dominio y redirección de puertos)
    • Upload certificates: Usa tus propios certificados SSL

Cuándo usar HTTPS:

Agregar Blocklists Personalizadas

Más allá de las configuraciones recomendadas por defecto de la Parte 3, puedes agregar blocklists especializadas:

  1. Ve a Filters → DNS blocklists
  2. Clic en “Add blocklist”
  3. Listas adicionales populares:
    • AdAway Default Blocklist - Bloqueo de anuncios móviles
    • Steven Black’s Unified Hosts - Malware y adware
    • HaGeZi’s DNS Blocklists - Feeds de Inteligencia de Amenazas

Recuerda: Comienza con las 2 listas recomendadas de la Parte 3. Solo agrega más si notas que anuncios específicos pasan.

Configurar Servidores DNS Upstream Alternativos

Configuraste DNS upstream en la Parte 3, pero aquí hay opciones adicionales enfocadas en privacidad:

Dónde: Settings → DNS settings → Upstream DNS servers

Opciones Adicionales:

Opciones DNS-over-HTTPS (DoH):

Habilitar Query Logging (Ya Recomendado en Parte 3)

Si lo omitiste antes:

  1. Settings → DNS settings
  2. Habilita “Query log”
  3. Establece período de retención: 24 horas (recomendado)

Por qué es útil:

Ideas de Uso Avanzado

Opcional - Para usuarios que quieren explorar más allá del bloqueo básico de anuncios

Una vez que tienes AdGuard Home ejecutándose, puedes hacer mucho más:

Seguridad y Privacidad:

Monitoreo de Red:

Filtrado Avanzado:

Funciones para Usuarios Avanzados:

Optimización de Rendimiento:

Para aprender más: Visita la Wiki de AdGuard Home para guías detalladas sobre estas funciones avanzadas.


Comandos de Mantenimiento

Ver Logs

Verifica qué está haciendo AdGuard Home:

# Ver todos los logs
docker logs adguardhome

# Seguir logs en tiempo real (presiona Ctrl+C para salir)
docker logs -f adguardhome

# Ver últimas 50 líneas
docker logs --tail 50 adguardhome

Cuándo verificar logs:

Respaldar Configuración

Importante: Respalda tu configuración antes de actualizaciones o cambios mayores.

# Para método docker-compose (recomendado)
cp -r ~/adguardhome/conf ~/adguardhome/conf-backup-$(date +%Y%m%d)

# Para método docker run
sudo cp -r /opt/adguardhome/conf /opt/adguardhome/conf-backup-$(date +%Y%m%d)

Qué se respalda:

Qué no se respalda:

Consejo Pro: ¡Configura un recordatorio mensual para respaldar tu configuración!

Reiniciar Container

Reinicia AdGuard Home sin perder configuración:

docker restart adguardhome

Cuándo reiniciar:

Detener e Iniciar Container

# Detener container
docker stop adguardhome

# Iniciar container
docker start adguardhome

Cuándo detener:

Actualizar AdGuard Home

Mantén AdGuard Home actualizado para seguridad y nuevas funciones:

Usando método docker-compose (recomendado):

cd ~/adguardhome
docker-compose pull
docker-compose up -d

Usando método docker run:

docker stop adguardhome
docker rm adguardhome
# Luego ejecuta tu comando docker run original de nuevo (de la Parte 3)

Con qué frecuencia actualizar:

Respaldar antes de actualizar: ¡Siempre crea un respaldo antes de ejecutar actualizaciones!

Verificar Estado del Container

# Listar containers en ejecución
docker ps

# Verificar uso de recursos del container
docker stats adguardhome

# Ver detalles del container
docker inspect adguardhome

Solución de Problemas

Conflictos de Puertos (80, 3000 u Otros Puertos)

¿Qué significa esto? Cuando intentas iniciar AdGuard Home, obtienes un error como:

Error: bind: address already in use
Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use

Esto significa: Otro programa está usando el puerto que intentas usar.

Solución Rápida: Usar Puertos Personalizados

Solución: Usa la configuración de puertos personalizados de la Parte 3.

  1. Detén AdGuard Home:

    docker-compose down
    
  2. Edita tu docker-compose.yml:

    vim docker-compose.yml
    
  3. Cambia los mapeos de puerto para usar puertos personalizados:

    ports:
      - '53:53/tcp' # Mantén esto como está (DNS necesita puerto 53)
      - '53:53/udp' # Mantén esto como está (DNS necesita puerto 53)
      - '8080:80/tcp' # Cambiado de "80:80" a "8080:80"
      - '3001:3000/tcp' # Cambiado de "3000:3000" a "3001:3000"
    
  4. Guardar y reiniciar:

    docker-compose up -d
    
  5. Acceder con nuevos puertos:

    • Panel: http://TU_IP:8080
    • Configuración: http://TU_IP:3001

Encontrar Qué Está Usando un Puerto

¿Quieres saber qué está usando tu puerto?

# Verificar puerto 80
sudo lsof -i :80

# Verificar puerto 3000
sudo lsof -i :3000

# O usar netstat
sudo netstat -tulpn | grep :80

Culpables comunes:

Detener Servicios en Conflicto

Si quieres liberar el puerto en su lugar:

Para servidores web:

# Apache
sudo systemctl stop apache2
sudo systemctl disable apache2  # Prevenir inicio automático

# Nginx
sudo systemctl stop nginx
sudo systemctl disable nginx

Para otros containers Docker:

# Listar todos los containers en ejecución
docker ps

# Detener el container en conflicto
docker stop NOMBRE_CONTAINER

Recomendación: ¡Usa puertos personalizados en lugar de detener otros servicios - es más seguro y flexible!


Puerto 53 Ya en Uso

¿Qué significa esto? El puerto 53 se usa para DNS. A veces otro programa ya lo está usando.

Cómo solucionarlo (Ubuntu/Debian):

  1. Detén el servicio en conflicto:

    sudo systemctl stop systemd-resolved
    sudo systemctl disable systemd-resolved
    
  2. Edita el archivo de configuración DNS:

    sudo vim /etc/resolv.conf
    
  3. Edita el archivo:

    • Encuentra la línea que dice nameserver algo
    • Cámbiala a: nameserver 1.1.1.1
    • Guardar: Presiona Ctrl+X, luego Y, luego Enter (o :wq en vim)
  4. Reinicia AdGuard Home:

    docker restart adguardhome
    

No Puedes Acceder a la Interfaz Web

Síntomas: No puedes abrir http://TU_IP o http://TU_IP:3000 en el navegador

Soluciones:

  1. Verifica si el container está en ejecución:

    docker ps
    
    • Si no ves adguardhome listado, inícialo: docker start adguardhome
  2. Verifica logs del container para errores:

    docker logs adguardhome
    
  3. Verifica dirección IP correcta:

    hostname -I
    
  4. Verifica si hay firewall activo (opcional):

    Raspberry Pi OS no tiene firewall habilitado por defecto, así que esto usualmente no es necesario.

    Si instalaste UFW, verifica su estado:

    sudo ufw status
    

    Si UFW está activo y bloqueando puertos, permite el tráfico:

    sudo ufw allow 3000
    sudo ufw allow 53
    sudo ufw allow 80
    

    Nota: La mayoría de usuarios de Raspberry Pi no necesitan configurar firewall para redes domésticas.

  5. Intenta acceder desde el dispositivo mismo:

    curl http://localhost:3000
    
  6. Reinicia el container:

    docker restart adguardhome
    

AdGuard Home No Está Bloqueando Anuncios

Síntomas: Los anuncios aún aparecen en sitios web, el bloqueo de anuncios parece ineficaz

Soluciones:

  1. Verifica que el DNS esté configurado correctamente:

    • Verifica configuraciones DNS del router (debería apuntar a IP de AdGuard Home)
    • O verifica configuraciones DNS del dispositivo individual
  2. Prueba resolución DNS:

    # Reemplaza TU_IP_ADGUARD con tu IP de AdGuard Home
    nslookup google.com TU_IP_ADGUARD
    
  3. Verifica Query Log:

    • Abre panel de AdGuard Home
    • Ve a “Query Log”
    • Navega un sitio web en tu dispositivo
    • Verifica que las consultas aparezcan en el log
  4. Verifica que las blocklists estén habilitadas:

    • Panel → Filters → DNS blocklists
    • Asegúrate de que las listas estén habilitadas (toggle verde)
    • Clic en “Update” para refrescar listas
  5. Prueba con un dominio de anuncio conocido:

    nslookup doubleclick.net TU_IP_ADGUARD
    
    • Debería devolver 0.0.0.0 si el bloqueo está funcionando
  6. Limpia caché DNS del dispositivo:

    • Windows: ipconfig /flushdns
    • Mac: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
    • Linux: sudo systemd-resolve --flush-caches
    • iOS/Android: Activa/desactiva WiFi o reinicia dispositivo

El Container No Inicia Después del Reinicio

Síntomas: AdGuard Home deja de funcionar después del reinicio del sistema

Soluciones:

  1. Verifica servicio Docker:

    sudo systemctl status docker
    
  2. Inicia Docker si está detenido:

    sudo systemctl start docker
    sudo systemctl enable docker
    
  3. Inicia container manualmente:

    docker start adguardhome
    
  4. Verifica política de reinicio del container:

    docker inspect adguardhome | grep -i restart
    
    • Debería mostrar: "RestartPolicy": { "Name": "unless-stopped" }
  5. Recrea container con política de reinicio:

    cd ~/adguardhome
    docker-compose up -d
    

Resolución DNS Lenta

Síntomas: Los sitios web cargan lentamente, las consultas DNS toman tiempo

Soluciones:

  1. Verifica servidores DNS upstream:

    • Usa DNS rápido y confiable (Cloudflare 1.1.1.1, Quad9 9.9.9.9)
    • Prueba DNS upstream: nslookup google.com 1.1.1.1
  2. Habilita consultas paralelas:

    • Settings → DNS settings → Enable parallel queries
  3. Aumenta tamaño de caché:

    • Settings → DNS settings → Cache configuration
    • El predeterminado usualmente está bien para uso doméstico
  4. Reduce blocklists:

    • Demasiadas blocklists ralentizan DNS
    • Mantente con 2-3 listas de alta calidad
  5. Verifica recursos del sistema:

    docker stats adguardhome
    
    • Asegúrate de que el uso de CPU/Memoria sea normal

Consejos de Rendimiento

  1. Usa Ethernet en Lugar de WiFi

    • Conexión más estable
    • Menor latencia
    • Más confiable para servidor DNS
  2. Usa SSD en Lugar de Tarjeta SD (si es posible)

    • Velocidades de lectura/escritura más rápidas
    • Más confiable
    • Mayor vida útil
    • Nota: Si usas Raspberry Pi con tarjeta SD, usa una tarjeta de calidad (SanDisk, Samsung)
  3. Limita Retención de Query Log

    • Settings → DNS settings → Query log retention
    • 24 horas es suficiente para la mayoría de usuarios
    • Reduce a 12 horas en hardware de bajas especificaciones (Pi 3B con 1GB RAM)
  4. No Te Sobresuscribas a Blocklists

    • Más listas = búsquedas DNS más lentas
    • Comienza con 2-3 listas de calidad
    • Solo agrega más si anuncios específicos pasan
  5. Habilita Response Caching (Predeterminado)

    • Settings → DNS settings → Cache configuration
    • El tamaño de caché predeterminado está bien para uso doméstico
    • Acelera consultas DNS repetidas
  6. Usa Parallel Queries (Predeterminado Recomendado)

    • Settings → DNS settings → Enable parallel queries
    • Consulta múltiples servidores DNS upstream simultáneamente
    • Tiempo de respuesta general más rápido
  7. Monitorea Uso de Recursos

    docker stats adguardhome
    
    • CPU Normal: 1-5%
    • Memoria Normal: 50-150MB
    • Si es mayor, reduce logging de consultas o blocklists
  8. Actualizaciones Regulares

    • Actualiza AdGuard Home mensualmente
    • Actualiza blocklists automáticamente (predeterminado: cada 7 días)
    • Actualiza paquetes del sistema: sudo apt update && sudo apt upgrade

Lista de Verificación Final: ¿Está Funcionando Tu AdGuard Home?

Usa esta lista de verificación para verificar que todo esté configurado correctamente:

¿Todo marcado? ¡Felicitaciones! Tu bloqueador de anuncios a nivel de red está activo.

¿Algo no funciona? Revisa la sección de Solución de Problemas arriba o consulta los foros de la comunidad de AdGuard Home.


Resumen

¡Ahora tienes AdGuard Home ejecutándose en un container Docker! Esto es lo que lograste a través de esta serie de 4 partes:

Parte 1: Prerequisitos

Parte 2: Configuración del Sistema

Parte 3: Instalación

Parte 4: Avanzado y Mantenimiento

Lo Que Has Ganado

Tu red completa ahora está protegida de anuncios y rastreadores. Cada dispositivo conectado a tu WiFi se beneficia de:

Próximos Pasos

Ahora que tienes una instalación funcional de AdGuard Home:

  1. Monitorea por una semana - Verifica el Query Log para ver qué se está bloqueando
  2. Ajusta si es necesario - Agrega sitios a whitelist que se rompan, agrega blocklists específicas
  3. Configura respaldos regulares - Programa respaldos mensuales de configuración
  4. Explora funciones avanzadas - Prueba DNS-over-HTTPS, controles parentales o reglas personalizadas
  5. Comparte tu experiencia - ¡Ayuda a otros a configurar su propio bloqueo de anuncios!

Recursos Adicionales


¿Preguntas o Problemas? Visita los foros de la comunidad de AdGuard Home o consulta la sección de solución de problemas arriba.

A veces los mejores proyectos surgen de la frustración con soluciones existentes. Esta serie de guías es mi intento de hacer el bloqueo de anuncios a nivel de red accesible para todos, no solo para aquellos que ya conocen Linux y Docker.

Solo bloquea los anuncios. Bloquea los rastreadores. Recupera el control de tu red.