Cómo instalar Pi-hole en Docker- Bloqueador de anuncios con Docker, Listas Ads

Pi-hole | DNS | Ad-Block

Pi-hole: Bloquea anuncios y rastreadores en toda tu red con Docker

Pi-hole es el agujero negro para los anuncios de Internet. Despliégalo en Docker y protege todos tus dispositivos sin instalar nada en cada uno de ellos.

¿Qué es Pi-hole?


Pi-hole es un agujero negro DNS (DNS sinkhole) que bloquea anuncios y rastreadores a nivel de red. En lugar de instalar bloqueadores de anuncios en cada dispositivo (móvil, tablet, PC, Smart TV), Pi-hole actúa como un filtro central que intercepta las peticiones DNS y bloquea las que van a dominios publicitarios o de rastreo.

En Docker: Desplegar Pi-hole en un contenedor Docker es la forma más rápida y sostenible de tener un bloqueador de anuncios en toda tu red local. Tienes un único punto de control, accesible desde un panel web, y puedes gestionar listas de bloqueo, estadísticas y excepciones con un par de clics.

Ventaja principal: Protege todos los dispositivos de tu red (móviles, tablets, consolas, Smart TVs) sin instalar ninguna aplicación adicional en cada uno.

Características principales

Bloqueo a nivel de red

Protege todos los dispositivos conectados sin instalar software adicional en cada uno.

DNS rápido y caché

Almacena en caché las peticiones DNS para una navegación más rápida y fluida.

Panel de control Web

Interfaz web moderna para ver estadísticas, gestionar listas y controlar todo en tiempo real.

Listas de bloqueo

Compatible con miles de listas de bloqueo para ads, malware, phishing y rastreadores.

Soporte Regex

Bloqueo avanzado de dominios usando expresiones regulares para mayor precisión.

White/Black list

Gestión manual de dominios permitidos y bloqueados para casos específicos.

Servidor DHCP opcional

Puedes usarlo como servidor DHCP para automatizar la protección de todos los dispositivos.

DNS over HTTPS (DoH)

Encripta las peticiones DNS para mayor privacidad y seguridad.

Estadísticas detalladas

Gráficos de tartas, históricos de consultas, dominios más consultados y más.

API REST

Accede a los datos y controla Pi-hole mediante su API para integraciones.

Telemetría a través de bloqueos

Bloquea los dominios de telemetría de Windows, Google, Amazon, etc.

100% Open Source y gratuito

Software libre y comunitario con decenas de miles de estrellas en GitHub.

Requisitos del sistema

  • Docker e imagen Docker de Pi-hole
  • 512 MB de RAM (1 GB recomendado)
  • 2 GB de espacio en disco para logs y configuración
  • Puertos 53/tcp, 53/udp, 80, 443 disponibles
  • Network host opcional para soporte completo de DHCP
Nota importante: Si usas Docker Desktop en Windows, el soporte para red host no está disponible. En ese caso, usa mapeo de puertos o WSL2.

Instalación rápida con Docker Compose

Paso 1: Crear docker-compose.yml

version: '3.8' services: pihole: image: pihole/pihole:latest container_name: pihole restart: unless-stopped ports: - "53:53/tcp" - "53:53/udp" - "80:80/tcp" - "443:443/tcp" environment: - TZ=Europe/Madrid - WEBPASSWORD='tu_contraseña_segura' volumes: - ./etc-pihole:/etc/pihole - ./etc-dnsmasq.d:/etc/dnsmasq.d cap_add: - NET_ADMIN

Paso 2: Iniciar el contenedor

docker compose up -d

Paso 3: Acceder a Pi-hole

Abre en tu navegador: http://localhost/admin

Usa la contraseña definida en WEBPASSWORD para iniciar sesión.

Consejo: Si vas a usar DHCP, configura Docker en modo network_mode: host en lugar de mapear puertos.

Configuración avanzada

Uso de red host (para DHCP completo)

Para que Pi-hole funcione como servidor DHCP completo o para evitar problemas con el puerto 53:

network_mode: host

DNS de Cloudflare (DoH)

Para usar DNS over HTTPS y cifrar tus peticiones, añade las siguientes variables:

- PIHOLE_DNS_=1.1.1.1;2606:4700:4700::1111 - DNSSEC=true

Variables de entorno útiles

