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
- Configuración Avanzada
- Comandos de Mantenimiento
- Solución de Problemas
- Consejos de Rendimiento
- Lista de Verificación Final
- Resumen
Configuración Avanzada
Habilitar HTTPS para el Panel Admin
Asegura tu panel admin con HTTPS:
- En el panel de AdGuard Home, ve a Settings → Encryption
- Habilita HTTPS
- 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:
- Si accedes a AdGuard Home desde fuera de tu red
- Para máxima seguridad (incluso en red local)
- No requerido para uso doméstico básico
Agregar Blocklists Personalizadas
Más allá de las configuraciones recomendadas por defecto de la Parte 3, puedes agregar blocklists especializadas:
- Ve a Filters → DNS blocklists
- Clic en “Add blocklist”
- 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:
- NextDNS: Crea cuenta en https://nextdns.io (filtrado personalizable)
- AdGuard DNS:
94.140.14.14y94.140.15.15(construido por el equipo AdGuard) - OpenDNS:
208.67.222.222y208.67.220.220(incluye filtrado web)
Opciones DNS-over-HTTPS (DoH):
- Cloudflare:
https://dns.cloudflare.com/dns-query - Google:
https://dns.google/dns-query - Quad9:
https://dns.quad9.net/dns-query
Habilitar Query Logging (Ya Recomendado en Parte 3)
Si lo omitiste antes:
- Settings → DNS settings
- Habilita “Query log”
- Establece período de retención: 24 horas (recomendado)
Por qué es útil:
- Ver qué dominios están accediendo tus dispositivos
- Solucionar problemas de sitios bloqueados
- Monitorear actividad de red
- Identificar comportamiento sospechoso
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:
- DNS-over-HTTPS (DoH) - Encripta tus consultas DNS para que tu ISP no pueda ver qué sitios visitas
- DNS-over-TLS (DoT) - Otra opción de DNS encriptado para usuarios conscientes de la privacidad
- Proveedores DNS Upstream - Usa DNS enfocado en privacidad como Quad9, Cloudflare o NextDNS
- Blocklists Personalizadas - Agrega listas especializadas para malware, phishing, cryptominers o contenido específico
Monitoreo de Red:
- Ve Qué Están Haciendo Tus Dispositivos - Los logs de consultas muestran cada solicitud DNS en tu red
- Identifica Actividad Sospechosa - Detecta dispositivos enviando datos o malware intentando conectarse
- Rastrea Dispositivos Smart Home - Ve qué datos tus dispositivos IoT intentan enviar
Filtrado Avanzado:
- Controles Parentales - Bloquea contenido adulto, sitios de apuestas o redes sociales
- Modo Whitelist - Solo permite dominios específicos (bloqueo extremo para dispositivos de niños)
- Configuraciones Por Cliente - Diferentes reglas de filtrado para diferentes dispositivos
- Filtrado Regex - Crea reglas personalizadas poderosas usando expresiones regulares
Funciones para Usuarios Avanzados:
- Rewrites y DNS Personalizado - Apunta dominios específicos a servidores locales (genial para home labs)
- Aplicación de Safe Search - Forzar búsqueda segura en Google, Bing, YouTube
- Servidor DHCP - Reemplazar el DHCP de tu router (solo usuarios avanzados)
- Acceso API - Integrar con Home Assistant, Grafana o scripts personalizados
Optimización de Rendimiento:
- Response Caching - Acelera búsquedas DNS cacheando consultas comunes (habilitado por defecto)
- Bootstrap DNS - Optimiza resolución DNS upstream
- Parallel Queries - Consulta múltiples servidores upstream simultáneamente (habilitado en configuraciones recomendadas por defecto)
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:
- Solucionar problemas
- Verificar que las consultas DNS se están procesando
- Buscar errores
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:
- Configuraciones y ajustes
- Blocklists y filtros
- Reglas personalizadas
- Estadísticas de consultas
Qué no se respalda:
- Logs de consultas (estos son temporales)
- Container mismo (fácilmente recreado)
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:
- Después de cambios de configuración (a veces necesario)
- Si el panel se vuelve no responsivo
- Después de actualizaciones del sistema
Detener e Iniciar Container
# Detener container
docker stop adguardhome
# Iniciar container
docker start adguardhome
Cuándo detener:
- Realizar mantenimiento del sistema
- Solucionar problemas de red
- Liberar recursos temporalmente
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:
- Verifica actualizaciones mensualmente
- Actualiza inmediatamente para parches de seguridad
- Lee notas de lanzamiento antes de actualizar: https://github.com/AdguardTeam/AdGuardHome/releases
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.
Detén AdGuard Home:
docker-compose downEdita tu docker-compose.yml:
vim docker-compose.ymlCambia 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"Guardar y reiniciar:
docker-compose up -dAcceder con nuevos puertos:
- Panel:
http://TU_IP:8080 - Configuración:
http://TU_IP:3001
- Panel:
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:
- Puerto 80: Apache, Nginx, otros servidores web, otros containers Docker
- Puerto 3000: Apps Node.js, servidores de desarrollo, otros containers
- Puerto 53: systemd-resolved, dnsmasq, otros servicios DNS
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):
Detén el servicio en conflicto:
sudo systemctl stop systemd-resolved sudo systemctl disable systemd-resolvedEdita el archivo de configuración DNS:
sudo vim /etc/resolv.confEdita el archivo:
- Encuentra la línea que dice
nameserveralgo - Cámbiala a:
nameserver 1.1.1.1 - Guardar: Presiona
Ctrl+X, luegoY, luegoEnter(o:wqen vim)
- Encuentra la línea que dice
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:
Verifica si el container está en ejecución:
docker ps- Si no ves
adguardhomelistado, inícialo:docker start adguardhome
- Si no ves
Verifica logs del container para errores:
docker logs adguardhomeVerifica dirección IP correcta:
hostname -IVerifica 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 statusSi UFW está activo y bloqueando puertos, permite el tráfico:
sudo ufw allow 3000 sudo ufw allow 53 sudo ufw allow 80Nota: La mayoría de usuarios de Raspberry Pi no necesitan configurar firewall para redes domésticas.
Intenta acceder desde el dispositivo mismo:
curl http://localhost:3000Reinicia 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:
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
Prueba resolución DNS:
# Reemplaza TU_IP_ADGUARD con tu IP de AdGuard Home nslookup google.com TU_IP_ADGUARDVerifica 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
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
Prueba con un dominio de anuncio conocido:
nslookup doubleclick.net TU_IP_ADGUARD- Debería devolver
0.0.0.0si el bloqueo está funcionando
- Debería devolver
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
- Windows:
El Container No Inicia Después del Reinicio
Síntomas: AdGuard Home deja de funcionar después del reinicio del sistema
Soluciones:
Verifica servicio Docker:
sudo systemctl status dockerInicia Docker si está detenido:
sudo systemctl start docker sudo systemctl enable dockerInicia container manualmente:
docker start adguardhomeVerifica política de reinicio del container:
docker inspect adguardhome | grep -i restart- Debería mostrar:
"RestartPolicy": { "Name": "unless-stopped" }
- Debería mostrar:
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:
Verifica servidores DNS upstream:
- Usa DNS rápido y confiable (Cloudflare
1.1.1.1, Quad99.9.9.9) - Prueba DNS upstream:
nslookup google.com 1.1.1.1
- Usa DNS rápido y confiable (Cloudflare
Habilita consultas paralelas:
- Settings → DNS settings → Enable parallel queries
Aumenta tamaño de caché:
- Settings → DNS settings → Cache configuration
- El predeterminado usualmente está bien para uso doméstico
Reduce blocklists:
- Demasiadas blocklists ralentizan DNS
- Mantente con 2-3 listas de alta calidad
Verifica recursos del sistema:
docker stats adguardhome- Asegúrate de que el uso de CPU/Memoria sea normal
Consejos de Rendimiento
Usa Ethernet en Lugar de WiFi
- Conexión más estable
- Menor latencia
- Más confiable para servidor DNS
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)
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)
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
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
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
Monitorea Uso de Recursos
docker stats adguardhome- CPU Normal: 1-5%
- Memoria Normal: 50-150MB
- Si es mayor, reduce logging de consultas o blocklists
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:
- El container está en ejecución:
docker psmuestra containeradguardhomecomo “Up” - IP estática está configurada: La IP del dispositivo no ha cambiado después del reinicio
- Panel es accesible: Puedes abrir
http://TU_IPen el navegador e iniciar sesión - DNS del router está configurado: El DNS primario del router apunta a la IP de AdGuard Home
- Los dispositivos están usando AdGuard: El query log muestra solicitudes DNS de tus dispositivos
- Los anuncios están bloqueados: Visita un sitio de prueba (ej.,
canyoublockit.com) - los anuncios deberían estar bloqueados - Internet funciona: Puedes navegar normalmente, sin sitios web rotos
¿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
- Entendiste por qué el bloqueo de anuncios a nivel de red importa
- Comparaste AdGuard Home vs Pi-hole
- Aprendiste sobre los beneficios de Docker
- Preparaste hardware y software
Parte 2: Configuración del Sistema
- Configuraste SSH para acceso remoto
- Instalaste Docker
- Configuraste una dirección IP estática
Parte 3: Instalación
- Desplegaste container AdGuard Home
- Completaste asistente de configuración inicial
- Configuraste configuraciones recomendadas por defecto
- Conectaste tus dispositivos de red
Parte 4: Avanzado y Mantenimiento
- Exploraste funciones avanzadas
- Aprendiste comandos de mantenimiento
- Solucionaste problemas comunes
- Optimizaste rendimiento
Lo Que Has Ganado
Tu red completa ahora está protegida de anuncios y rastreadores. Cada dispositivo conectado a tu WiFi se beneficia de:
- Navegación más rápida - Los anuncios y rastreadores se bloquean antes de que carguen
- Mejor privacidad - Sin scripts de rastreo siguiéndote
- Experiencia más limpia - Sin pop-ups, banners o anuncios de video
- Información de red - Ve qué están haciendo realmente tus dispositivos
- Protección 24/7 - Funciona automáticamente en todos los dispositivos
Próximos Pasos
Ahora que tienes una instalación funcional de AdGuard Home:
- Monitorea por una semana - Verifica el Query Log para ver qué se está bloqueando
- Ajusta si es necesario - Agrega sitios a whitelist que se rompan, agrega blocklists específicas
- Configura respaldos regulares - Programa respaldos mensuales de configuración
- Explora funciones avanzadas - Prueba DNS-over-HTTPS, controles parentales o reglas personalizadas
- Comparte tu experiencia - ¡Ayuda a otros a configurar su propio bloqueo de anuncios!
Recursos Adicionales
- Documentación Oficial: Wiki de AdGuard Home
- Código Fuente: GitHub de AdGuard Home
- Soporte de la Comunidad: Discusiones de AdGuard Home
- Documentación Docker: Docs de Docker
- Recursos de Blocklists:
¿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.