Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Creare un ad-blocker con Raspberry Pi

Come configurare un ad-blocker utilizzando il DNS sinkhole open source Pi-hole e un dispositivo Raspberry Pi 4
Come configurare un ad-blocker utilizzando il DNS sinkhole open source Pi-hole e un dispositivo Raspberry Pi 4
Link copiato negli appunti

La pubblicità online è uno dei pilastri che consente a innumerevoli piattaforme Web di sostentarsi economicamente. Evitando che gli utenti debbano dover pagare un canone mensile per accedere ad un servizio online. Tuttavia in certi contesti gli ad possono risultare abbastanza fastidiosi, soprattutto quando sono presenti in grosse quantità ed impediscono o disturbano l'accesso ad un contenuto. Ecco perché negli anni sono state sviluppate una serie di contromisure software per impedire il caricamento dei banner pubblicitari all'interno delle pagine Internet.

Esistono infatti diversi progetti dedicati alle operazioni di ad-blocking o servizi DNS (Domain Name System) che vanno a bloccare l'advertising all'interno della propria rete locale. Andando quindi ad implementare un di sistema di ad-block per tutti i device connessi al medesimo router. In questo tutorial ci focalizzeremo appunto nella configurazione della soluzione chiamata Pi-hole su Raspberry Pi 4.

Le caratteristiche di Pi-hole

Pi-hole può essere classificato come un DNS sinkhole open source che blocca il caricamento di un serie di contenuti, tra cui anche le pubblicità online, senza la necessità di installare un add-on o un client specifico sui diversi device connessi alla rete locale.

Pi-hole è molto semplice da installare, quindi anche gli utenti alle prime armi possono sfruttarlo senza particolari problemi. Inoltre tale soluzione può essere impostata per funzionare anche come server DHCP, cosi da assicurarsi che tutti i device connessi siano pronti per essere gestiti da Pi-hole. È inoltre capace di bloccare gli ad provenienti da indirizzi IPv4 e IPv6.

Requisiti hardware

Per assicurare il corretto funzionamento di Pi-hole su ogni dispositivo connesso alla nostra rete locale è necessario sfruttare un computer con una distribuzione Linux che sia sempre operativo, 24 ore su 24. Quindi il nostro consiglio è quello di affidarsi ad una board ARM come Raspberry Pi 4 ed al suo sistema di riferimento, basato su Debian, chiamato Raspberry Pi OS. Con tale dispositivo consigliamo di utilizzare un cavo ethernet cat 6 cosi da assicurarsi performance di rete adeguate.

Installazione di Pi-hole su Raspberry Pi OS

Come anticipato in precedenza, il processo d'installazione vero e proprio di Pi-hole è davvero semplice. Basta sfruttare il comodo installer messo a disposizione dai developer del progetto. Quindi dopo aver terminato la configurazione iniziale di Raspberry Pi OS apriamo il terminale e sfruttiamo il download manager curl per scaricare lo script bash che ci serve per avviare il wizard del programma:

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

In alternativa possiamo clonare manualmente il codice sorgente dal repository dal servizio di code sharing Github:

git clone --depth 1 https://github.com/pi-hole/pi-hole.git Pi-hole

ed in seguito spostarci nella directory in cui è presente l'installer bash ed avviarlo:

cd "Pi-hole/automated install/"

sudo bash basic-install.sh

Se lo preferiamo è possibile affidarsi inoltre a wget:

sudo apt install wget

wget -O basic-install.sh https://install.pi-hole.net

sudo bash basic-install.sh

Selezioniamo quindi il metodo d'installazione che preferiamo in base alle nostre preferenze. Esiste anche una quarta alternativa ovvero l'immagine Docker dedicata alla configurazione su alcune classi di NAS (Network Attached Storage) o per i server.

Configurazione dell'ad-blocker Pi-hole

A questo punto è necessario configurare il router in modo tale che Pi-hole venga sfruttato come server DNS di riferimento. Questo perché di fatto il DNS sinkhole si occupa di intercettare le query DNS cosi da bloccare quelle che contengono pubblicità.

Questo sistema funziona molto bene su tutti i siti Web che mostrano ad tramite piattaforme di terze parti che si occupano della gestione delle pubblicità caricate dagli inserzionisti.

Tuttavia Pi-hole non è molto efficiente con gli ad gestiti internamente dai diversi portali. Ad esempio non tutte le pubblicità su YouTube vengono bloccate correttamente. Dunque è bene essere coscienti del fatto che Pi-hole non è una soluzione che oscura il 100% delle pubblicità.

Per sfruttare Pi-hole come DNS server dobbiamo prima di tutto eseguire il login all'interno del router tramite la relativa interfaccia Web e reperire l'opzione chiamata "DHCP/DNS setting". La collocazione di questo pannello varia in base al modello del router ma una volta trovato dovremmo inserire manualmente all'interno della voce "DHCP/DNS setting" o "Static DNS" l'indirizzo IP locale del Raspberry Pi.

Se non conosciamo tale valore possiamo recuperarlo usando questo pratico comando da shell:

hostname -I

Come output si ottiene una stringa simile a questa:

192.168.1.10

Inserito tale parametro e salvate le modifiche possiamo spostarci all'interno della Web interface di Pi-Hole digitando questo indirizzo nella barra degli URL del browser:

http://indirizzoIPdelRaspberry Pi/admin

o in alternativa:

http://pi.hole

interfaccia web pihole

Nella sezione chiamata "Upstream DNS Servers" troviamo i vari DNS server configurati automaticamente durante l'installazione di Pi-Hole. Selezioniamo quello che preferiamo o lasciamo invariato quello impostato di default.

dns server pihole

Primo test di navigazione

A questo punto la configurazione di base è terminata e siamo finalmente pronti ad eseguire il primo test di navigazione per capire se l'intera operazione è riuscita correttamente. Testiamo quindi il funzionamento del nuovo DNS Server e di Pi-Hole andando a navigare su di un normale sito Web.

Se visualizzate la pagina correttamente senza pubblicità significa che il processo è andato a buon fine e non sono necessari ulteriori setting o configurazioni addizionali.

Impostare una blacklist di siti Web su Pi-hole

Pi-hole permette di creare anche una blacklist di siti e domini Web. Cosi da evitare di accedere a determinati portali o per bloccare servizi specifici. Per inserire un indirizzo in blacklist possiamo affidarci alla comoda CLI (Command Line Interface) del programma:

pihole -b domioniodiesempio.com

ovviamente si possono anche inserire più domini contemporaneamente:

pihole -b domioniodiesempio1.com domioniodiesempio2.com domioniodiesempio3.com

Mentre invece per rimuovere un dominio dalla blackist il comando da immettere su bash è questo:

pihole -b -d domioniodiesempio.com

Ovviamente, con Pi-hole è possibile definire anche una whitelist di domini. In questo caso il comando da digitare è:

pihole -w domioniodiesempio.com

Per la rimozione dalla whitelist si deve invece usare tale sintassi:

pihole -w -f domioniodiesempio.com

Ti consigliamo anche