In questa guida affronteremo l’installazione di Pi-hole, applicativo costituito da diverse applicazioni, quali un server web, un’applicazione PHP e un server DNS, tutti installabili comodamente da uno script bash in automatico, che ci permetterà di realizzare un server DNS locale in grado di filtrare tutte le pubblicità e indirizzi malevoli, funzionando come un AdBlocker ad un livello più basso, quello DNS, che ci garantisce una navigazione pulita da tutti questi fastidi anche su smartphone e tablet privi di browser in grado di supportare estensioni ad-blocker (es: Safari su iOS).
Il primo step consiste nel recuperare un Raspberry PI, se già non lo avete, potete acquistarlo online, non serve un modello potentissimo, valutate voi in base alle vostre esigenze. Non è strettamente necessario utilizzare un Raspberry PI ma va bene un qualsiasi computer che esegua una distribuzione GNU/Linux, come ad esempio Debian o Raspberry PI OS. Qui di seguito trovate i pre-requisiti ufficiali.
Installazione
Dopodiché, dando per scontato che abbiate già un sistema operativo GNU/Linux configurato, partendo sul pulito, basterà utilizzare il seguente script di installazione (è consigliabile dare un’occhiata al codice prima di copia-incollare qualsiasi script di installazione, quindi vi invitiamo a visionare il link):
curl -sSL https://install.pi-hole.net | bash
Lo script si occuperà di configurare tutto in automatico, installando componenti aggiuntivi quali lighttpd, dnsmasq, PHP al fine di completare l’installazione di Pi-hole.
A questo punto, dovrebbe essere andato tutto a buon fine e collegandovi sull’indirizzo IP del vostro Raspberry PI o del computer su cui avete installato Pi-hole, avrete la possibilità di utilizzare il pannello web di amministrazione, per configurare il vostro Pi-hole.
Configurazione
Quindi collegatevi su: http://<Indirizzo-IP-Del-Server-Pi-hole>/admin/
E nel form di login che visualizzerete, la password sarà quella dell’utente su cui avete installato pi-hole (quella per accedere al Raspberry PI via SSH ad esempio). Fatto ciò, ci ritroveremo davanti alla dashboard:
Da qui avremo la possibilità di configurare un elenco di domini bloccati, i server DNS da interrogare e altro ancora. Possiamo anche usare questa dashboard per definire indirizzi DNS personalizzati. Come primo step andiamo su Adlists per configurare un elenco di liste di domini bloccati, come ad esempio:
https://blocklistproject.github.io/Lists/dnsmasq-version/abuse-dnsmasq.txt
– Lista contenente domini di abusi/fake ecc.https://blocklistproject.github.io/Lists/malware.txt
– Lista contenente domini con malwarehttps://blocklistproject.github.io/Lists/redirect.txt
– Lista contenete domini che fanno redirect per trackinghttps://blocklistproject.github.io/Lists/scam.txt
– Lista contenente scam (inganno, finti)https://blocklistproject.github.io/Lists/tracking.txt
– Lista contenente domini che tracciano l’utentehttps://blocklistproject.github.io/Lists/fraud.txt
– Lista contenente domini che fanno frode
Per inserirli basta digitare l’URL e un eventuale commento, quindi cliccare sul tasto ‘Add‘ visibile nella pagina.
Dopodiché dovremo andare a configurare i server DNS da interrogare, per farlo spostiamoci in: Settings > DNS
Qui impostiamo i server DNS desiderati. In questa guida utilizzeremo quelli forniti da NextDNS.io che offre un servizio simile a Pi-hole solamente tutto in Cloud. Io consiglio l’accoppiata Pi-hole + NextDNS poiché in questo modo Pi-hole manterrà nella sua cache le risposte di NextDNS.io e così potrete ridurre il numero di richieste ai server DNS di NextDNS.io, così da rimanere sul piano gratuito. NextDNS.io, infatti, dopo un tot di richieste smette di bloccare il traffico e funziona come un server DNS normale, a meno che non si acquisti un piano di abbonamento che comunque è conveniente (circa 2 € al mese).
Aggiunta di NextDNS
La bellezza di NextDNS sta nel fatto che è possibile installare un’app su ogni sistema operativo al fine di bloccare le ads (banner pubblicitari), il tracking (tracciamento attività online), ecc. tramite DNS e questo funziona a prescindere dal luogo in cui ci troviamo.
Ad esempio in casa, dove abbiamo accesso al Pi-hole, useremo quest’ultimo, mentre fuori casa NextDNS. Se già non avete un account NextDNS, niente paura, è totalmente gratuito e volendo potete registrarvi dal seguente link.
Nello specifico, per far sì di sfruttare Pi-hole come cache di NextDNS, oltre ad impostare i server DNS IPv4 forniti da NextDNS sulla pagina my.nextdns.io, dovrete anche modificare dei file di configurazione (quello di dnsmasq):
sudo nano /etc/dnsmasq.d/02-nextdns.conf
E aggiungiamo la riga:
add-cpe-id=CAMBIAMI-con-ID-fornita-da-NextDNS
Ci va messa l’ID che è stata generata da NextDNS, associata al nostro account. Quindi salviamo il file e riavviamo il server DNS di Pi-hole:
pihole restartdns
Utilizzo come server DNS
Fatto questo, associamo l’IP del nostro Pi-hole al nostro server DNS su tutti i dispositivi che utilizziamo. È possibile farlo anche dal Router, solamente che alcuni ISP bloccano tale possibilità e quindi potrebbe convenire fare una configurazione di rete avanzata, dove Pi-hole fa da server DHCP e il router che utilizziamo non avrà più questo ruolo.
Tuttavia va al di fuori dello scopo di questa guida spiegare come configurare nel dettaglio i vari router, OS, ecc. quindi ci limiteremo a segnalarvi alcuni link:
Aggiornamento di Pi-hole
In ultimo, vi ricordo il comando per aggiornare Pi-hole:
pihole -up
Questo permetterà a Pi-hole di aggiornarsi, aggiornando anche il sistema operativo con gli ultimi pacchetti disponibili. Converrebbe quindi schedulare la sua esecuzione periodicamente, con un cronjob ad esempio.
1 Commento
Andrea Del Corto
Dragone top number one! 😀