Ciao, io sono Sergio.

Multimedia Content Developer

Pi-hole, installazione e consigli

A black hole for Internet advertisements. Questa è la definizione che accompagna il progetto Pi-hole, scopriamolo insieme.

Sergio Migotto

9 minutes read

Eviterò di raccontarvi la solita storiella che inizia solitamente in questo modo:

Avete una Raspberry Pi che vi avanza e volete utilizzarla in qualche modo? Questa è la guida che fa per voi!

E voglio evitare di farlo, non per una ragione, ma per due.

Innanzitutto sono convinto che a ben pochi “avanzi” una Raspberry in casa, se l’avete comprata lo avete fatto per un motivo, non credo abbiate speso una discreta cifra per una scheda elettronica e ora vi avanzi come soprammobile. In secondo luogo questa non è una guida, vi spiegherò di cosa stiamo parlando, fornirò alcune informazioni e scenderò nel dettaglio dove altri sono stati piuttosto vaghi, ma non creerò una guida passo-passo. In ogni paragrafo troverete una serie di risorse - dove mi è possibile in italiano - per aiutarvi nell’installazione e successiva configurazione di tutto il sistema.

Infine un’ultima premessa prima d’iniziare, l’argomento trattato non è estremamente complicato ma richiede comunque una buona familiarità con l’ambiente Linux, i suoi comandi, il terminale e le nozioni che stanno alla base del funzionamento delle reti locali e internet. Se qualcosa durante il percorso non vi è chiaro, fermatevi, fate un passo indietro e colmate quelle lacune prima di continuare.

Pi-hole

Ora, se a questo articolo siete arrivati, mi sento di dare per scontato che sappiate di cosa stiamo parlando e se ho ragione, vi invito a saltare direttamente al prossimo paragrafo. Nella malaugurata ipotesi che avessi torto, facciamo un piccolo cappello introduttivo.

Pi-hole secondo il motto dei suoi creatori, è un buco nero per la pubblicità e sopratutto i tracker che ci accompagnano nella navigazione web, concettualmente possiamo vederlo come un AD-block di quelli che si installano nei browser, solo con qualche steroide in più. Pi-hole è infinitamente più potente e a differenza dei plug-in non esegue il lavoro a valle del sistema, bensì interviene a monte, bloccando la pubblicità (e i tracker) a livello di DNS. A questo punto si potrebbero scrivere paragrafi interi per mettere in luce tutte le differenze di funzionamento e di risultato che ci sono tra Pi-hole e uBlock Origin per dire, temo però che possa venire fuori un trattato che vi annoierebbe a morte. Riassumiamo quindi i principali vantaggi, nel modo più rapido che mi viene in mente:

  • Pi-hole interviene a monte del sistema di rete, trasformandosi in un server DNS che serve la nostra intera rete locale
  • Non deve essere installato su ogni dispositivo, la semplice connessione al nostro punto di accesso fornisce protezione automatica ad ogni device
  • Non permette il tracciamento della nostra attività in rete da parte di Google, Amazon ecc.
  • Bloccando le richieste via DNS, si genera meno traffico di rete

La Raspberry che vi avanza

A me non avanzava, ma visto che come ricorderete era in casa, ho deciso di cambiarne temporaneamente la destinazione d’uso. Eliminato Volumio ho installato Raspberry Pi OS, ho scelto la versione Lite, in quanto la linea di comando è più che sufficiente per svolgere ogni operazione. Dopo aver inserito il sistema nella scheda SD (usate Etcher) ricordatevi di abilitare SSH per poter contattare il vostro Raspberry, so che tutti quanti sapete come fare, ma per i meno pratici ricordo che è sufficiente creare un file denominato SSH, assolutamente vuoto e senza alcuna estensione e trascinarlo nella root della vostra scheda SD.

Preparata la nostra Raspberry non ci resta che procedere con l’installazione di Pi-hole e per farlo, vi suggerisco di partire dalla guida ufficiale. Anch’io ho seguito la procedura come indicata nella guida, le uniche modifiche che ho apportato sono state all’indirizzo IP da assegnare a Pi-hole (io ho preferito il 192.168.1.2).

Al termine della procedura memorizzate la password che viene generata per accedere alla dashboard di controllo.

Configurare la propria rete

Una volta installato e configurato Pi-hole nel vostro Raspberry si passa alla configurazione di rete. In estrema sintesi bisogna far in modo che tutto il traffico generato dalla nostra rete, passi attraverso Pi-hole, per eseguire questa operazione ci sono due strade:

  • Cambiare il DNS sul nostro router e lasciare che il router continui a gestire le assegnazioni DHCP
  • Disabilitare il DHCP del router e affidare tutto il lavoro a Pi-hole

Delle due strade, se il vostro router lo permette, vi suggerisco la prima senza esitazione. Il problema è proprio se il vostro router permette di cambiare i DNS.

Ora, questo è il punto in cui ho perso più tempo, complice un router di Tim e un pannello di configurazione veramente limitato. Inizialmente ho pensato di risolvere il problema passando per la soluzione numero due, tutto funzionava perfettamente finché non ho provato a riavviare modem e Pi-hole simulando un interruzione di corrente, il sistema non si è riavviato correttamente e tutta la mia rete locale era senza internet. Inaccettabile, se dovesse succedere quando non sono in casa comprometterei il lavoro di altre persone, quindi sono tornato sulla prima soluzione.

