Tecnología

Probando (por fin) Pi-hole

·

Es de esas cosas que tenía pendientes desde hace un montón, y que no acababa de hacer por pura pereza. Afortunadamente un lector (gracias, Raf) me mandó un correo contándome su experiencia con Pi-hole y animándome a ello, así que este fin de semana tuve un momento de fortaleza suprema y logré lanzarme a la tarea. Las tentaciones de procrastinar una vez más eran poderosas, pero fui fuerte y las resistí. Qué tío. Cómo soy.

El caso es que como esperaba, la puesta en marcha de este invento es una verdadera estupidez. Tengo varias RPi danzando por casa, y de hecho la primera duda es si esto tiraría en la original, la Raspberry Pi (1) Model B. No lo tenía demasiado claro, pero en el foro de Pi-hole decían que sí.

Así pues decidí desempolvar esta vieja conocida -ostras, usa SD y no micro SD, qué curioso- y después de usar SD Card Formatter en Windows 10 para formatear una micro SD que tenía a mano (especialmente útil porque da igual que W10 no reconozca bien posibles particiones Linux en ella) me bajé el instalador de Raspberry Pi OS desde el sitio web oficial y lo ejecuté. El proceso es más cómodo que el antiguo de instalar Raspbian (su antiguo nombre) porque el propio instalador incluye una especie de Etcher que escribe la imagen en la tarjeta y la deja preparadita.

A los pocos minutos tenía la micro SD preparada, y tras introducirla en un adaptador SD y en la RPi Model B la conecté a un monitor HDMI y a un teclado y ratón. Una vez iniciado todo noté dos cosas: la primera, que la Raspberry Pi, la pobre, va un poco a pedales (lógico, chavales, ha pasado casi una década), y dos, y más importante:

Que procrastinar es una estupidez.

Sobre esto ya haré post vital más adelante, que sigo. Con Raspbian Raspberry Pi OS rulando —la interfaz gráfica va a pedales en la RPi Model B original, insisto— el resto fue una chorrez. Activé SSH para poder hacerlo todo desde mi portátil y una terminal en lugar de andar toqueteando la RPi. Me conecté con Putty y seguí los pasos del tutorial oficial.

Uy perdón. ¿He dicho «los pasos»? Pues no. Solo hay uno. Con escribir

curl -sSL https://install.pi-hole.net | bash

se ejecuta el script de instalación que hace todo lo que tiene que hacer de forma automatizada. En la Raspberry Pi original, eso sí, ese proceso lleva algo de tiempo (¿15-20 minutos? no sabría decirlo) que finalmente permiten llegar a la deseada pantalla de confirmación de que todo está preparado (y una contraseña para acceder a todas las opciones del panel de administración).

Tras ese mensaje solo hace falta dos cosas:

  1. Pinchar la RPi a la red si no lo habías hecho: da igual donde lo hagas. Yo probé primero conectándola al switch que tengo en el despacho, y en el proceso de instalación se autoconfigura la RPi para que use una IP estática del tipo 192.168.1.XX.
  2. Configurar las propiedades del adaptador de red: en Windows 10, desde las propiedades de la conexión de red que uses, basta con ir al apartado de IPv4 y establecer los DNS manualmente. El primero debe ser ese 192.168.1.XX de la RPi para que todo el tráfico pase por allí. El segundo puede ser cualquiera, yo puse el 1.1.1.1 de Cloudflare, pero está bien poner uno por si la conexión con la RPi falla por algún motivo. Puedes hacer lo propio en móviles con iOS y Android o en equipos macOS y Linux, evidentemente. Hay otros métodos para añadir clientes que bloqueen anuncios, como por ejemplo configurar el router directamente. Lo explican aquí.

