Si estás harto de anuncios invasivos, rastreadores y páginas que cargan lentamente, Pi-hole es la solución definitiva. Se trata de un bloqueador de anuncios a nivel de red que instalarás en tu Raspberry Pi y protegerá todos los dispositivos de tu hogar (móviles, tablets, smart TVs, consolas…) sin necesidad de instalar nada en ellos.
En este tutorial te cuento mi experiencia real instalando Pi-hole usando el método oficial de clonado del repositorio (no el típico curl | bash). Te mostraré los errores que cometí y cómo los solucioné, para que tú no pierdas tiempo.
Requisitos previos
- Una Raspberry Pi (cualquier modelo, incluso una Zero) con Raspberry Pi OS ya instalado y acceso por SSH.
- Conexión a Internet (por cable Ethernet o Wi-Fi).
- Acceso al panel de administración de tu router (para el paso final).
Paso 1: Actualizar el sistema y preparar el terreno
Conéctate a tu Raspberry Pi por SSH y asegúrate de tener todo actualizado:
sudo apt update && sudo apt upgrade -y
Instala git, la herramienta que usaremos para clonar el repositorio:
sudo apt install git -y
Paso 2: Configurar una IP estática (¡obligatorio!)
Tu Raspberry Pi debe tener siempre la misma dirección IP para que los dispositivos de tu red sepan dónde está Pi-hole. Tienes dos opciones:
Opción A (recomendada): Reserva DHCP en el router
Accede a la interfaz web de tu router, busca la sección de «Dispositivos conectados» o «DHCP» y asigna una IP fija a tu Raspberry Pi usando su dirección MAC.
Opción B (desde la terminal): Configurar IP estática en la Raspberry
Si prefieres hacerlo por comandos, usa nmcli (sustituye "Wired connection 1" por el nombre de tu conexión, que verás con nmcli con show):
sudo nmcli con mod "Wired connection 1" ipv4.method manual ipv4.addr 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8
sudo nmcli device reapply eth0
Reinicia para aplicar los cambios: sudo reboot. Luego reconéctate por SSH con la nueva IP.
Paso 3: Clonar el repositorio de Pi-hole
Usaremos el método 2 de la documentación oficial, que descarga el código completo para poder revisarlo antes de instalarlo:
git clone --depth 1 https://github.com/pi-hole/pi-hole.git Pi-hole
El parámetro --depth 1 acelera la descarga al solo obtener la última versión.
Paso 4: Ejecutar el instalador
Entramos en la carpeta del instalador y lo lanzamos con permisos de superusuario:
cd Pi-hole/automated\ install/
sudo bash basic-install.sh
El asistente te hará unas preguntas. Estas fueron mis respuestas:

Comenzamos por la primera pantalla donde nos dice que ¡Este instalador transformará tu dispositivo en un bloqueador de anuncios para toda la red!

Pi-hole es gratuito pero funciona gracias a tus donaciones. Te dan una dirección web para acceder a la zona de ofrendas a los dioses.

En esta ventana nos dice que Pi-hole es un servidor y necesita una Dirección IP estática para funcionar correctamente. Como esto ya lo hicimos en el punto de arriba, damos a Continue.

Dependiendo de si usas la interfaz de wifi (wlan0) o de cable (eth0) elige la que estes usando para conectar tu raspberry a internet. En mi caso usaré eth0 ya que estoy conectado por cable de red a mi router.

Aquí selecciona un proveedor de DNS, si tienes uno propio selecciona Customo. En mi caso como no tengo ninguno propio usaré Cloudflare.

Pi-hole se basa en listas de terceros para bloquear anuncios. Puedes usar la sugerencia a continuación o agregar la tuya propia después de la instalación.
Aquí seleccionamos yes, ya que la lista que trae por defecto es suficiente para empezar a bloquear anuncios.
Las listas de Steven Black (disponibles en GitHub – StevenBlack/hosts) son archivos que consolidan y extienden listados de fuentes confiables para bloquear anuncios, rastreadores y sitios maliciosos. Funcionan a nivel de sistema evitando que tu equipo resuelva las direcciones de dominios no deseados.