Qui la situazione diventa complicata da spiegare, cercherò di renderla semplice ma non vi prometto nulla. Come detto in precedenza i router forniti dagli operatori sono particolarmente limitati lato software, non sempre permettono di fare delle operazioni o se lo permettono, lo fanno in modo molto disordinato a causa del loro software caotico. Ora, per grazia ricevuta, nel mio caso esiste tra le opzioni avanzate un campo modificabile per indicare al router a quale indirizzo si trovano i DNS (di default i DNS si trovano allo stesso indirizzo primario del router, quindi 192.168.1.1) è stato sufficiente impostare l’indirizzo a 192.168.1.2. In questo modo il sistema funziona e ci troviamo nella situazione in cui il router continua ad accogliere i dispositivi che si connettono alla rete, negoziando e rilasciando gli accessi attraverso il server DHCP, ma al contempo va ad instradare tutto il traffico all’indirizzo DNS indicato, in cui risiede Pi-hole. Non avete capito molto? Non vi preoccupate, ci ho messo parecchio anch’io. Il punto è che se il mio Tim Hub ha accettato una configurazione di questo tipo, posso sbilanciarmi nell’affermare che non dovreste avere problemi enormi nemmeno voi, si tratta solo di perderci un po’ di tempo.

Block List per Pi-hole

Il funzionamento di Pi-hole si basa su una serie di liste, aggiornate regolarmente, che contengono tutti gli indirizzi da bloccare per migliorare l’esperienza Web. Le liste vanno un po’ provate, nel senso che alcune sono più “aggressive” di altre e potrebbero andare a bloccare contenuti essenziali per il funzionamento di un sito. Il mio suggerimento è di provare un paio di liste alla volta ed eventualmente inserire alcuni siti in White List.

Alla fine del processo di configurazione delle liste, a rigor di principio dovrebbe essere possibile navigare senza plug-in anti pubblicità a livello di browser, esiste però un eccezione che non si riesce a filtrare tramite lista, o almeno io non ci sono riuscito, sto parlando di YouTube. Ad oggi non ho trovato soluzione migliore che tenere uBlock Origin, poco male comunque.

Alternative alla Raspberry

Come detto in apertura, per eseguire questa configurazione ho utilizzato la mia Raspberry, che non mi avanzava e che dovrà assolutamente tornare al suo posto. A discapito del nome, Pi-hole non funziona solamente con i sistemi Pi, a dire il vero funziona un po’ con qualsiasi distribuzione Linux, potreste anche utilizzare un vecchio notebook, se proprio vi avanza. Esiste però una soluzione ancora più economica e compatta, che potete prendere in considerazione seguendo questo video di Riccardo Palombo.

Se non volete guardare il video, vi riassumo i vantaggi nello scegliere un Dell FX170:

  • A circa 30€ non troverete mai una Raspberry, anche perché non basta la scheda, serve quanto meno un case per proteggerla, la scheda SD e un alimentatore dedicato, insomma vi serve qualcosa come questo kit
  • Non sprecare una Raspberry che potreste utilizzare per qualcosa di più interessante
  • Riciclare un po’ di vecchio hardware

D’accordo, bando alle intenzioni degne di Greta Thunberg, tutto ruota intono al concetto di prezzo d’acquisto, un Thin Client come il Dell vi mette a disposizione un prodotto fatto e finito, ideale per questo scopo e dannattamente economico. Io ho scelto questa soluzione, ho usato la Raspberry che avevo in casa perché era a portata di mano e a costo zero, ho potuto così eseguire tutte le prove del caso e risolvere i problemi senza acquistare altro hardware.

Utilizzando un Dell FX170 vi suggerisco di caricare Debian, in versione 32 bit a causa del processore ed eseguire un’installazione minimale, sistema base e server SSH. Niente interfaccia grafica, o applicazioni aggiuntive, si passa dalla linea di comando e il sistema resta estremamente leggero e controllabile da remoto.

Vale la pena?

Io credo di si, per proteggere maggiormente la propria rete e la propria privacy. Se non siete dei novizi, ma credo che non lo siate se siete arrivati ad informarvi su questo tema, tutto il processo di configurazione è rapido e non richiede più di un’ora del vostro tempo. Potete fare come ho fatto io, sacrificate una Raspberry che non vi avanza per qualche giorno, eseguite le vostre prove e poi valutate come meglio procedere. Come avrete notato, ho disseminato nel testo tutti i link che possono tornarvi utili, di seguito vi lascio una raccolta di risorse, che reputo le principali.

Risorse Hardware
Risorse in italiano
Risorse in inglese
Comandi da terminale

ssh sergio@192.168.1.2 # Comando di connessione via SSH, al posto di sergio usate il vostro utente, e cambiate l’indirizzo cui è collegata la macchina che volete chiamare

Comandi APT Significato
apt-get install installa il pacchetto da internet risolvendo le necessarie dipendenze
apt-get remove rimuove il pacchetto dal sistema
apt-get remove –purge rimuove il pacchetto dal sistema e i relativi file di configurazione configurazione
apt-get update scarica le ultime liste di pacchetti disponibili dai repositories
apt-get upgrade aggiorna tutti i pacchetti del sistema alla versione più recente disponibile
apt-get dist-upgrade aggiorna la versione di Ubuntu
apt-cache search cerca un pacchetto dal nome simile a quello passato da linea di comando
dpkg -i .deb installa un pacchetto deb precedentemente scaricato
Comandi vari Significato
pihole -up Comando aggiornamento Pi-Hole
$ uname -a informazioni complete sul sistema

Qualunque altra domanda, sapete ormai come contattarmi.

Recent posts

See more

Categories

About

Me & Website...