No hay mucho más, porque a partir de ese momento todo el tráfico pasa primero por la Raspberry Pi, que actúa como «agujero» —de ahí el nombre— para ese tráfico no deseado en forma de publicidad o scripts que no molan. Puedes acceder en todo momento al panel de administración, que te irá diciendo cuántas peticiones ha detectado y cuántas ha bloqueado, además de un completo registro de todo que maravilla porque, atención, todo rula en una Raspberry Pi Model B de 2012 con un Broadcom BCM2835 mono-core a 700 MHz acompañado de 512 MB de RAM.

Es alucinante que todo vaya lo bien que va. Efectivamente la promesa se cumple, y aunque al principio tuve algún problema raro —se bloqueaba la cosa y no acababa de acceder a los sitios web que probaba durante varios segundos— la cosa ha ido suave a partir de entonces.

Aquí debo decir que es algo extraño que yo use algo así porque me estoy tirando piedras contra mi propio tejado: vivo literalmente de la publicidad, porque Xataka vive de la publicidad. No obstante, Pi-hole permite crear listas blancas en las que puedes incluir webs cuya publi no acaba en ese agujero negro, lo cual mola. Lo he hecho en Xataka, por ejemplo, pero también lo he tenido que hacer con algunas que no funcionan de plano (ni los anuncios ni lo que no son anuncios), como ocurre con webs de analítica y estadísticas de tráfico como mi querido Statcounter. Aquí la técnica es siempre la misma: si no pirula y necesito que pirule la meto en las listas blancas —supongo que acabarán cambiándolas de nombre— y a tirar millas.

No he indagado mucho más, pero las opciones de Pi-hole son sorprendentes: si algo no te funciona pero necesitas que lo haga momentáneamente puedes deshabilitar Pi-Hole durante 5, 10, 30 segundos o 5 minutos, por ejemplo, hacer lo que tengas que hacer en esa web sin meterla en la lista blanca y luego seguir con el bloqueo general. La información que se registra es espectacular —demasiada para mi gusto, de hecho— y este es uno de esos proyectos que te hacen darte cuenta de lo mucho que hace algo tan aparentemente tonto como esto.

Sencillamente fabuloso. Pon un Pi-hole en tu vida.

¿Quieres recibir un correo de aviso cuando publique nuevas entradas?

Standard

