Categorías
RASPBIAN

Pi-hole en Raspberry PI

Pi-hole es una solución que nos permite evitar ver publicidad en las páginas webs que visitamos.Pi-hole logo

Lo que hace a grandes rasgos es en levantar un servidor de DNS y cuando el DNS recibe una solicitud de un servidor de addserver informa como destino la ip de nuestra Raspberry mostrando una imagen de 1px transparente en lugar de la publicidad.

Ejemplo de funcionamiento:

Así se ve un diario de Argentina en una red con un Pi-Hole andando.captura de pantalla del 1er scroll de un diario sin publicidad

Instalación de Pi-Hole:

Para realizar la instalación se debe ejecutar el siguiente script.  La instalación es asistida y no es compleja.

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

pi-hole captura de pantalla 01Lo primero que realiza el instalador es verificar si tiene permisos para realizar instalación de dependencias.  En caso de que el comando sudo solicite contraseña va a solicitar la misma.

Una vez que consigue los privilegios de administración nos muestra la pantalla de bien venida del instalador.

pi-hole captura de pantalla 02pi-hole captura de pantalla 03

Como todo proyecto GNU, Pi-Hole necesita del apoyo de la comunidad, si encontrás a esta solución últil por favor colabora con el proyecto.pi-hole captura de pantalla 05

Pi-Hole necesita para funcionar una IP estática y definir sobre que interfase esta conectada a la red nuestra Raspberry.  En este caso yo conecte a mi Rasberry con el puerto RJ45, representado en Raspbian como eth0.

La siguiente pantalla nos consulta que DNS queremos utilizar para resolver los dominios que nuestra Rasberry no tenga en cache.  Son de mi preferencia los DNS de OpenDNS y los de Google.  (esta parametría puede ser después modificada desde el panel web).

La siguiente pantalla nos permite definir sobre que protocolos va a trabajar nuestro Pi-Hole.  Si no sabe que este usando uno solo de los protocolos, marque los dos.pi-hole captura de pantalla 07pi-hole captura de pantalla 10
El instalador va a mostrar varias pantallas con información,entre ellas la ip que tiene nuestra Raspberry (copiar este dato porque después vamos a tener que configurar el router para que asigne la ip de nuestro Pi-Hole como DNS para nuestra red).

pi-hole captura de pantalla 11La última pregunta es si queremos llevar registro de las consultas que se hacen al DNS.  Con esta información después se muestran gráficos de consumo.  (Se puede activar o desactivar más adelante, la contra de dejar esto vivo es que sumamos otra actividad que escribe rutinariamente en la microSD).

Finalizada la configuración el instalador va a proceder a hacer la descarga y despliegue de las utilidades que necesita para el correcto funcionamiento de Pi-Hole.

pi-hole captura de pantalla 12
pi-hole captura de pantalla 13Finalizada la instalación de los componentes tenemos como última pantalla la información de configuración de nuestro Pi-Hole, entre ella se destacan la IP donde va a funcionar, la url de la página web de administración y la contraseña de acceso a la consola de administración web.

Para que todo funcione correctamente se debe configurar el Router que corriendo el servicio de DHCP en la red la ip de nuestro Pi-Hole como único DNS.  Finalizada esta configuración es necesario reiniciar los clientes de la red para que tomen esta nueva configuración.

Actualización de Pi-hole:

Para actualizar nuestro Pi-Hole se debe ejecutar el siguiente comando:

sudo pihole -up

La actualización es desatendida, mantiene la configuración pero actualiza los componentes.

Pi-hole como DNS de lan.

Este procedimiento es opcional, pero queremos que nuestro Pi-hole resuelva los nombres de los equipos internos podemos ejecutar estos pasos.

El primer paso es crear un archivo de configuración para dnsmasq tome un archivo nuevo como fuente de datos para definir los equipos de nuestra lan.

echo "addn-hosts=/etc/pihole/lan.list" | sudo tee /etc/dnsmasq.d/02-lan.conf

En el archivo /etc/pihole/lan.list cargamos los equipos con el mismo formato que el archivo hosts de nuestros linux.

Captura de pantalla del archivo lan.list donde se definen los equipos de la red local.

Para crear o editar este archivo se debe ejecutar el comando:

sudo vi /etc/pihole/lan.list

El siguiente paso es reiniciar reiniciar el servicio de Pi-Hole para que aplique los cambios, esto se consigue con el siguiente comando:

sudo /usr/local/bin/pihole restartdns

Ahora debemos verificar que funcione o si aplicaron los cambios, ejecutamos el siguiente comando desde un equipo de la red consultando al dns por un equipo definido en el archivo lan.list.

Que debería tener una salida así:

Ejemplo de consulta al DNS
El equipo que tiene asignada la IP 10.0.0.63 es raspbian que tiene ejecutando el Pi-Hole.
rbpi4-001.sismonda.com.ar es el nombre de los equipos de mi casa.
10.0.0.121 es la ip que tiene asignada la rbpi4-001

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.