
guide
Tutti i linguaggi per diventare uno sviluppatore di app per Android.
Configurazione avanzata di Pi-hole per utilizzare RaspberryPi come ad-blocker.
In un precedente articolo abbiamo introdotto le funzionalità di Pi-hole e esplorato la sua procedura di installazione. In questo, invece, vedremo come integrare il nostro dispositivo e cominciare a esaudire le richieste DNS dai client della rete locale.
La dashboard di Pi-hole offre statistiche sulla percentuale di query bloccate e il numero complessivo di domini bloccati oltre a un semplice grafico esplicativo dell’andamento delle query DNS gestite nelle ultime 24 ore. Dopo aver effettuato il login la pagina si popola con ulteriori widget informativi sui domini più richiesti e i client più attivi. Al primo accesso, ovviamente, i log sono vuoti perchè i client non sono consapevoli dell’esistenza di questo nuovo server DNS interno. Il primo passo sarà dunque quello di impostare Pi-hole come server DNS primario per la rete locale. Le opzioni per farlo sono essenzialmente tre.
In primis, possiamo configurare staticamente i server DNS utilizzati da tutti i client nelle loro impostazioni di rete (o di interfaccia) del sistema operativo. Questa è la strada ideale da percorrere per chi vuole testare performance e affidabilità del sistema su un numero limitato di client (anche uno solo) prima di allargarne l’uso a tutti gli host presenti nella LAN. I client configurati staticamente, con l’indirizzo IP della Pi-hole come server DNS primario, saranno da essa protetti. Tutti gli altri continueranno a utilizzare normalmente quelli correnti (ovvero, con ogni probabilità, quelli di default del provider).
La procedura più comune, quindi raccomandata, per integrare Pi-hole in tutta la propria rete, prevede di sfruttare il server DHCP del proprio router con parametri personalizzati relativamente ai server DNS. Specificando l’indirizzo della Pi-hole come server DNS primario, quando i client richiederanno l’assegnazione di un indirizzo IP al router, otterranno dati supplementari che indicheranno loro di utilizzare la Pi-hole come server DNS predefinito.
Sebbene la quasi totalità dei router, tra cui quelli offerti in comodato d’uso dai provider di connettività, supportino la personalizzazione dei server DNS, alcuni potrebbero non consentirla. Pi-hole viene in soccorso anche qui: è possibile abilitare la funzionalità di server DHCP, con la quale Pi-hole si farà carico di assegnare un indirizzo IP ai client che lo richiedano, oltre all’indirizzo del default gateway (il router, personalizzabile) e dei server DNS (la Pi-hole, implicito). Sarà sufficiente abilitare la funzionalità in Settings > DHCP > DHCP server enabled e impostare l’intervallo di indirizzi assegnabili e l’indirizzo del router. È molto importante ricordare di disabilitare il servizio DHCP sul router prima di abilitare quello sulla Pi-hole, per evitare conflitti di assegnazione nella rete locale: i client acquisirebbero altrimenti l’indirizzo offerto dal primo dei due servizi DHCP che risponderà alla richiesta, quindi le informazioni DNS offerte dalla Pi-hole rischierebbero di essere ignorate. Il server DHCP presente in Pi-hole non ha molte altre funzionalità ma supporta quelle più importanti come le assegnazioni statiche (static DHCP leases) e la gestione di un dominio locale.
Un effetto collaterale del delegare alla Pi-hole tutte le funzionalità DNS mantenendo però il DHCP sul router è la perdita della possibilità di gestire un local domain, un dominio privato valido solo per la rete locale con cui diventa possibile indirizzare i singoli host attraverso i loro hostname senza dover memorizzare il loro indirizzo IP. Tipicamente nelle reti domestiche vengono utilizzati domini con estensione .lan o .local, valori comunque personalizzabili. La corrispondenza tra i valori nomehost.dominio e l’indirizzo IP dell’host viene infatti tracciata dal server DHCP: mantenendo questo servizio sul router la Pi-hole non ha modo di risolvere richieste DNS per il dominio locale. Per ovviare a questo problema è possibile attivare il Conditional Forwarding nella sezione Settings > DNS > Advanced. La Pi-hole gestirà tutte le query DNS, tranne quelle relative al dominio locale configurato, che verranno delegate in via eccezionale al router/server DHCP e le cui risposte verranno poi inoltrate al client in maniera trasparente.
Ora che la Pi-hole è in servizio, possiamo osservarne le operazioni nel Query Log: una tabella che elenca i domini richiesti da tutti i client e registra la risposta fornita. L’esito della richiesta è riassunto in uno Status, i più importanti dei quali sono tre:
Direttamente dal Query Log possiamo aggiungere o rimuovere domini dalle liste di blocco attraverso, rispettivamente, i tasti azione Blacklist e Whitelist. Nelle omonime sezioni è possibile specificare inclusioni più dettagliate, mediante wildcard o espressioni regolari. Se ci fosse necessità di seguire in tempo reale le query gestite dalla Pi-hole, lo strumento ideale è Tools > Tail pihole.log, che espone via interfaccia web l’output di uno dei più classici comandi shell di consultazione log.
La lista dei domini bloccati (chiamata scherzosamente gravity in riferimento al “buco nero” rappresentato da Pi-hole) può essere aggiornata dalla sezione Tools > Update Gravity. Si tratta di un’operazione fondamentale da compiere periodicamente vista la natura estremamente dinamica delle liste redatte in crowdsourcing.
Per quanto riguarda l’aggiornamento del sistema nel suo complesso, valgono le note procedure per ogni sistema operativo Raspbian. L’aggiornamento del sottosistema Pi-hole è invece gestito dall’apposita utility CLI, con il comando pihole -up.
Qualora fosse necessario procedere al troubleshooting di un problema di accesso ad una risorsa in rete, è possibile disabilitare temporaneamente o permanentemente il blocco a livello dominio di Pi-hole nella sezione Disable. Pi-hole continuerà ad operare regolarmente come DNS server/forwarder, ma risponderà a tutte le richieste senza onorare la blacklist.
Concludiamo con una tabella di riferimento delle opzioni di pihole più importanti, che permettono di eseguire anche via shell molti dei task accessibili attraverso l’interfaccia web:
Aggiornamento della domain blacklist | pihole -g |
Log pi-hole in tempo reale | pihole -t |
Aggiornamento del sottosistema pi-hole | pihole -up |
Riavvio del sottosistema pi-hole | pihole restartdns |
Disinstallazione completa di pi-hole | pihole uninstall |
Se vuoi aggiornamenti su ad-block, pi-hole, Raspberry Pi inserisci la tua email nel box qui sotto:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
La tua iscrizione è andata a buon fine. Se vuoi ricevere informazioni personalizzate compila anche i seguenti campi opzionali:
Tutti i linguaggi per diventare uno sviluppatore di app per Android.
Come creare applicazioni per il Web con PHP e MySQL per il DBMS.
Tutte le principali tecnologie per diventare uno sviluppatore mobile per iOS.
I fondamentali per lo sviluppo di applicazioni multi piattaforma con Java.
Diventare degli esperti in tema di sicurezza delle applicazioni Java.
Usare Raspberry Pi e Arduino per avvicinarsi al mondo dei Maker e dell’IoT.
Le principali guide di HTML.it per diventare un esperto dei database NoSQL.
Ecco come i professionisti creano applicazioni per il Cloud con PHP.
Lo sviluppo professionale di applicazioni in PHP alla portata di tutti.
Come sviluppare applicazioni Web dinamiche con PHP e JavaScript.
Fare gli e-commerce developer con Magento, Prestashop e WooCommerce.
Realizzare applicazioni per il Web utilizzando i framework PHP.
Creare applicazioni PHP e gestire l’ambiente di sviluppo come un pro.
Percorso base per avvicinarsi al web design con un occhio al mobile.
Realizzare siti Web e Web application con WordPress a livello professionale.
Configurazione iniziale di Pi-hole per utilizzare RaspberryPi come ad-blocker.
Utilizzando pochi euro per l’acquisto di un Raspberry Pi, è possibile creare una hacking station completa e funzionante, basata su Kali Linux.
Una panoramica dei principali sistemi operativi Linux per Raspberry Pi, single-board computer basato su architettura ARM, diffuso in svariati ambiti.
In questa guida è presentato un approccio strutturato alla Domotica open-source adoperando NodeRed e Raspberry Pi.