Quando si naviga su internet ci sono tanti componenti e servizi che in maniera trasparente agli utenti mascherano la complessità della rete, rendendo tutto più facile ed automatizzato. Un esempio? Provate a digitare nella barra degli indirizzi del vostro browser l'IP 142.250.184.67: premendo Invio vi ritroverete su Google, ma concorderete con noi che digitare semplicemente "google.it" sia più facile e decisamente più comodo da ricordare!
Ciò che rende possibile non dover ricordare gli indirizzi IP di ogni pagina internet ma semplicemente il loro indirizzo si chiama DNS. È proprio il DNS a tradurre i nomi di dominio in indirizzi IP, in modo che i browser possano interpretarli e caricare le pagine internet corrette.
Di norma gli utenti utilizzano server DNS forniti dai loro ISP, acronimo per indicare gli internet service provider (in Italia sono i vari Telecom, Vodafone, Fastweb e così via), senza necessità di modificare alcuna configurazione. Questo approccio rende sicuramente la vita facile ai meno esperti, ma gli utenti più esigenti potrebbero volere qualcosa in più, come la rimozione di blocchi nazionali ( il così detto geo-blocking), maggior velocità di navigazione, blocco della pubblicità e dei tracker ma anche più controllo sulla propria rete. Tutte queste esigenze sono ampiamente soddisfatte da un progetto Open Source e gratuito chiamato PiHole .
PiHole è un progetto che nasce nel 2014 come implementazione libera di un altro software chiamato AdTrap, con lo scopo di creare un DNS server per reti private che permette di bloccare tracker e annunci invasivi prima ancora che arrivino nei nostri dispositivi. La sua installazione e configurazione può disorientare i meno avvezzi alla tecnologia, ma in realtà la faccenda è molto semplice ed è anche possibile riutilizzare vecchio hardware a costo zero.
Installare un PiHole: requisiti hardware
Come è possibile intuire dal nome, il progetto PiHole (o Pi-Hole) nasce su SBC Raspberry Pi di prima generazionek, motivo per cui i requisiti minimi del software sono bassi. Negli anni ne è stato fatto un porting x86 per PC e, per questa guida, abbiamo scelto di riciclare un vecchio PC con a bordo un J1900 Intel.
Ecco le specifiche della macchina che useremo:
- CPU: Intel J1900 (potete vedere le specifiche complete a questo indirizzo)
- Scheda madre: AsRock j1600 mATX
- RAM: DDR3 1333Mhz 4GB
- Archiviazione: SSD Sandisk 32GB
Lo storage, nonostante la capienza ridotta, è più che adeguato e sarà più che sufficiente per garantire tempi di boot brevi e prestazioni più che valide.
Potete riutilizzare qualsiasi tipo di hardware, anche il vecchio Netbook con CPU Intel Celeron dual core che avete abbandonato in un cassetto potrebbe essere adatto allo scopo, offrendo prestazioni adeguate e consumi ridotti.
Installare un PiHole: requisiti software
PiHole è disponibile su Linux e può funzionare praticamente su ogni distribuzione esistente. Per questa guida abbiamo scelto di utilizzare Ubuntu 20.04 ed i motivi sono semplici:
- Ubuntu è facile da installare anche per i neofiti Linux.
- Ubuntu rappresenta una piattaforma di riferimento.
- La versione 20.04 sarà supportata fino al 2030.
- La versione 20.04 è l'ultima LTS dove snap non è una presenza così invasiva.
- L'installer di PiHole è nativo su Ubuntu e non richiede l'uso di Docker.
Potete reperire l’immagine d’installazione di Ubuntu cliccando qui, mentre per l’installazione potete consultare la guida di Canonical a questo indirizzo. Per semplificarvi alcuni passaggi successivi, vi consigliamo di marcare la spunta per driver e software aggiuntivi, installazione minimale e per l’accesso automatico al momento di configurare l’utente.
- Una volta installato Ubuntu, il primi step da fare sarà assegnare un IP statico e un DNS alla macchina. Per farlo apriamo " impostazioni" cliccando sul menù in alto a sinistra.
- poi su " Via cavo collegato" e "impostazioni rete via cavo", per arrivare alla finestra qui sotto.
- Clicchiamo sull'ingranaggio a destra del cursore viola per personalizzare le impostazioni di rete, prendiamo nota della configurazione attuale e spostiamoci sulla tab " IPv4". Selezioniamo "manuale" su "metodo IPv4", riportiamo lì i dati annotati in precedenza per renderli permanenti cliccando su "applica".
Ora possiamo procedere con l'installazione vera e propria di PiHole. Per farlo abbiamo bisogno di un terminale con privilegi di root, dal launcher eseguiamo quindi "terminale" e diventiamo root col comando:
sudo -s
- Quando richiesta digitiamo la password scelta in fase di installazione. Il ritorno al prompt, stavolta di colore bianco, conferma il buon esito del primo comando.
- Prima di iniziare l'installazione di PiHole è bene aggiornare il sistema con questi comandi:
apt-get update && apt-get upgrade -y && apt-get install curl -y
- Al termine delle operazioni di aggiornamento è bene riavviare il sistema, solo dopo il riavvio sarò possibile riaprire il terminale e procedere con l'installazione vera e propria di PiHole tramite questo comando:
sudo curl -sSL https://install.pi-hole.net | bash
L'installazione procede in maniera automatica e non serve mettere mano alle scelte pre-impostate, ciò nonostante è bene leggere e comprendere quello che si sta facendo, in particolare nella scelta di un DNS di backup e di annotare la password di default per l'interfaccia web.
- Come sempre il ritorno al prompt indica la conclusione delle operazioni.
- Tramite browser possiamo accedere a localhost/admin e inserire la password che abbiamo annotato in precedenza, per controllare che tutto stia funzionando a dovere.
A questo punto l'installazione è conclusa, per iniziare a utilizzare il PiHole ci sono due possibili opzioni:
- Configurare il vostro Modem per utilizzare un DNS personalizzato;
- Configurare i client uno ad uno per utilizzare un DNS personalizzato.
La prima opzione è la più comoda e veloce, ma sfortunatamente i modem forniti dagli ISP non sempre permettono di impostare un DNS personalizzato. Al contrario, modem generici (anche economici) permettono di farlo. Una volta impostato il modem per utilizzare un DNS personalizzato, tutti i dispositivi connessi ne faranno uso.
Se non potete percorrere la prima opzione nessun problema, potete sempre impostare i DNS e un IP statico a mano sui vostri dispositivi: qui potete trovare la nostra guida su come impostare un IP statico su Windows.
qualsiasi metodo scegliate per configurare la rete, potete verificare che tutto funzioni tornando sulla dashboard di Pihole dopo solo qualche minuto: vedrete i numeri delle queries analizzate ed eventualmente bloccate salire a vista d'occhio!
La configurazione di default di PiHole è già molto buona, ma potete personalizzarlo in maniera completa e totale grazie alle risorse messe a disposizione dalla community ufficiale del progetto. Infine, potete trovare i manuali d'uso per tenere aggiornato il vostro server DNS e risolvere eventuali problemi consultando la documentazione ufficiale .