Libera de publicidad y rastreadores tu red doméstica con Pi-Hole.

Mejora la privacidad de tu red.

Featured image

Aquellos que no conozcáis este proyecto puede que penséis que se trate de algo parecido a una extensión de nuestro navegador que se encarga de eliminar la publicidad y los rastreadores de las páginas que visitamos. Y sí, es cierto que Pi-Hole se encarga de eso. Sin embargo, a diferencia de una extensión, Pi-Hole actúa a nivel de toda la red doméstica. ¿Qué quiere decir esto? pues que dispositivos como una televisión, una Alexa… cualquier dispositivo IoT donde no es posible instalarle un AdBlocker, con Pi-Hole podremos librarnos de todos esos anuncios y traqueadores de google, facebook, amazon…

Pi-Hole.

logo

Pi-Hole es un proyecto de software libre que convierte una Raspberry Pi en un servidor DNS (Domain Name System) personalizado capaz de bloquear publicidad y rastreadores en todos los dispositivos conectados a la misma red.

El funcionamiento de Pi-Hole se basa en la utilización de listas negras (blacklists) de dominios conocidos por ser usados por anuncios y rastreadores en línea.

Cuando un dispositivo conectado a la red intenta acceder a un dominio de la blacklist, el servidor DNS de Pi-Hole bloquea la petición, evitando así que la publicidad o el rastreo llegue a cargar.

DNS (Domain Name System)

Los DNS son como una guía telefónica de internet. Cuando queremos visitar una página web, escribimos su nombre en el navegador. Los DNS se encargan de buscar la dirección de la página web en internet y nos la muestran en la pantalla.

Es como si buscáramos el número de teléfono de una persona en la guía telefónica y luego lo llamáramos.

Raspberry.

Raspberry Pi 4

Resumidamente, Raspberry es una serie de mini ordenadores de un costo bastante accesible. Al final son placas con lo justo y necesario de un tamaño bastante reducido que nos permiten experimentar y realizar proyectos como este.

En mi caso he usado una Raspberry Pi 3B+ para montar Pi-Hole, pero podéis hacer uso de otros modelos o tirar directamente desde docker.

Instalación de Pi-Hole en una Raspberry.

La instalación es relativamente sencilla:

1. Preparación de la instalación del sistema operativo.

Para poder instalar software en nuestras Raspberry necesitaremos instalarle un sistema operativo. Yo he usado Raspberry Pi OS Lite que corre Debian 11 sin entorno de escritorio, pero podéis usar prácticamente cualquier distro, sobre todo las que están basadas en Debian.

1.1 Descarga de la ISO.

Aquí te dejo un enlace a la página de descargas de Raspberry Pi OS.

1.2 Booteamos una tarjeta SD con nuestra ISO.

Podemos usar diversas herramientas para este paso. Si no estás familiarizado con esto, te recomiendo usar la propia herramienta que nos ofrece Raspberry, Raspberry Pi Imager.

2. Instalación del sistema operativo.

Introducimos la tarjeta SD en la Raspberry. Una vez carge el menú de la GRUB, elegiremos la opción que diga instalar. A partir de ahí es darle a siguiente, siguiente hasta finalizar la instalación.

Instalación y configuración de Pi-Hole.

Antes de pasar con la instalación te recomendaría actualizar los paquetes del sistema.

sudo apt update -y && sudo apt upgrade -y

Instalación en una distro basada en Debian.

Para instalar Pi-Hole, lo que haremos será bajarnos un script que nos automatizará la instalación.

Para ello, nos hará falta tener instalado curl.

sudo apt install curl

Una vez verificamos que tenemos curl instalado, ejecutamos el siguiente comando:

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

Esto lo que hace es bajarse el script basic-install.sh de install.pi-hole.net y através de una pipe redirecciona el output a bash.

Una vez hecho esto, será darle a siguiente, y establecer algunas opciones a gusto de cada uno.

Cosas a tener en cuenta.

Es recomendable establecerle una IP fija a tu Raspberry, para ello tendrás que acceder a la configuración del router. Si dejas la IP en dinámica, si por lo que sea tu Raspberry se reinicia, la IP cambiará y el servidor DNS dejará de funcionar, por lo que no podrás navegar por internet con aquellos dispositivos que utilicen este DNS.

Configuración de Pi-Hole.

Dashboard.

Dashboard Login

Para acceder al Dashboard tendremos que entrar en la siguiente dirección con las credenciales establecidas anteriormente.

http://[IP_Pi-Hole]/admin

Una vez estemos dentro, veremos algo así:

Pi-Hole Dashboard

Añadir blacklists.

Antes he estado hablando de que Pi-Hole utiliza blacklists para bloquear los anuncios y rastreadores.

Las blacklists son listas con dominios y las tenemos que agregar nosotros. Podríamos agregar dominio por dominio y crear nuestra propia lista, pero tardaríamos mucho. Por lo tanto haremos algunas búsquedas por google y añadiremos las listas deseadas. Para ahorrarte un poco la búsqueda, aquí te dejo un enlace a una web con bastantes listas con diferentes temas.

Una vez tengas localizadas las listas que deseamos que nuestro Pi-Hole bloquee, nos vamos al apartado “Adlists”. En él las añadiremos.

Adlists

Cuando hayamos terminado de agregarlas, tendremos que ejecutar el siguiente comando en la Raspberry:

pihole -g

Este comando actualizará las listas y nos dirá si todo ha ido bien.

Establecer Pi-Hole como servidor de DNS predeterminado.

Una vez hayamos terminado de configurar Pi-Hole, nos falta decirle a cada dispositivo de nuestra red que utilice los DNS de nuestro Pi-Hole en vez de los del ISP.

Para ello tenemos dos formas, una modificando los DNS de cada dispositivo manualmente y la otra cambiando los DNS del router.

Modificar los DNS de cada dispositivo.

Esta es la opción más costosa, ya que tienes que ir de dispositivo en dispositivo. Únicamente te la recomiendo si solo quieres aplicar el bloqueo a ciertos dispositivos y no a todos aquellos que estén conectados a tu red Wi-Fi.

Otro caso, es si tu ISP no te permite modificar los DNS de tu router, que es mi caso.

mi_caso

El proceso para cambiar los DNS depende de cada dispositivo. En el caso de Android se realizaría de la siguiente manera:

1 2 3 4

Lo de DNS 1 o DNS 2, es simplemente que si el DNS principal no está operativo, utilizará el segundo.

Modificar los DNS directamente desde el router.

Lo mismo, cada router es un lugar distinto. Pero al final el proceso es similar. Yo en mi caso no puedo cambiar los DNS del router, pero en tu caso si sí puedes, tendrás que ir a la configuración de tu router y en configuración avanzada > DNS tendrás que poder realizar el cambio.

Conclusión.

Personalmente te recomiendo montarte un servidor DNS con Pi-Hole ya que es algo simple y rápido de levantar.

Llevo ya unas semanas utilizándolo y funciona a la perfección. Además, en la Raspberry he montado un servidor VPN con WireGuard, por lo que aunque esté fuera de casa puedo seguir aprovechando este bloqueo de publicidad y rastreadores.