Pregunta si quieres activar el registro de consultas (log), pues claro que sí, no seas ridiculo.

Esa pantalla te pregunta qué nivel de detalle quieres ver en las estadísticas de Pi-hole y, sobre todo, qué información quieres que se almacene en los registros (logs).
Yo elegiré la opcion 0 Show everything, ya que muestra y guarda todos los detalles. Verás todas las consultas, los dominios, las IPs de los clientes, etc.. Es la opción perfecta para empezar, ya que te permite entender cómo funciona Pi-hole y ver qué dispositivos están haciendo más consultas. Si estás en un entorno doméstico y quieres máximo control y visibilidad, esta es tu opción.

Pantalla de resumen de la instalación, donde te dice cual es la dirección IP de tu servidor Pi-hole, distintos modos de como acceder a través del navegador y tu da una contraseña temporal para el acceso.
Paso 5: Acceder al panel de administración
Abre tu navegador y ve a:
http://<IP_de_tu_Raspberry>/admin

Inicia sesión con la contraseña temporal. Cámbiala por una segura con:
pihole -a -p
Paso 6: Configurar el router para usar Pi-hole
Ahora, el paso clave para que toda tu red se beneficie:
- Entra en la configuración de tu router.
- Busca la sección de LAN y dentro busca Servidor DHCP.
- Pon como servidor DNS primario la IP estática de tu Raspberry Pi. Así todos los dispositivos que se conecten automáticamente usarán Pi-hole.
- Guarda los cambios y reinicia el router si es necesario.
Paso 7: forzar la actualización de listas.
En la instalación, las listas de Steven Blackno fueron añadidas pero no descargadas ni instaladas.
Desde la terminal, podemos hacerlo de forma rápida con un comando de este modo:
sudo pihole -g
Este comando descarga e instala las listas de bloqueo.
Paso 8: Verificar que el bloqueo funciona.
Para probar, ejecuta desde la terminal de tu Raspberry:
nslookup ad.doubleclick.net 127.0.0.1
Resultado esperado:
raspberry@terrapi:~ $ nslookup ad.doubleclick.net 127.0.0.1
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: ad.doubleclick.net
Address: 0.0.0.0
Name: ad.doubleclick.net
Address: ::
Si ves 0.0.0.0 (o ::), ¡enhorabuena! Pi-hole está bloqueando.
Otra forma gráfica de saber si tu Pi-hole está funcionando correctamente, es pinchando en el siguiente enlace.
https://blockads.fivefilters.org/?pihole
Si todo va bien deberás obtener una pantalla como esta en tu dispositivo.