26 comentarios en “Probando (por fin) Pi-hole

    • La tele no la tengo conectada a internet (tengo un set-top-box para eso), pero tampoco tengo intención de analizar mucho, era más por ponerlo en marcha todo y librarme de publi no deseada.

  1. FaloGalego dice:

    Ahora puedes añadir listas de páginas para aumentar la efectividad de bloqueo, yo estoy contento con esta: https://dbl.oisd.nl
    En mi caso lo he instalado en docker lo que me permite tener más servicios rulando en la RBP, y la actualización es tan sencilla como bajarse la nueva imagen asociarla al contenedor y listo.
    Si le añades a la ecuación portainer, perfecto.

    Disfrutalo.

    • Gracias por el dato Falogalego, un día me hacéis una masterclass de Docker que estoy totalmente pez en tema contenedores y me da perezón ponerme con ello (otra de las cosas pendientes). Me parece un tema chulo pero como digo no piloto nada así que de momento me conformo con cómo tira ahora.

    • Tzinm dice:

      Pi-hole está genial, te permite tener un bloqueador de publicidad a nivel de red, lo que evita la necesidad de instalar extensiones en los navegador y aplicaciones en los dispositivos móviles.

      Además, si quieres que el bloqueo se extienda cuando te encuentras fuera de casa, es decir fuera de tu red local, puedes conectarte a través de VPN que el bloqueo de publicidad seguirá funcionando (ver https://www.pivpn.io/).

      En mi caso también lo tengo configurado en un contenedor Docker. He configurado el router para que las DNS apunten al contenedor con Pi-hole, de ese modo evito tener que modificar las DNS de todos los dispositivos.

      Actualizar un contenedor es sencillo, pero si quieres automatizar el proceso hay dos proyectos interesantes que están disponibles en el repositorio de DockerHub, Watchtowe y Ouroboros.

  2. Jher dice:

    Hola Javi!! Hace tiempo que estoy interesado en pillarme una raspberry y probar lo del PiHole. Qué ventajas ves con modificar directamente el archivo de hosts del sistema operativo?

  3. Guillermo dice:

    Leí el titulo y los párrafos iniciales y me resulto muy divertido, este fin de semana (después de meses con la idea en mente) me decidí e instale PiHole, también en una Rpi1-512mb

    Mi experiencia no fue la esperada. La idea era filtrar publicidad de Y0uTube en una TV y en celular con Andriod, seguí los pasos de configuración, incluso agregué una lista en PiHole que supuestamente era necesaria para filtrar esos avisos.. pero nada, siguen apareciendo.

    A ver si alguien ha tenido mas suerte que yo en eso y puede indicar que habría que hacer.

    Salu2

      • Guillermo dice:

        Ok gracias. Si viendo los comentarios mas recientes queda claro que G00gle no permitirá que este bloqueo sea tan sencillo. Hoy en la app de Andriod no se abrían algunos vídeos, así que volví a como estaba antes de PiHole. En la TV siguen apareciendo anuncios (antes de cada vídeo, uno o incluso 2), así que tampoco ahí he notado un cambio. Gracias de todas formas. Salu2

    • FaloGalego dice:

      La publi que aparece en medio de los videos a mi no me sale, aparece la marca amarilla en la barra de reproducción y al llegar a ella continua sin publi. Otro tema es el anuncio que aparece antes de reproducir el video, ese me lo trago.
      También he notado diferencias en si reproduces desde una TV, PC o tableta.

  4. Iván López dice:

    Yo llevo usando PiHole más de un año y es una delicia.

    Añado unos comentarios para hacerlo todavía mejor:

    – Usa tu propio servidor de DNS-over-HTTPS de tal forma que ni siquiera tu ISP puede ver las peticiones DNS que haces: https://scotthelme.co.uk/securing-dns-across-all-of-my-devices-with-pihole-dns-over-https-1-1-1-1/

    – En lugar de cambiar la configuración en los dispositivos, desactiva el DHCP del router y usa el que tiene Pihole. Es muchísimo más flexible y configurable que el de los routers que nos ponen las operadoras de telefonía. Como bonus, puedes ver el nombre de los equipos en las estadísticas de Pihole.

    – A partir de la versión 5 han añadido grupos de equipos y la posibilidad de asignar reglas distintas a dichos equipos. Esto permite que, por ejemplo, puedas desactivar ciertos dominios en las IPs de los niños para que siempre fallen pero que desde tu PC funcione sin problema.

    – Para que la SD dure más es muy aconsejable instalar esto: https://github.com/azlux/log2ram

    – Como ya te han dicho, hecha un vistazo a las peticiones que hacen los distintos cacharros que tienes en casa. Yo me he quedado flipado con la cantidad de peticiones que hace el FireTV.

    – OpenVPN + PiHole es un killer combo: Cada vez que salgo de casa enciendo los datos del móvil y me conecto a la VPN. Todo el tráfico del móvil pasa por casa y por tanto también la resolución de DNS, por lo que sigo navegando sin publicidad. Además también te sirve cuando estás conectado a alguna wifi pública de la que no te fías demasiado.

    Saludos, Iván.

    • Qué bueno Iván, gracias por los consejos. Probaré lo que dices salvo probablemente lo de OpenVPN, tengo uno montado ya con Outline en mi VPS y no me atrae la idea de abrir cositas en casa para tener acceso remoto. Geniales ideas 🙂

    • FaloGalego dice:

      Gracias por tus aportes, miraré la opción de log2ram. También hay la opción de montar todo el sistema en un USB para evitar los problemas de las SD.
      Para que aparezca el nombre de los equipos en las estadísticas de Pihole no es necesario utilizar el dhcp del PiHole, en las opciones de DNS abajo de todo puedes configurar la dirección de tu router y el rango de ip y los muestra igual.

Comentarios cerrados