Installare Pi-Hole su Raspberry per bloccare la pubblicità durante la navigazione in Internet. Stiamo parlando di un progetto open source e di libero accesso che consente di filtrare l’advertising per tutti i dispositivi presente in una rete.
Non si tratta del classico Ad-Block, estensione installabile su ogni browser/dispositivo in tuo possesso, ma di un server DNS che si occupa di bloccare , intercettare e redirigere risorse per tutti i dispositivi connessi alla rete in maniera differente rispetto ai DNS pubblici, ovvero troncando la comunicazione con quei domini che vengono utilizzati per veicolare pubblicità invasiva (e non solo).
Definizione tecnica disponibile sulla Wiki di archlinux, Pi-hole è un:
“DNS sinkhole che redige una lista di blocco di domini conosciuti per offrire pubblicità e malware da sorgenti multiple di terze parti. Pi-hole, attraverso l’uso di dnsmasq, elimina semplicemente tutte le richieste di domini nella sua lista di blocco. Questa configurazione implementa efficacemente il blocco della pubblicità a livello di rete senza dover configurare ogni singolo client. Il pacchetto offre una interfaccia web e una a riga di comando.”
Sommario
Cos’è Pi-Hole?
Pi-Hole è un blocco degli annunci basato su DNS che confronta efficacemente le richieste DNS ricevute dai client ai filtri preimpostati e, se il dominio non è bloccato, allora passa, altrimenti, restituisce un IP Null (Pi-Hole può essere utilizzato anche come server DHCP).
Per capire meglio come funzionano le cose, diamo un’occhiata a ciò che Pi-Hole può fare. Pi-Hole è stato originariamente sviluppato per funzionare con Raspberry Pi, ma ora può essere installato su una macchina virtuale ed è anche compatibile con alcune distro Linux.
Per creare questa guida, ho deciso di installare Pi-Hole su Raspberry Pi 4.
Dettagli
Pi-hole è un software che, con un solo comando e poche risorse, è in grado di installare un server DNS (Domain Name System) nella rete aziendale o casalinga, in grado di bloccare tutte le richieste di pagine pubblicitarie eseguite da ogni dispositivo in rete, smartphone compresi, senza bisogno di modificarli.
Quando si apre un sito internet, il computer richiede al server (solitamente rappresentato dal router ADSL), come trovare tutte le parti che compongono il sito web richiesto, testo, immagini, video e banner.
Pi-hole intercetta la richiesta delle pubblicità e le blocca, mostrando cosi le pagine web ripulite ed anche le APP degli smartphone.
Installare Pi-Hole su Raspberry Pi 4
Tutto chiaro? D’accordo. Ho cercato di spiegarti il comportamento sia in termine semplici che tecnici. A questo punto passiamo al succo vero dell’articolo, ovvero, installare Pi-Hole su Raspberry o su una macchina Linux che utilizzi già per fare altro all’interno della tua rete.
L’installazione di Pi-hole è semplicissima, basta digitare da terminale come utente root questo comando:
sudo curl -sSL https://install.pi-hole.net | bash
per correttezza, gli sviluppatori avvertono che lanciare comandi del genere è pericoloso, perché non conosci lo script memorizzato nel sito web che stai lanciando, consigliano quindi di leggere prima la seguente guida. Mentre per verificare cosa verrà mandato in esecuzione, è sufficiente aprire il link dello script.
Ti elenco tutti i passaggi che verranno richiesti in fase d’installazione Pi-Hole su Raspberry
- Dopo aver lanciato il comando sopra indicato l’installazione comincia. Premi invio per continuare.
- Arriverai alla schermata informativa riguardante l’IP da assegnare alla tua installazione Pi-hole: fai in modo che questo sia sempre lo stesso (statico o tramite reservation sul DHCP).
- Comunica a Pi-Hole che DNS pubblici utilizzare per la risoluzione dei nomi a dominio (nel mio caso ho scelto Google, 8.8.8.8 e 8.8.4.4).
- Specifica ora che liste di blocco vuoi cominciare a utilizzare. La barra spaziatrice serve per selezionare o deselezionare una voce. Spostati con le freccette nella schermata. Quando terminato, premi invio per confermare. Non preoccuparti di questa scelta, sarà sempre modificabile in un secondo momento.
- Seleziona entrambi i protocolli di comunicazione (IPv4 e IPv6).
- Conferma l’indirizzo IP della macchina (Raspberry) e del tuo router quando richiesto(Gateway).
- Quando richiesto, conferma di voler installare l’interfaccia web amministrativa. Servirà un’ulteriore conferma successiva alla richiesta di installazione di lighttpd. Lascia che le richieste (query) vengano loggate (0 – Show everything).
- A questo punto ti basterà attendere che l’installazione proceda autonomamente fino al termine.
- Ti verrà mostrata una pagina riepilogativa contenente – tra le altre cose – la password di amministrazione del tuo nuovo Pi-hole.
Ho evitto di caricare le immagini perché in rete è presente un video con tutti i passaggi da seguire per installare Pi-Hole su Raspberry Pi 4 : Clicca qui!
Installare Pi-Hole su Raspberry: gestione via web
Puoi ora collegarti alla console di Pi-hole utilizzando l’indirizzo che ti è stato riportato nella schermata riepilogativa, esempio http://192.168.1.10/admin. Salvo errori, ti troverai davanti alla console del software, dovrai quindi fare clic sulla voce Login (nella colonna di sinistra) e inserire la password che ti è stata precedentemente fornita, solo così potrai accedere alla gestione completa del tuo nuovo giocattolo.
Aprendo da un qualsiasi browser l’url dell’interfaccia web, si potranno bloccare o sbloccare i domini scelti, nelle sezioni whitelist e blacklist.
La pagina query log ci permette di controllare agilmente tutte le richieste fatte e se necessario bloccare o sbloccare determinati domini pubblicitari.
Il menù disable, permette, in caso di problemi, di disattivare i blocchi permanentemente o solo per pochi minuti.
La sezione tools è dedicata alla parte più tecnica del server, aggiornamenti liste, log e debug.
Il menù settings offre la possibilità di abilitare Pi-Hole come server DHCP, attenzione che in una rete non possono coesistere più server DHCP attivi contemporaneamente.
Configurare le BlockList in Pi-Hole
È così che le chiama Pi-hole (Settings → Blocklists). Si tratta di blacklist composte da domini dei quali puoi quasi certamente fare a meno, sono quelli che generalmente propongono banner pubblicitari invasivi ma anche pericolosi script che possono danneggiare il tuo browser (Malware Domains).
(Se vuoi copiare e incollare facilmente tutti gli URL, fai riferimento a questa pagina: github.com/gioxx/ph-whitelist/blob/master/domains/blocklists.md).
Configurare Pi-Hole da terminale
Ecco tutti i come di che puoi gestire da terminale shell.
Il comando pihole eseguito come root, ha queste funzioni.
- w, whitelist -> whitelist domini
- b, blacklist -> Blacklist domini (precisi)
- wild, wildcard -> Blacklist domini con wildcards
- d, debug -> Avvia il debug in automatico con il flag ‘-a‘.
- ‘pihole -d -a‘
- f, flush -> Elimina il log ‘pihole.log’
- t, tail -> Scrive le ultime righe di ‘pihole.log’
- up, updatePihole -> Aggiorna i componenti di Pi-hole
- r, reconfigure -> Reconfigure or Repair Pi-hole
- g, updateGravity -> Aggiorna la lista dei server
- c, chronometer -> Mostra le statistiche in tempo reale
- h, help -> Mostra questo help dialo
- v, version-> Scrive la versione del software
- q, query -> Controlla le liste in cerca di un dominio preciso
- ‘pihole -q domain -exact‘‘‘-> solo domini completi
- l, logging -> Abilita/disabilita i log con on e off
- a, admin-> Opzioni per l’interfaccia web
- uninstall -> Rimuove Pi-hole
- status -> Visualizza se il filtro è attivo o no
- enable -> Abilita Pi-hole
- disable -> Disabilita Pi-hole
- restartdns -> Riavvia dnsmasq
Installare Pi-Hole su Raspberry con DHCP locale:
Il server DHCP è un servizio che assegna, alla connessione di un dispositivo i dati necessari per collegarsi in rete, la maggior parte delle volte è lo stesso router adsl.
Per utilizzare Pi-hole in modo pratico e semplice è necessario entrare nel menù di configurazione del router, o server DHCP locale ed aggiungere come server DNS l’ip di Pi-hole, in modo che ogni smartphone e pc connessi in rete lo usino in automatico.
Per farlo di norma il suo menù si trova sotto la voce DHCP > DNS , per maggior aiuto vi rimando al post dedicato sul forum.
Posso dire che nelle ADSL domestiche italiane di solito l’ip del router è 192.168.1.1 con utente e password admin, in alternativa basta fare richiesta al vostro gestore adsl.
Conclusione
Abbiamo visto come installare Pi-Hole su Raspeberry Pi 4. Ci sono ancora tante funzionalità da vedere e configurare ma questo lo lascio fare a te.
Se hai difficoltà scrivimi nei commenti.