Pi-hole: cómo bloquear la publicidad en toda tu casa
Instala Pi-hole en un contenedor de Proxmox o en una Raspberry Pi y bloquea anuncios y rastreadores en todos tus dispositivos, incluidos móviles y smart TV, sin instalar nada en ellos.
Este artículo contiene enlaces de afiliado. Si compras a través de ellos, recibo una pequeña comisión sin que te cueste más. Solo recomiendo lo que usaría yo. Más información.
En esta guía
Pi-hole es un servidor DNS que bloquea anuncios y rastreadores para todos los dispositivos de tu casa a la vez: ordenadores, móviles, tablets, consolas y smart TV. No hay que instalar nada en cada aparato, porque el bloqueo se hace en la red.
Es uno de los mejores primeros proyectos para un homelab: es gratis, consume muy poco y te obliga a entender cómo funciona el DNS, algo que vas a usar en cualquier trabajo de sistemas o ciberseguridad.
Cómo funciona
Cada vez que abres una web o una app, tu dispositivo pregunta a un servidor DNS por la dirección IP de cada dominio que necesita: la web, sus imágenes, sus anuncios, sus rastreadores…
Pi-hole se pone en medio. Si el dominio está en una de sus listas de bloqueo, como ads.ejemplo.com, responde que no existe y el anuncio nunca se descarga. Si es un dominio normal, pasa la pregunta a un DNS público y devuelve la respuesta.
| Ventaja | Por qué |
|---|---|
| Funciona en todos los dispositivos | El bloqueo se hace en la red, no en el navegador |
| Las webs cargan más rápido | Se descargan menos anuncios y scripts |
| Más privacidad | Bloquea muchos rastreadores y telemetría |
| Ves qué hace tu red | El panel muestra qué dominios consulta cada dispositivo |
Cuidado
Pi-hole no lo bloquea todo. Los anuncios que se sirven desde el mismo dominio que el contenido, como los de YouTube, no se pueden bloquear por DNS. Para eso sigue haciendo falta un bloqueador en el navegador.Qué necesitas
Pi-hole consume muy poco. Te basta con cualquiera de estas opciones:
- Un contenedor LXC en Proxmox. Si ya tienes tu homelab montado como en la guía del PC viejo, es la opción más cómoda.
- Una Raspberry Pi. Cualquier modelo con red funciona. Si no tienes ninguna, una Raspberry Pi 4 con fuente y caja sobra para esto y puedes usarla para más proyectos.
- Cualquier equipo con Linux encendido todo el día.
Lo importante es que esté siempre encendido: si el Pi-hole se apaga, los dispositivos que lo usen se quedarán sin internet.
Paso 1: crea el contenedor en Proxmox
Si usas una Raspberry Pi, instala Raspberry Pi OS Lite y salta al paso 2.
- En Proxmox, ve a tu almacenamiento local → CT Templates → Templates y descarga la plantilla de Debian estable.
- Pulsa Create CT y rellena:
| Campo | Valor recomendado |
|---|---|
| Hostname | pihole |
| Unprivileged container | Marcado |
| Plantilla | La de Debian que descargaste |
| Disco | 8 GB |
| CPU | 1 núcleo |
| Memoria | 512 MB |
| Red | IP estática, por ejemplo 192.168.1.53/24, con la puerta de enlace de tu router |
| DNS | 1.1.1.1 |
- En Options, activa Start at boot para que arranque solo con Proxmox.
- Arranca el contenedor, entra en su consola y actualiza el sistema:
apt update && apt full-upgrade -y
apt install -y curl
Consejo
La IP tiene que ser fija. Tus dispositivos van a buscar el DNS en esa dirección. Si cambia, se quedan sin internet. Elige una IP fuera del rango que reparte el DHCP de tu router.Paso 2: instala Pi-hole
Pi-hole tiene un instalador oficial. Antes de ejecutar un script descargado de internet, es buena práctica revisarlo:
curl -sSL https://install.pi-hole.net -o instalar-pihole.sh
less instalar-pihole.sh # revísalo y sal con la tecla q
bash instalar-pihole.sh
El asistente te hará varias preguntas. Para empezar:
- Interfaz de red: la única que tengas, normalmente
eth0. - DNS de subida (upstream): el servidor al que Pi-hole pregunta los dominios permitidos. Cloudflare (
1.1.1.1) o Quad9 (9.9.9.9) son buenas opciones. - Lista de bloqueo: acepta la lista por defecto. Luego podrás añadir más.
- Panel web y registro de consultas: déjalos activados.
Al terminar te mostrará la dirección del panel y una contraseña generada. Si quieres cambiarla:
pihole -a -p
Paso 3: entra en el panel
Desde el navegador de otro equipo, abre:
http://192.168.1.53/admin
Cambia la IP por la tuya. Desde la versión 6, Pi-hole trae su propio servidor web integrado y también puede servir el panel por HTTPS con un certificado autogenerado, así que el navegador te avisará de que no es de confianza.
Paso 4: haz que tu red use Pi-hole
Aquí tienes dos opciones:
Opción A: en el router (toda la casa)
Entra en la configuración de tu router, busca el apartado DHCP o LAN y pon la IP de tu Pi-hole como servidor DNS principal.
- No pongas un DNS público como secundario. Muchos dispositivos lo usarían para saltarse el bloqueo.
- Reinicia el wifi de tus dispositivos para que cojan el DNS nuevo.
Cuidado
Algunos routers de operadoras no dejan cambiar el DNS. En ese caso, usa la opción B o activa el DHCP del propio Pi-hole (Settings → DHCP) y desactiva el del router. Hazlo solo si sabes volver atrás.Opción B: solo en algunos dispositivos
Si no puedes tocar el router, o quieres probar primero, cambia el DNS a mano en la configuración de red de tu ordenador o tu móvil y pon la IP del Pi-hole.
Paso 5: comprueba que funciona
- Abre el panel: el contador de consultas debería empezar a subir.
- Visita una web con mucha publicidad. En Query Log verás los dominios bloqueados en rojo.
- Desde un ordenador de tu red, comprueba la resolución con:
nslookup doubleclick.net 192.168.1.53
Si devuelve 0.0.0.0, el bloqueo funciona.
Mantenimiento
Pi-hole casi no necesita atención, pero conviene:
- Actualizarlo de vez en cuando con
pihole -up. - Actualizar las listas con
pihole -g(también se hace solo cada semana). - Añadir excepciones si alguna web o app deja de funcionar: en el Query Log, busca el dominio bloqueado y pulsa para permitirlo.
- No apuntar el propio Proxmox a Pi-hole. Si el contenedor se cae, el servidor se quedaría sin DNS para arreglarlo.
Siguiente paso
Con Pi-hole funcionando ya tienes un servicio de red real en tu homelab. El siguiente paso natural es montar un firewall con OPNsense para separar tu red en zonas, y usar Pi-hole como DNS de todas ellas.