environment: - TZ=Europe/Madrid - WEBPASSWORD='contraseña' - PIHOLE_DNS_=1.1.1.1;1.0.0.1 - DNSSEC=true - QUERY_LOGGING=true

Listas de bloqueo recomendadas

Estas listas son gratuitas, mantenidas por la comunidad y te permiten bloquear desde anuncios básicos hasta malware y trackers complejos:

1. StevenBlack Hosts (La más completa)

Bloquea anuncios, malware, fake news y contenido para adultos. Ideal para uso doméstico general.

# URL de la lista en formato Pi-hole https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts

2. Blocklist Project (Multicategoría)

Ofrece listas específicas por tipo de amenaza: malware, phishing, ransomware, trackers, etc.

https://blocklistproject.github.io/Lists/pi-hole/ads.txt https://blocklistproject.github.io/Lists/pi-hole/malware.txt https://blocklistproject.github.io/Lists/pi-hole/phishing.txt https://blocklistproject.github.io/Lists/pi-hole/tracking.txt

3. AdGuard DNS Filter (Oficial de AdGuard)

Lista oficial de AdGuard, muy efectiva para bloquear ads y pop-ups integrales.

https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt

4. Disconnect.me Tracking

Especializada en bloquear rastreadores de web analytics y big data.

https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt

5. OISD Full (One Unified Blocklist)

Lista ligera pero muy completa, diseñada para no romper funcionalidades de sitios web legítimos.

https://abp.oisd.nl/

Cómo añadir listas en Pi-hole

  1. Accede al panel de Pi-hole en http://localhost/admin
  2. Ve a Group Management > Adlists
  3. Pega la URL de la lista en el campo Address
  4. Haz clic en Add
  5. Finalmente, ve a Tools > Update Gravity para recargar las listas
Consejo práctico: No te pases añadiendo demasiadas listas. Pi-hole recomienda usar unas 5-6 listas de calidad. Más listas no siempre significa mejor bloqueo y puede ralentizar tu red.

Primeros pasos

1. Configurar el DNS del router

Para proteger toda tu red, configura tu router para que use la IP del servidor Pi-hole como servidor DNS:

  1. Accede a la configuración de tu router
  2. Busca la sección DNS o DHCP
  3. Establece la IP de tu servidor Docker como único servidor DNS
  4. Guarda y reinicia los dispositivos de la red

2. Verificar el bloqueo

Abre http://localhost/admin y observa el dashboard en tiempo real. Cada vez que un dispositivo hace una petición DNS, verás el resultado en la lista de consultas.

3. Gestionar excepciones

Si un sitio legítimo deja de funcionar:

  1. Ve al dashboard y busca la última consulta bloqueada del dominio
  2. Haz clic en el botón Whitelist junto al dominio
  3. Desde ese momento, ese dominio estará permitido

Gestión y mantenimiento

Actualizar Pi-hole

docker compose pull docker compose up -d

Ver logs en tiempo real

docker compose logs -f pihole

Actualizar las listas de bloqueo (Gravity)

docker exec pihole pihole -g

Reiniciar/Detener contenedor

docker compose restart pihole docker compose down

Backup completo de configuración

docker exec -it pihole pihole -a -t > pihole-backup.tar.gz

Casos de uso

  • Protección doméstica: Bloquea anuncios y trackers en todos los dispositivos de tu hogar sin instalar adblockers individuales
  • Redes educativas: Protege a los estudiantes de contenido malintencionado y trackers de terceros
  • Entornos DevOps: Bloquea publicidad en servidores y contenedores durante despliegues automáticos
  • Smart TVs y consolas: Elimina anuncios en plataformas donde no puedes instalar adblockers
  • Telemetría baneada: Bloquea las llamadas de telemetría de Windows, Android, Samsung, etc.
  • Mejora de rendimiento: Cacheo DNS para una navegación significativamente más rápida en toda la red

Comentarios

Entradas populares de este blog

Cómo Instalar y configurar SERVIDOR VPN WIREGUARD en MIKROTIK 🔐 #VPN #Wireguard #Mikrotik #RouterOS

Cómo instalar y configurar DSM SYNOLOGY 7.2.2 en PC | Guía completa, instalación, RAID 1, SMB

Cómo INSTALAR y CONFIGURAR OpenVPN en MIKROTIK. Guía completa paso a paso.