Introducción
Esta guía te enseña a convertir una Raspberry Pi en un bloqueador de anuncios y rastreadores para toda tu red doméstica. Sin servicios externos ni cuotas mensuales.

Lo que vas a conseguir:
- Bloquear rastreadores invisibles (Google Analytics, Facebook Pixel…)
- Eliminar redes de anuncios (DoubleClick, Criteo, Taboola…)
- Cortar telemetría no deseada (Windows, Smart TVs, Apple…)
- Protección contra malware y phishing
Importante:Pi-hole bloquea a nivel DNS, lo que significa que NO puede bloquear anuncios de YouTube (por ejemplo, ya que provienen del mismo dominio que los vídeos). Para eso necesitarás un navegador al que instalar la extensión uBlock Origin. Personalmente uso Librewolf (que ya la trae de serie), un fork de Firefox pensado en la privacidad, y/o Brave, un fork de Chromium con su propio bloqueador llamado Brave Shields. Pi-hole y estos navegadores son capas totalmente complementarias.
- Tiempo estimado: 1 hora
- Dificultad: Principiante (sin miedo a la terminal)

Requisitos
- Raspberry Pi (cualquier modelo, hasta las de 512MB sirven). Puedes encontrarlas en Wallapop muy baratas.
- Tarjeta microSD (8GB mínimo)
- Cargador USB (dependiendo del modelo de la pi conviene más uno u otro)
- Cable ethernet (para conectarla al router)
- Teclado y pantalla HDMI (solo para el setup inicial)
- Tu ordenador (para controlarla por SSH después)
Conceptos básicos
¿Qué es DNS?
La "guía telefónica" de internet. Traduce google.com → 142.250.185.46.
¿Qué hace Pi-hole?
Un agujero negro para los anuncios. Es un servidor DNS con lista negra: cuando algo en tu red pregunta "¿dónde está ads.facebook.com?", Pi-hole responde: "No sé de qué me hablas".
Paso 1: Preparar la tarjeta SD
- Descarga Raspberry Pi Imager
- Conecta la SD a tu ordenador y abre Imager
- OS: Raspberry Pi OS (other) → Raspberry Pi OS Lite (32 o 64-bit, según tu modelo)
- Storage: tu SD
- Write → Espera unos minutos
Una vez terminado, saca la SD de tu ordenador.
Paso 2: Primer arranque con teclado y pantalla
- Inserta la SD en la Pi
- Conecta el cable ethernet al router
- Conecta teclado USB y cable HDMI a una pantalla
- Enchufa el cargador y espera a que arranque
La primera vez tendrás que crear usuario y contraseña. Apúntala bien.
Paso 3: Habilitar SSH
SSH (Secure Shell) es un protocolo que te permite controlar la Pi desde tu ordenador de forma remota y segura, sin necesidad de teclado ni pantalla conectados a ella.
sudo raspi-configNavega con las flechas: Interface Options → SSH → Yes → Finish
Ahora averigua la IP de tu Pi:
hostname -I Te dará algo como 192.168.1.50. Apúntala. Luego apaga la Pi y desconecta teclado y pantalla:
sudo shutdown nowVuelve a enchufarla, solo con el cable ethernet conectado al router.
Paso 4: Conectarte por SSH desde tu ordenador
Linux/Mac: SSH viene preinstalado, abre la terminal. Windows 10/11: SSH viene preinstalado, abre PowerShell o CMD. Windows antiguo: descarga PuTTY si ssh no funciona.
ssh pi@192.168.1.50 La primera vez te pregunta si confías en el host → escribe yes. Introduce la contraseña que configuraste. El resto de pasos los harás desde aquí.
Paso 5: Actualizar el sistema
sudo apt update && sudo apt upgrade -yEsto puede tardar unos minutos
Paso 6: Instalar Pi-hole
curl -sSL https://install.pi-hole.net | bashEl wizard interactivo te preguntará lo siguiente:
- Static IP? → Continue
- Upstream DNS: Quad9 (filtered, DNSSEC) ← Recomendado. Quad9 es un servidor DNS público centrado en privacidad y seguridad que filtra dominios maliciosos conocidos.
- IPv4/IPv6: IPv4 (o ambos) panel web de Pi-hole y AdGuard Home con estadísticas de consultas DNS bloqueadas, añadir listas StevenBlack hosts y router OpenWrt/li>
- Static IP confirm: Yes
- Web interface: Yes
- Web server: Yes
- Log queries: Yes (Show everything)
- Privacy mode: Show everything (0)
Al final te da una contraseña para el panel web. ¡Guárdala!
Paso 7: Añadir listas de bloqueo
Por defecto Pi-hole viene sin listas. Gravity es el sistema de Pi-hole que descarga y compila las listas de bloqueo en una base de datos local. Vamos a añadir una manualmente desde el panel web:
- Abre en tu navegador:
http://IP-DE-TU-PI/admin - Login con la contraseña que te dio al instalar
- Group Management → Adlists
- Pega esto en Address:
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts - Add → Tools → Update Gravity → Update
Verifica que funciona desde la terminal SSH:
sudo pihole -q doubleclick.netDebería decir que está en la lista de bloqueo.
Paso 8: Configurar tu router para usar Pi-hole
Ahora viene la magia: hacer que todos los dispositivos de tu red usen Pi-hole como DNS.
Importante: Pi-hole NO afecta automáticamente a todos tus dispositivos. Solo funcionará en aquellos que obtengan su DNS desde el router. Si algún dispositivo tiene configurado manualmente un DNS como 8.8.8.8 de Google, ese dispositivo NO pasará por Pi-hole.
La interfaz del router varía mucho según la marca y modelo. El concepto es el mismo: busca donde se configura el DNS.
- Accede al panel de tu router, normalmente en
192.168.1.1,192.168.0.1,192.168.1.254o192.168.0.254. El usuario y contraseña suelen estar en la etiqueta del router. - Busca la sección DHCP / LAN / DNS. Algo como "DHCP Server", "LAN Settings", "DNS Settings", "Primary DNS / Secondary DNS".
- DNS Primario: IP de tu Pi (ejemplo:
192.168.1.50) - DNS Secundario: La misma IP de tu Pi (ejemplo:
192.168.1.50) - Guarda y reinicia el router.
Sobre el DNS secundario: Mucha gente piensa que es un "backup" por si el primario falla. Eso NO es cierto. Los dispositivos pueden usar cualquiera de los dos aleatoriamente. Si pones 8.8.8.8 en el secundario, muchas consultas irán directamente a Google y Pi-hole no las verá ni las bloqueará. Por eso es fundamental poner la IP de tu Pi en ambos.
En mi experiencia, configurar solo el router no fue suficiente. También tuve que configurar el DNS manualmente en cada dispositivo:
- Linux: Configuración de red → Tu conexión → IPv4 → DNS
- Windows: Panel de Control → Centro de redes → Adaptador → Propiedades → IPv4 → DNS
- Mac: Preferencias del Sistema → Red → Tu conexión → Avanzado → DNS
- Android/iOS: Ajustes WiFi → Tu red → Configurar DNS → Manual
En todos los casos, pon la IP de tu Pi en primario y secundario.
Paso 9: Verificar que funciona
Test 1:
nslookup doubleclick.net Debe salir Server: 192.168.1.50 y Address: 0.0.0.0 (bloqueado). Si sale otro servidor, tu dispositivo NO usa Pi-hole.
Test 2: Visita http://doubleclick.net en el navegador. Debería dar error.
Test 3: Panel web http://IP-PI/admin → Tools → Query Log. Navega por internet y verás líneas permitidas y bloqueadas.
Gestión y solución de problemas
Comandos básicos:
pihole status # Ver estado de Pi-hole
sudo pihole -g # Actualizar listas (hazlo 1 vez al mes)
pihole -q dominio.com # Comprobar si un dominio está bloqueado
pihole -w dominio.com # Añadir a whitelist (desbloquear)
pihole -t # Ver queries en tiempo real
pihole -up # Actualizar Pi-hole a última versiónProblemas comunes:
- Mis dispositivos no usan Pi-hole: Reinicia router y dispositivos. Verifica que configuraste la IP de la Pi en primario Y secundario.
- Pi-hole dejó de funcionar tras reiniciar la Pi: El router le asignó una IP diferente. Busca en tu panel "DHCP Reservation" o "Static Leases" y fija siempre la misma IP a la dirección MAC de la Pi (puedes verla con
ip link show eth0, línealink/ether). - Firefox ignora Pi-hole: Tiene DNS-over-HTTPS activado. Desactívalo en Configuración → buscar "DNS" → DNS sobre HTTPS: Desactivado.
- Una web/app dejó de funcionar: Falso positivo. Desde el panel web: Query Log → click en el dominio bloqueado → Whitelist. O por terminal:
pihole -w dominio-legitimo.com
Mantenimiento regular:
- Actualiza listas 1 vez al mes:
sudo pihole -g - Haz backup de tu configuración: Panel web → Settings → Teleporter → Backup
Bonus: Pi-hole + Tailscale (úsalo fuera de casa)
Si ya tienes Tailscale configurado, puedes hacer que Pi-hole funcione incluso fuera de casa (trabajo, hotel, datos móviles).
# 1. Instala Tailscale en la Pi
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
# 2. Apunta la IP Tailscale de tu Pi (100.x.x.x)
# Ve a login.tailscale.com/admin/dns y añade esa IP como DNS.Resultado: rastreo bloqueado estés donde estés.
Si Tailscale interfiere con Pi-hole local: sudo tailscale set --accept-dns=false

Fin
Ya tienes tu propio bloqueador de anuncios y rastreadores funcionando en una Raspberry Pi reciclada. Sin cuotas, sin servicios de terceros, 100% bajo tu control.
Ahora entra al Query Log y descubre qué empresas te seguían sin que lo supieras. Prepárate para sorprenderte.
Si tienes cualquier duda, estaremos encantados de que contactes e intentemos resolver cualquier problema que te surja.
Lo invisible se hace visible.
Pero antes de despedirnos, un apunte personal: actualmente uso un router GL.iNet Flint 2 y en él tengo AdGuard Home corriendo directamente en el router. Sin Raspberry Pi. Sin pasos extra. AdGuard Home viene integrado en el firmware de GL.iNet y se activa desde el panel del propio router; desde ahí puedes añadir las mejores listas de bloqueo con un par de clics. Si ya tienes Pi-hole funcionando, genial. Si estás pensando en renovar el router de todas formas, un GL.iNet es un buen paso: estos routers vienen con OpenWrt, la distribución Linux para routers más conocida y respetada, lo que te da bloqueo de anuncios y rastreo directamente en el hardware de red, además de un control total sobre tu red doméstica.