Taula de continguts

Raspberry Pi com a DNS Sinkhole amb Pi-hole

Pi-hole és una solució de bloqueig d'anuncis i filtrat de contingut que millora l'experiència de navegació web. Funciona com un servidor DNS local que bloqueja anuncis, rastrejadors i altres continguts no desitjats abans que arribin als dispositius. Es basa en llistes de bloqueig comunitàries per a identificar i bloquejar contingut no desitjat. És fàcil d'instal·lar i configurar, i proporciona una navegació web més ràpida i sense distraccions.

, , , , , , ,

Preparant la Raspberry Pi

Per poder començar necessitem una Raspberry Pi amb l'últim sistema Debian (preferiblement la versió Litle, que no incorpora interfície i obtindrem un millor rendiment del sistema Pi-hole).

Si disposes d'una Raspberry Pi 3/4/400 instal·lar el sistema Debian 64 bits. En cas contrari, utilitzar Debian 32 bits.

Per fer aquest procés molt més senzill podem utilitzar el mateix programari que ens proporciona Raspberry Pi, aquest s'encarregarà de gravar la imatge del SO corresponent i fer una configuració inicial:

https://www.raspberrypi.com/software/

Un cop finalitzada la imatge del SO, introduïm la targeta a la Raspberry Pi i iniciem. En aquest pas podem configurar els usuaris, permisos i altres, però el més important és configurar una IP fixa per la màquina. Per fer-ho accedim físicament a un terminal, per SSH o similar:

sudo apt update
sudo apt upgrade
sudo nano /etc/dhcpcd.conf

Un cop obert l'editor de text busquem les següents línies per configurar la connexió cablejada.:

# Example static IP configuration:
#interface eth0
#static ip_address=192.168.0.10/24
#static ip6_address=fd51:42f8:caae:d92e::ff/64
#static routers=192.168.0.1
#static domain_name_servers=192.168.0.1 8.8.8.8 fd51:42f8:caae:d92e::1

Trèiem el comentari del codi i configurem l'adreça IP, porta d'enllaç i DNS corresponents:

# Example static IP configuration:
interface eth0
static ip_address=192.168.1.9/24
static ip6_address=fd51:42f8:caae:d92e::ff/64
static routers=192.168.1.1
static domain_name_servers=192.168.1.1 8.8.8.8 fd51:42f8:caae:d92e::1

En el nostre cas hem configurat l'adreça de l'aparell com a 192.168.1.9, i la porta d'enllaç 192.168.1.1.

Reinicia la Raspberry Pi:

sudo reboot

Instal·lant Pi-hole

Accedió a un terminal de la Raspberry Pi, sigui físicament o mitjançant SSH o similar, actualitzem i executem el següent script automatitzat:

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

Segueix les instruccions mostrades pel terminal, ens avisarà que la Raspberry Pi ha d'estar configurada amb adreça IP fixa.
Instal·lar l'interfície web per gestionar Pi-hole, ens demanarà instal·lar el paquet lighttpd com a servidor web.

Un cop finalitzada l'instal·lació, ens donarà el següent missatge amb la clau d'administració:

Si volem canviar la clau d'administració manualment, podem utilitzar la següent comanda:

sudo pihole -a -p

També podem utilitzar Docker per executar un Pi-hole a la nostra Raspberry Pi, per a més informació consulta: https://github.com/pi-hole/docker-pi-hole/#running-pi-hole-docker

Configurant Pi-Hole

Accedim al panell web amb la direcció proporcionada per la pantalla de l'apartat anterior.
En aquest cas: http://192.168.1.9/admin/, així mateix iniciem sessió amb la clau proporcionada. Ens mostrarà un panell com el de la següent imatge, on podem observar informació rellevant:

Al menú lateral, a l'apartat «Adlists» podem afegir llistes de bloqueig generades per altres usuaris o pròpies:

Podem consultar algunes llistes en aquesta web: https://blocklistproject.github.io/Lists/

Configurant els dispositius

Un cop finalitzat el procés d'instal·lació de Pi-hole i la seva configuració, necessitem forçar que els nostres dispositius tinguin com DNS principal la Raspberry Pi. Això ho podem fer mitjançant el nostre encaminador, perquè assigni automàticament aquesta DNS, o manualment a cada dispositiu.