Otros ajustes.
## Cambia el puerto del servidor.
A partir de la versión 6, Pi-hole dejó de usar lighttpd y ahora incluye su propio servidor web integrado. Para cambiar el puerto del panel de administración en las versiones modernas de Pi-hole, tienes que hacerlo así:
🎯 El método correcto para Pi-hole v6 o superior
La configuración del puerto se encuentra en el archivo /etc/pihole/pihole.toml. Para cambiarlo:
- Abre el archivo de configuración con el siguiente comando:
sudo nano /etc/pihole/pihole.toml - Dentro del archivo, busca la sección
[webserver].
Verás una línea que define el puerto, similar a esta:port = "80o,443os,[::]:80o,[::]:443os"Esta línea configura los puertos para IPv4 e IPv6, tanto HTTP como HTTPS. - Modifica el número de puerto que deseas cambiar. Por ejemplo, para que el panel web use el puerto
8080, la línea quedaría así:port = "8080o,443os,[::]:8080o,[::]:443os" - Guarda los cambios (
Ctrl+O,Enter) y cierra el editor (Ctrl+X). - Para que los cambios surtan efecto, reinicia el servicio de Pi-hole:
sudo systemctl restart pihole-FTL
o usa el comando:
sudo pihole restartdns
A partir de ahora, accederás al panel de administración a través de http://<IP_de_tu_Raspberry>:8080/admin.
## Actualiza tu Pi-hole
A continuación veremos el comando necesario para actualizar todos los componentes de Pi-hole a su última versión.
🔍 ¿Qué hace exactamente?
Al ejecutarlo, el script revisa los repositorios oficiales de los tres componentes principales de Pi-hole:
- Pi-hole Core: El núcleo del software.
- Web Interface: El panel de administración.
- FTL (FTL Engine): El motor DNS que procesa las consultas.
Si detecta una nueva versión disponible, la descarga y la instala automáticamente.
💻 ¿Cómo se usa?
Puedes usar cualquiera de estos dos comandos en la terminal:
sudo pihole updatePihole
o su forma abreviada:
sudo pihole -up
Ambos comandos hacen exactamente lo mismo.
⚠️ Puntos importantes
- Permisos de root: Dependiendo de tu configuración, es posible que necesites ejecutarlo con
sudo. - No actualiza las listas de bloqueo: Este comando solo actualiza el software de Pi-hole. Para actualizar las listas de dominios bloqueados, debes usar
pihole -g(opihole updateGravity).
## Añadir nuevas listas
Las listas de OISD (que significan «Oh, I See, Domains!») son unas listas de bloqueo de dominios muy populares y reconocidas en la comunidad de Pi-hole.
Su filosofía principal es priorizar la funcionalidad para que todo siga funcionando correctamente, evitando los molestos «falsos positivos» que rompen páginas web. De hecho, su lema es que la lista «pasa la prueba de la novia» , lo que significa que es tan fiable que una persona no técnica ni siquiera notará que está activa, más allá de que los anuncios desaparecen.
Añadir las listas de OISD a Pi-hole es muy sencillo. Solo tienes que añadirlas como cualquier otra lista de bloqueo. Te explico cómo hacerlo en tu versión 6.
Existen cuatro listas diferentes, pero lo normal es usar solo una de cada categoría, ya que son acumulativas:
https://big.oisd.nl: Es la lista completa. Bloquea anuncios, rastreadores, malware, phishing y telemetría. (No incluye contenido NSFW).https://small.oisd.nl: Es una versión más ligera que se centra principalmente en anuncios. Está incluida en la listabig.https://nsfw.oisd.nl: Bloquea sitios para adultos (pornografía, shock, etc.).https://nsfw-small.oisd.nl: Versión más ligera de la lista NSFW. Está incluida en la listansfw.
Método 1: Añadir las listas desde la interfaz web (Recomendado)
- Abre el panel de administración de Pi-hole:
http://<IP_de_tu_Raspberry>/admin - En el menú lateral, ve a «Group Management» y luego haz clic en «Adlists».
- En el campo «Address», pega la URL de la lista que quieras usar (por ejemplo,
https://big.oisd.nl). - Haz clic en el botón «Add».
- Actualiza la lista de bloqueo: Ve a «Tools» y haz clic en «Update Gravity», o ejecuta el comando
pihole -gen la terminal.
Método 2: Añadir las listas desde la terminal (CLI)
Si prefieres usar la terminal, puedes añadir las listas con el siguiente comando (reemplaza "https://big.oisd.nl" por la URL que prefieras):
pihole -a adlist add "https://big.oisd.nl"
Después, actualiza Gravity para que los cambios surtan efecto:
pihole -g
⚠️ Un par de detalles importantes
- Versión de Pi-hole: Asegúrate de que tu Pi-hole está actualizado. Estas listas requieren FTL v5.22, Web v5.19 y Core v5.16.1 o superior. Como tienes la versión 6, estás sobradamente cubierto.
- Número de dominios: Justo después de añadir la lista, es posible que Pi-hole muestre
0 dominiosen el contador. Es un problema visual conocido. No te preocupes, la lista se ha añadido correctamente y los dominios se cargarán al actualizar Gravity.
Con estos pasos, ya tendrás una de las listas de bloqueo más completas y con menos falsos positivos de toda la comunidad Pi-hole.
## Lista de permitidos (allowlist)
En Pi-hole v6, el concepto de «lista blanca» (whitelist) ha pasado a llamarse oficialmente «lista de permitidos» (allowlist).
Dominios habituales en la lista blanca. Pincha aquí
Tienes varias formas de añadir dominios a esta lista, tanto desde la interfaz web como desde la terminal.
Te explico cada una:
🔧 Método 1: Desde la terminal (CLI) – El más rápido
La forma más directa es usar el nuevo comando pihole allow.
Añadir un solo dominio:
pihole allow dominio.com
Añadir varios dominios a la vez:
pihole allow dominio1.com dominio2.com dominio3.com
Eliminar un dominio de la lista de permitidos:
pihole allow remove dominio.com
Ejemplo práctico con algunos de los dominios que menciona el hilo de Discourse:
pihole allow clients4.google.com clients2.google.com s.youtube.com video-stats.l.google.com
Nota: El comando
pihole allowes el equivalente moderno al antiguopihole -wde versiones anteriores.
🖥️ Método 2: Desde la interfaz web (GUI) – El más visual
- Abre el panel de administración de Pi-hole:
http://<IP_de_tu_Raspberry>/admin - En el menú lateral, haz clic en «Lists» (Listas).
- Verás dos secciones: «Allowlist» (Lista de permitidos) y «Denylist» (Lista de denegados).
- En la sección Allowlist, escribe el dominio que quieras permitir en el campo de texto.
- Haz clic en «Add Allowlist» (Añadir a la lista de permitidos).
Puedes añadir varios dominios separados por espacios o cada uno en una línea nueva.
📋 Método 3: Importar una lista completa (recomendado para muchos dominios)
Pi-hole v6 permite suscribirte a listas de permitidos públicas, igual que ya se hacía con las listas de bloqueo.
- Ve a «Lists» en el panel web.
- En la sección «Allowlist», encontrarás un campo para añadir una URL de lista de permitidos.
- Introduce la URL de la lista (por ejemplo, la del repositorio comunitario).
- Haz clic en «Add Allowlist».
- Ejecuta
pihole -g(opihole gravity) para que Pi-hole procese la nueva lista.
⚠️ Importante: Los dominios se asignan al grupo «Default»
Por defecto, cuando añades un dominio a la lista de permitidos, este se asocia al grupo «Default» (por defecto). Si quieres que se aplique a otros grupos, tendrás que ir a Group Management > Domains dentro de la interfaz web y asignarlos manualmente.
📝 Resumen rápido
| Acción | Comando (terminal) | Ruta en web |
|---|---|---|
| Añadir dominio | pihole allow dominio.com | Lists > Allowlist > Añadir dominio |
| Añadir varios | pihole allow dom1.com dom2.com | Lists > Allowlist > Añadir separados por espacio |
| Eliminar dominio | pihole allow remove dominio.com | Lists > Allowlist > Botón eliminar |
| Importar lista | pihole -g (tras añadir URL) | Lists > Allowlist > Añadir URL |
Ahora ya sabes dónde y cómo añadir esos dominios comunes a tu lista de permitidos en Pi-hole v6. ¡A disfrutar de una navegación sin bloqueos falsos!
Conclusión
Instalar Pi-hole en una Raspberry Pi ha sido una experiencia mucho más gratificante de lo que esperaba. No solo he conseguido eliminar anuncios y rastreadores en toda mi red doméstica, sino que también he aprendido conceptos fundamentales de redes como el DNS, las IP estáticas y la gestión de servidores.
Lo que empezó como un simple proyecto técnico se convirtió en una oportunidad para entender cómo funciona Internet a nivel local y, de paso, mejorar la privacidad y velocidad de navegación de todos los dispositivos de mi casa.
¿Dudas? Déjalas en los comentarios y te ayudaré encantado. ¡Feliz bloqueo!