Homelab

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.

Por Alejandro · · 5 min

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.

VentajaPor qué
Funciona en todos los dispositivosEl bloqueo se hace en la red, no en el navegador
Las webs cargan más rápidoSe descargan menos anuncios y scripts
Más privacidadBloquea muchos rastreadores y telemetría
Ves qué hace tu redEl 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.

  1. En Proxmox, ve a tu almacenamiento local → CT Templates → Templates y descarga la plantilla de Debian estable.
  2. Pulsa Create CT y rellena:
CampoValor recomendado
Hostnamepihole
Unprivileged containerMarcado
PlantillaLa de Debian que descargaste
Disco8 GB
CPU1 núcleo
Memoria512 MB
RedIP estática, por ejemplo 192.168.1.53/24, con la puerta de enlace de tu router
DNS1.1.1.1
  1. En Options, activa Start at boot para que arranque solo con Proxmox.
  2. 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

  1. Abre el panel: el contador de consultas debería empezar a subir.
  2. Visita una web con mucha publicidad. En Query Log verás los dominios bloqueados en rojo.
  3. 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.