Pi-hole, nuova versione del server DNS locale anti-tracciamento

Pi-hole è un software open source progettato per funzionare come server DNS locale, bloccando il tracciamento online e i domini pericolosi a livello di rete. Compatibile con Raspberry Pi, Linux e Docker, offre un’interfaccia Web migliorata, supporto HTTPS nativo e una gestione avanzata delle configurazioni.

Sviluppato per funzionare su Raspberry Pi (da cui il prefisso Pi), dispositivo economico e a basso consumo energetico, Pi-hole è un software che può essere configurato e utilizzato come server DNS locale sempre attivo. Il termine “hole” fa riferimento al concetto di sinkhole DNS, una tecnica usata per intercettare e bloccare le richieste verso domini indesiderati. Anche se oggi Pi-hole è installabile su qualsiasi sistema Linux (e persino su Docker), il nome è rimasto invariato per rendere il progetto immediatamente riconoscibile.

Cos’è Pi-hole e come funziona

Pi-hole è un software open source che funge da filtro bloccando la risoluzione di nomi di dominio pericolosi o potenzialmente tali e l’utilizzo di tecniche di tracciamento delle attività online degli utenti. Agisce come un vero e proprio server DNS interno alla rete locale.

Per usare Pi-hole, una volta configurato il software, è essenziale modificare la configurazione DNS dei dispositivi in modo tale che puntino all’indirizzo IP privato (locale) sul quale è in ascolto il server DNS. Per evitare questo passaggio, è sufficiente impostare l’IP di Pi-hole nel pannello di amministrazione del router (sezione “DNS”): penserà il router a inviare a tutti i client connessi in rete locale l’indirizzo IP del DNS da usare.

Impostazione DNS Pi-hole

Installazione su Linux

L’installazione di Pi-hole su un sistema Linux è molto semplice. Basta eseguire il seguente comando:

curl -sSL https://install.pi-hole.net | bash

Lo script avvia il processo di installazione guidata, che propone la configurazione del DNS, delle liste di blocco e delle opzioni di rete.

Installazione su Docker

Pi-hole può essere eseguito anche all’interno di un container Docker, utile per ambienti più flessibili o basati su NAS. Il comando base per avviare un’istanza Docker di Pi-hole è:

docker run -d \
--name pihole \
--net=host \
-e TZ=Europe/Rome \
-e WEBPASSWORD="tuapassword" \
-v /path/to/pihole:/etc/pihole \
-v /path/to/dnsmasq:/etc/dnsmasq.d \
pihole/pihole:latest

Cos’è il server o resolver DNS upstream

Il server DNS upstream (o resolver upstream) è un server DNS esterno a cui Pi-hole inoltra le richieste di risoluzione dei nomi di dominio una volta conclusa la sua azione di filtro.

In altre parole, per i nomi di dominio che non sono contenuti nella sua lista di blocco (blocklist), Pi-hole inoltra le richieste al server DNS pubblico (come Google DNS, Cloudflare, OpenDNS, Quad9,…) o al server DNS privato specificati dall’utente in fase di configurazione.

Le principali novità di Pi-hole 6

Pi-hole v6 introduce miglioramenti significativi in termini di prestazioni, sicurezza e usabilità, rendendo il software più leggero e versatile. La nuova versione incorpora un server Web e un’API REST direttamente all’interno del file binario pihole-FTL, eliminando la dipendenza da lighttpd e PHP. Questo riduce il peso dell’installazione e migliora le prestazioni, oltre a introdurre una paginazione lato server per i log delle query, rendendo l’interfaccia più reattiva. Grazie all’integrazione di Lua, l’interfaccia Web di Pi-hole è stata completamente riscritta per sfruttare al meglio la nuova architettura.

La nuova versione dell’applicazione permette di stilare allowlist, ovvero elenchi di domini consentiti che funzionano in modo simile alle blocklist, ma con l’effetto opposto. In questo modo è possibile beneficiare di una gestione più flessibile dei domini filtrati.

I file di configurazione sono spostati in un unico oggetto TOML, semplificando la gestione e la comprensione delle impostazioni. Il nuovo file si trova nel percorso /etc/pihole/pihole.toml.

Le configurazioni possono essere modificate in diversi modi:

  • Modifica diretta del file TOML.
  • Tramite riga di comando (es. pihole-FTL --config dns.upstreams 8.8.8.8)
  • Utilizzando l’API REST.
  • Attraverso l’interfaccia web.
  • Impostando variabili d’ambiente (es. FTLCONF_dns_upstreams=8.8.8.8`)

L’interfaccia Web di Pi-hole appare completamente riprogettata e ora offre due modalità:

  • Base: Per utenti che desiderano una configurazione semplice e veloce.
  • Esperto: Per chi necessita di un controllo più dettagliato sulle impostazioni.

Pi-hole v6 offre il supporto nativo per HTTPS, permettendo agli utenti di caricare certificati personalizzati e utilizzare certificati auto-generati.

Infine, il container Docker di Pi-hole è stato completamente riscritto ed è ora basato su Alpine Linux invece di Debian. Gli sviluppatori hanno così potuto ridurre significativamente il peso dell’immagine.

Aggiornamento e installazione

L’aggiornamento a Pi-hole v6 è irreversibile, quindi è consigliato effettuare un backup della configurazione precedente prima di procedere. Il comando per aggiornare è il seguente:

pihole -up

Durante il processo, l’applicazione chiede se disabilitare lighttpd (consigliato a meno che non venga usato per altri siti Web). Se lighttpd è disabilitato, pihole-FTL tenterà di usare le porte 80 (HTTP) e 443 (HTTPS), con fallback sulla porta 8080 in caso di conflitti.

Per gli utenti Docker, l’aggiornamento segue lo stesso processo, con la differenza che le vecchie variabili d’ambiente non sono più supportate. Si consiglia di consultare la documentazione ufficiale prima di eseguire l’upgrade.

Ti consigliamo anche

Link copiato negli appunti