Pi-hole: Bloqueo de anuncios a nivel de red con DNS sinkhole
Protege todos tus dispositivos sin software cliente mediante un servidor DNS que filtra contenido no deseado
Vídeo tutorial en YouTube
Mira el vídeo completo sobre cómo instalar y usar Pi-hole: Bloqueo de anuncios a nivel de red con DNS sinkhole en el canal GENBYTE:
¿Qué es Pi-hole: Bloqueo de anuncios a nivel de red con DNS sinkhole?
Pi-hole es un DNS sinkhole que actúa como un agujero negro para la publicidad en Internet. Funciona a nivel de red, interceptando las consultas DNS y bloqueando las que apuntan a dominios conocidos de publicidad, rastreadores y malware. A diferencia de los bloqueadores basados en navegador, Pi-hole protege cualquier dispositivo conectado a la red —móviles, smart TVs, consolas, IoT— sin necesidad de instalar software en cada cliente. El proyecto está escrito principalmente en Shell y utiliza dnsmasq como servidor DNS, complementado con FTLDNS (Faster Than Light DNS) para estadísticas y API, y una interfaz web opcional para administración.
Características principales
Instalación automatizada
Instalación en menos de diez minutos mediante script interactivo o comando único curl.
Bloqueo en ubicaciones no navegador
Filtra contenido en aplicaciones móviles, smart TVs y dispositivos IoT donde los bloqueadores de navegador no llegan.
Caché DNS para mayor velocidad
Acelera la navegación cotidiana almacenando en caché las consultas DNS resueltas.
Requisitos mínimos de hardware
Funciona en hardware modesto como Raspberry Pi, pero escala a cientos de millones de consultas en servidores de grado empresarial.
Interfaz de línea de comandos auditable
CLI completa (comando `pihole`) para administración, depuración, gestión de listas, allowlist/denylist y regex.
Panel web responsivo
Dashboard opcional con gráficos, listas principales, registro de consultas filtrable, estadísticas a largo plazo y gestión de contraseña.
Servidor DHCP integrado opcional
Puede actuar como servidor DHCP para asignar automáticamente Pi-hole como DNS a todos los clientes de la red.
Compatibilidad IPv4 e IPv6
Bloquea anuncios en ambos protocolos de forma nativa.
API REST documentada
FTLDNS expone API para estadísticas (dominios bloqueados, consultas, clientes únicos, porcentaje de bloqueo) accesible vía HTTP, curl o CLI.
Software libre y abierto
Código abierto bajo licencia EUPL 1.2, control total de la privacidad sin telemetría obligatoria.
Requisitos del sistema
- Sistema Linux compatible (Debian, Ubuntu, Fedora, CentOS, Arch, etc.)
- Acceso root o sudo para instalación
- Puerto 53 (UDP/TCP) disponible para DNS
- Puerto 80/443 disponible si se usa interfaz web
- Conexión a Internet para descargar listas de bloqueo y actualizaciones
- Para Docker: Docker Engine y Docker Compose instalados
Instalación con Docker Compose
Instalación automatizada (método oficial)
Ejecuta el script oficial que guía la configuración interactiva. Revisa el script antes de ejecutarlo si lo prefieres.
Instalación clonando el repositorio (revisión de código previa)
Clona el repositorio y ejecuta el instalador desde la copia local para auditar el código antes de instalar.
cd "Pi-hole/automated install/"
sudo bash basic-install.sh
Descarga manual del instalador
Descarga el script, revísalo y ejecútalo manualmente.
sudo bash basic-install.sh
Despliegue con Docker (imagen oficial)
El proyecto recomienda usar las imágenes oficiales del repositorio docker-pi-hole. Consulta su documentación para docker-compose.yml, variables de entorno, volúmenes y puertos específicos.
Acceder al proyecto
Interfaz web de administración
Accede al dashboard en http://pi.hole/admin/ (si Pi-hole es tu servidor DNS) o en http://<IP_DE_TU_PI_HOLE>/admin/. Requiere contraseña definida durante la instalación.
API REST (FTLDNS)
Documentación interactiva en http://pi.hole/api/docs. Ejemplo curl: curl –connect-timeout 2 -ks "https://pi.hole/api/stats/summary" -H "Accept: application/json". También accesible vía CLI: pihole api stats/summary.
Línea de comandos
Ejecuta `pihole` en la terminal del host donde está instalado para acceder a todas las funciones de administración, depuración y consulta.
Casos de uso
- Bloqueo de publicidad y rastreadores en toda la red doméstica o de oficina
- Protección de dispositivos sin capacidad de instalar bloqueadores (smart TVs, consolas, IoT)
- Mejora de la velocidad de navegación mediante caché DNS local
- Control parental básico bloqueando dominios de contenido para adultos mediante listas adicionales
- Reducción de ancho de banda y consumo de datos al evitar descarga de anuncios
- Monitoreo de consultas DNS y detección de dispositivos comprometidos o telemetría excesiva
- Servidor DHCP centralizado con asignación automática de Pi-hole como DNS
Configuración avanzada
Gestión de listas de bloqueo (Gravity)
Actualiza las listas de dominios bloqueados manualmente o programado. El comando `pihole -g` (o `pihole updateGravity`) descarga y compila las listas configuradas en /etc/pi-hole/adlists.list.
Allowlist, Denylist y Regex
Añade dominios a allowlist (permitidos) o denylist (bloqueados) y usa expresiones regulares para bloqueos por patrón. Gestionable vía CLI (`pihole -w`, `pihole -b`, `pihole –regex`) o panel web.
pihole -b rastreo.ejemplo.com
pihole –regex '^ad\.'
Configuración de DNS upstream
Define servidores DNS upstream (Google, Cloudflare, Quad9, personalizados) en /etc/pi-hole/setupVars.conf o mediante el instalador. Soporta DNS over HTTPS (DoH) mediante cloudflared u otros proxies configurados externamente.
PIHOLE_DNS_1=1.1.1.1
PIHOLE_DNS_2=9.9.9.9
Servidor DHCP integrado
Activa el servidor DHCP en Pi-hole para que asigne IPs y configure automáticamente Pi-hole como DNS. Requiere desactivar DHCP en el router. Configurable en /etc/pi-hole/dhcp.conf o panel web.
dhcp-range=192.168.1.100,192.168.1.200,24h
dhcp-option=6,192.168.1.50 # IP de Pi-hole como DNS
API para integraciones propias
Consume la API de FTLDNS para mostrar estadísticas en paneles propios, Home Assistant, Grafana, etc. Endpoints principales: /api/stats/summary, /api/stats/top_clients, /api/stats/top_domains, /api/queries.
Gestión y mantenimiento
Actualización de Pi-hole (core, web, FTL)
Ejecuta el comando de actualización oficial que actualiza todos los componentes (core, interfaz web, FTLDNS) y listas de bloqueo.
Actualización solo de listas de bloqueo (Gravity)
Fuerza la descarga y compilación de las listas de bloqueo sin actualizar el software.
Diagnóstico y depuración
Genera un token de depuración para compartir en foros de soporte. Incluye configuración, logs y estado del sistema (sin contraseñas).
Visualización de log en tiempo real
Muestra las consultas DNS en vivo con indicación de bloqueadas/permitidas. Útil para depurar falsos positivos.
Copia de seguridad de configuración
Los archivos clave están en /etc/pi-hole/: setupVars.conf, adlists.list, regex.list, local.list, dhcp.conf. Haz backup de este directorio.
Reinicio de servicios
Reinicia los servicios DNS (dnsmasq/FTL) y web (lighttpd) tras cambios de configuración manuales.
sudo systemctl restart lighttpd
Stack técnico
- Shell (scripts de instalación y CLI principal)
- dnsmasq (servidor DNS ligero y DHCP opcional)
- FTLDNS (daemon C para estadísticas, API y motor de bloqueo rápido)
- lighttpd (servidor web para interfaz de administración)
- PHP (backend de la interfaz web)
- SQLite (base de datos para consultas y estadísticas a largo plazo)
- JavaScript/Chart.js (frontend del dashboard)
- Docker (imagen oficial multi-arquitectura en docker-pi-hole)
Referencias oficiales
- Repositorio oficial Pi-hole (Core): https://github.com/pi-hole/pi-hole
- Sitio web oficial y documentación: https://pi-hole.net
- Documentación oficial (prerrequisitos, post-instalación, CLI, API): https://docs.pi-hole.net
- Repositorio oficial Docker Pi-hole: https://github.com/pi-hole/docker-pi-hole
- Foro de la comunidad (Discourse): https://discourse.pi-hole.net
- Repositorio FTLDNS (motor de estadísticas y API): https://github.com/pi-hole/ftl
- Repositorio interfaz web (AdminLTE): https://github.com/pi-hole/web
- Guía de instalación automatizada: https://install.pi-hole.net
- Página de donaciones y soporte: https://pi-hole.net/donate
Apoya el canal GENBYTE
¿Te ha sido útil este contenido?
Suscríbete a YouTube
Newsletter GENBYTE
Ko-fi
Contacto: [email protected]
