Pi-hole: sin anuncios ni rastreadores en toda tu red
Básico
Los pasos marcados en azul cambian según tu sistema.
Cada vez que un aparato de tu casa abre una web o una app, antes pregunta por los nombres de los servidores a los que se va a conectar: el del contenido y, de paso, los de tres agencias de publicidad, dos de analítica y el de la telemetría del fabricante. Pi-hole se pone en medio de esas preguntas. Cuando un nombre está en sus listas de anuncios y rastreadores, contesta que no existe, y la conexión no llega a producirse.
Lo bueno es dónde actúa: en la red, no en cada aparato. Protege a la vez el móvil, el portátil, la tele, la consola y ese altavoz «inteligente» en los que no puedes instalar un bloqueador. Las webs cargan más rápido, gastas menos datos y, sobre todo, se cuela mucho menos rastreo en tu casa.
Tiene sus límites. No puede quitar los anuncios que vienen del mismo servidor que el contenido, como los de YouTube, así que no sustituye a un bloqueador en el navegador como uBlock Origin: lo complementa.
Lo que necesitas
- Una máquina siempre encendida en tu red con Debian, Raspberry Pi OS o Ubuntu: una Raspberry Pi (vale hasta una Zero 2 W), un ordenador viejo o una máquina virtual. Pi-hole consume muy poco. También funciona en Fedora, CentOS Stream, Alpine o en Docker; aquí seguimos el camino más habitual.
- Un usuario con
sudoen ella. - Acceso a la configuración de tu router.
Nunca abras Pi-hole a internet. Un servidor DNS que responde a cualquiera acaba usado para ataques de denegación de servicio contra terceros. Si lo instalas en un servidor en la nube, ciérralo al público y úsalo a través de tu propia VPN con WireGuard.
Paso 1: una dirección fija
Todos los aparatos de casa van a preguntar a Pi-hole, así que su dirección no puede cambiar. Averigua cuál tiene ahora y la dirección física (MAC) de su tarjeta de red:
ip -brief address
ip -brief link
eth0 UP 192.168.1.53/24
eth0 UP dc:a6:32:12:34:56 <BROADCAST,MULTICAST,UP,LOWER_UP>
Entra en tu router, busca la sección de DHCP (puede llamarse «reserva de IP», «IP estática» o «DHCP estático») y reserva esa dirección para esa MAC. En este tutorial, Pi-hole estará en 192.168.1.53.
Paso 2: el puerto 53
Pi-hole necesita el puerto 53, el del DNS. Comprueba que no lo está usando nadie:
sudo ss -tulpn 'sport = :53'
Si no sale nada, adelante. Si lo ocupa BIND (porque seguiste tu propio DNS en casa con BIND en esta misma máquina) o dnsmasq, tendrás que elegir: dos servidores DNS no pueden escuchar en el mismo puerto.
Ubuntu
En Ubuntu, lo normal es ver ahí systemd-resolved, el resolvedor del propio sistema, escuchando en 127.0.0.53. El instalador de Pi-hole 6 suele apartarlo él solo. Si al acabar te dice que el puerto 53 está ocupado, apágale la escucha tú:
sudo mkdir -p /etc/systemd/resolved.conf.d
sudo nano /etc/systemd/resolved.conf.d/pihole.conf
/etc/systemd/resolved.conf.d/pihole.conf
[Resolve]
DNSStubListener=no
Como /etc/resolv.conf apunta a esa escucha que acabas de quitar, haz que apunte a la lista de servidores real y reinicia el servicio:
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
sudo systemctl restart systemd-resolved
Debian
En Debian y Raspberry Pi OS, lo normal es que el puerto esté libre.
Paso 3: instalar
Pi-hole se instala con un script. La página oficial propone descargarlo y ejecutarlo en una sola orden, pero un programa que va a correr como administrador merece un vistazo antes. Descárgalo, échale un ojo y ejecútalo:
curl -sSL https://install.pi-hole.net -o instalar-pihole.sh
less instalar-pihole.sh
sudo bash instalar-pihole.sh
El instalador te hará unas preguntas:
- DNS de origen (upstream): a quién preguntará Pi-hole los nombres que no bloquea. Quad9 es una buena opción: sin ánimo de lucro, con sede en Suiza, sin registros de tus consultas y con DNSSEC.
- Listas de bloqueo: acepta la que propone; añadirás más desde el panel.
- Registro de consultas y nivel de privacidad: Pi-hole puede guardar cada nombre que pide cada aparato. Es útil para encontrar qué se ha bloqueado de más, pero es también un diario detallado de lo que hace cada persona de tu casa. Elige un nivel que respete a quien viva contigo; puedes cambiarlo después.
Al acabar, te enseñará la dirección del panel y una contraseña generada. Pon una tuya:
sudo pihole setpassword
Paso 4: el cortafuegos
Si usas UFW, abre el DNS y el panel solo a tu red local (cambia el rango por el tuyo):
sudo ufw allow from 192.168.1.0/24 to any port 53
sudo ufw allow from 192.168.1.0/24 to any port 80,443 proto tcp
Si más adelante haces que Pi-hole reparta también las direcciones de la red (su servidor DHCP), abre además el puerto 67: sudo ufw allow 67/udp.
Paso 5: comprobar que bloquea
Desde otro ordenador de la red, pregunta a Pi-hole por un dominio de publicidad conocido:
dig @192.168.1.53 doubleclick.net
;; ANSWER SECTION:
doubleclick.net. 2 IN A 0.0.0.0
La respuesta 0.0.0.0 significa «aquí no hay nada». Bloqueado. Con un dominio normal, como cableando.net, debe devolver su IP de verdad. En Windows, el equivalente es nslookup doubleclick.net 192.168.1.53.
Paso 6: que toda la casa lo use
Ahora, que todos los aparatos le pregunten a Pi-hole. La forma más limpia es decírselo al router: en la configuración de la red local o del servidor DHCP, pon la dirección de Pi-hole como servidor DNS y deja vacío el secundario. Si pones un DNS público como secundario, los aparatos lo usarán cuando les parezca y se saltarán el bloqueo.
Desconecta y vuelve a conectar un aparato a la wifi para que reciba la configuración nueva, y mira cómo se llena el panel.
Si tu router no deja cambiar el DNS, algo habitual en los que entregan los operadores, tienes dos salidas: apagar el DHCP del router y dejar que lo haga Pi-hole (en su panel, Settings > DHCP), o poner el DNS a mano en cada aparato.
Ojo con dos atajos que se saltan Pi-hole:
- El DNS privado de Android. En Ajustes, busca «DNS privado»: si tiene un proveedor escrito, como
dns.google, el móvil no preguntará a Pi-hole. Déjalo en automático. - El DNS cifrado de los navegadores. Firefox y Chrome pueden mandar sus consultas cifradas a su propio proveedor. Pi-hole bloquea el dominio con el que Firefox decide si activarlo; en el resto, revisa la opción «DNS seguro» de los ajustes.
Paso 7: el panel
Entra en http://192.168.1.53/admin. Lo más útil:
- Dashboard: cuántas consultas has hecho hoy y qué porcentaje se ha bloqueado. No te sorprendas si pasa del 20 %.
- Query Log: cada consulta, con su aparato y su respuesta. Es el sitio al que ir cuando algo deja de funcionar.
- Lists: las listas de bloqueo. Para algo más completo que la de serie, las de Hagezi son muy recomendables. Añade, por ejemplo,
https://raw.githubusercontent.com/hagezi/dns-blocklists/main/adblock/pro.txty actualiza conpihole -g.
Cuando una web o una app se rompa porque bloqueas de más, busca en el registro qué dominio se bloqueó justo en ese momento y permítelo:
pihole allow ejemplo.com
Y si necesitas apagar el bloqueo un rato, pihole disable 5m lo desactiva cinco minutos.
Mantenimiento
pihole -upactualiza Pi-hole.- Las listas se actualizan solas una vez por semana;
pihole -glo hace en el momento. - En el panel, Settings > Teleporter guarda toda la configuración en un archivo. Hazlo de vez en cuando y guárdalo fuera de la máquina.
Listo
Toda tu casa navega con menos anuncios y mucho menos rastreo, sin instalar nada en ningún aparato. Para llevarte esa protección fuera de casa, haz que tu VPN con WireGuard use Pi-hole como servidor DNS. Y si quieres saber qué aparatos le están preguntando, haz inventario con ¿quién está conectado a tu wifi?.
