Crittografare il DNS upstream di Pi-hole su Ubuntu Server 24.04

In questo esempio illustrativo, Linh esegue Pi-hole su Ubuntu Server 24.04 e desidera crittografare le richieste DNS che Pi-hole invia al server remoto. Installa Pi-hole dnscrypt-proxy, associalo a un server 127.0.0.1:5053, scegli un resolver DNS-over-HTTPS (DoH), testa il proxy locale e infine configura Pi-hole in modo che utilizzi tale proxy. Questa procedura presuppone che Pi-hole sia già installato e funzionante; Linh è un esempio ipotetico, non un'installazione reale o un report di test.

Scegliere un metodo DoH attuale

Pi-hole non comunica direttamente tramite DoH con il suo resolver a monte; normalmente inoltra le richieste DNS a un indirizzo IP e a una porta specifici. Un proxy locale funge da ponte tra i due protocolli: Pi-hole invia le richieste DNS standard a un listener locale privato, e il proxy invia le richieste crittografate al resolver selezionato. In questo esempio, Linh utilizza Pi-hole dnscrypt-proxysullo stesso server e mantiene il suo listener sull'interfaccia di loopback, in modo che altri dispositivi non possano connettersi direttamente a quel proxy.

Evitate di iniziare una nuova installazione con la cloudflared proxy-dnsricetta precedente. La pagina attuale di Pi-hole relativa a Cloudflare indica che tale funzionalità è stata deprecata da Cloudflare nel novembre 2025 e che le nuove installazioni che la utilizzano non sono raccomandate. Le istruzioni di Pi-hole per dnscrypt-proxy offrono un'alternativa supportata. L'elenco dei pacchetti di Ubuntu Noble attualmente include dnscrypt-proxy; le versioni dei pacchetti variano in base all'architettura e possono cambiare con la pubblicazione degli aggiornamenti.

Prompt del terminale di Ubuntu Server con il comando sudo apt install dnscrypt-proxy
Comando da terminale Ubuntu per installare dnscrypt-proxy dai repository di pacchetti Noble.

1. Installa il pacchetto Ubuntu

Aggiorna gli elenchi dei pacchetti di APT e installa il pacchetto del repository Noble:

sudo apt update
sudo apt install dnscrypt-proxy

Il pacchetto si trova nel componente Universe di Ubuntu. Se APT non riesce a trovarlo, verifica che Universe sia abilitato e riavvia il processo sudo apt update. Non scaricare una build di terze parti a caso per aggirare un problema di configurazione del repository.

Prima di continuare, verificare che Ubuntu abbia installato l'unità socket systemd utilizzata dalla procedura Pi-hole:

systemctl list-unit-files dnscrypt-proxy.socket

L'elenco dei file del pacchetto Ubuntu Noble include dnscrypt-proxy.socket, e le istruzioni di Pi-hole utilizzano quel socket per fornire un listener DNS locale senza entrare in conflitto con il servizio di Pi-hole sulla porta 53.

L'editor Nano mostra un override del socket systemd associato a 127.0.0.1 sulla porta 5053
Sovrascrittura del socket con listener TCP e UDP cancellati e reindirizzamento a localhost sulla porta 5053.

2. Associa il proxy alla porta 5053 di localhost.

Il servizio DNS FTL di Pi-hole normalmente utilizza la porta 53. Assegna una porta diversa a dnscrypt-proxy e associalo solo al server stesso. Crea un override di systemd:

sudo systemctl edit dnscrypt-proxy.socket

Aggiungi queste righe al file di override vuoto, salva ed esci:

[Socket]
ListenStream=
ListenDatagram=
ListenStream=127.0.0.1:5053
ListenDatagram=127.0.0.1:5053

Le assegnazioni vuote cancellano i listener originali della porta 53 dell'unità socket prima che vengano aggiunti i nuovi indirizzi. Mantenere il listener a 127.0.0.1è importante: non modificarlo in 0.0.0.0per questa configurazione same-host, perché ciò esporrebbe il proxy su ogni interfaccia di rete.

Nano editor che mostra dnscrypt-proxy configurato con attivazione tramite socket e il resolver cloudflare-security.
Impostazioni TOML di dnscrypt-proxy che utilizzano l'attivazione tramite socket systemd e selezionano il resolver di sicurezza Cloudflare.

3. Selezionare il risolutore DoH

Aprire il file di configurazione del pacchetto:

sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.toml

Impostare i seguenti valori, mantenendo intatta la restante configurazione predefinita:

listen_addresses = []
server_names = ['cloudflare-security']

Un listen_addresseselenco vuoto indica a dnscrypt-proxy di utilizzare l'attivazione tramite socket systemd. Il resolver Cloudflare Security specificato è l'esempio utilizzato nella guida di Pi-hole per dnscrypt-proxy; applica il filtro antimalware del resolver in aggiunta alle blacklist di Pi-hole. Se preferisci un altro provider o nessun filtro di sicurezza aggiuntivo, scegli un resolver DoH aggiornato dall'elenco pubblico di resolver e utilizza il suo nome server esatto. I nomi disponibili e le policy dei resolver possono cambiare, quindi verifica la voce corrente anziché copiare un nome obsoleto da un vecchio post.

Riavvia il socket e il servizio affinché le impostazioni di override e TOML abbiano effetto:

sudo systemctl restart dnscrypt-proxy.socket
sudo systemctl restart dnscrypt-proxy.service

Quindi, testa il listener locale prima di modificare il flusso upstream di Pi-hole:

dig @127.0.0.1 -p 5053 example.com

Una risposta DNS e uno stato di uscita pari a zero indicano che il proxy locale ha risposto alla query. Per confermare che l'upstream selezionato utilizza DoH, esaminare i messaggi di servizio recenti e cercare il resolver contrassegnato OK (DoH):

sudo journalctl -u dnscrypt-proxy.service -n 50 --no-pager
Se dignon è installato, installa il pacchetto di Ubuntu dnsutils. Se la query va in timeout o il log non mostra un resolver DoH, controlla sudo systemctl status dnscrypt-proxy.socket dnscrypt-proxy.serviceil registro dei servizi prima di procedere.

Prompt del terminale Ubuntu che mostra il comando Pi-hole per impostare 127.0.0.1 porta 5053 come server DNS upstream.
Comando CLI di Pi-hole per impostare il proxy DNS crittografato locale come resolver upstream.

4. Configurare Pi-hole in modo che punti al proxy locale.

Solo dopo che il test locale ha avuto successo, sostituisci l'elenco upstream di Pi-hole con il listener locale:

sudo pihole-FTL --config dns.upstreams '["127.0.0.1#5053"]'
sudo systemctl restart pihole-FTL.service

Il valore utilizza il formato upstream personalizzato di Pi-hole: 127.0.0.1è l'host locale e #5053specifica la porta DNS non standard. Puoi anche inserirlo 127.0.0.1#5053in Impostazioni > DNS > Server DNS upstream personalizzati nell'interfaccia di amministrazione di Pi-hole. Deseleziona gli upstream pubblici preimpostati e salva, altrimenti Pi-hole potrebbe continuare a inviare alcune richieste direttamente a essi senza utilizzare DoH.

Verifica il percorso completo

Interroga Pi-hole stesso, utilizzando il suo indirizzo LAN al posto di PIHOLE_IP:

dig @PIHOLE_IP example.com

Verificare che la ricerca abbia esito positivo, che il registro delle query di Pi-hole mostri la richiesta del client e che lo stato del servizio o i log di dnscrypt-proxy indichino che il server upstream selezionato è raggiungibile. Il percorso risultante dovrebbe essere client-Pi-hole sulla LAN, quindi Pi-hole-al proxy localhost e infine proxy-al resolver DoH. Questo percorso crittografa la tratta server-resolver; non crittografa il normale traffico DNS tra un client e Pi-hole sulla LAN, non nasconde le query al resolver scelto e non trasforma Pi-hole in una VPN.

Per i dettagli relativi ai comandi e alle versioni, consultare la guida di Pi-hole dnscrypt-proxy (datata 16 febbraio 2026), l' avviso di deprecazione su cloudflared (datato 12 febbraio 2026), la documentazione del pacchetto dnscrypt-proxy di Noble per Ubuntu e l' elenco pubblico aggiornato dei resolver DoH e DNSCrypt . Se un servizio è inattivo, non passare al proxy in Pi-hole finché il test di query locale non ha esito positivo.

Lascia un commento

Crittografare il DNS upstream di Pi-hole su Ubuntu Server 24.04

Crittografare il DNS upstream di Pi-hole su Ubuntu Server 24.04

Configurare dnscrypt-proxy come bridge DoH locale di Pi-hole su Ubuntu 24.04, con un listener solo per localhost, selezione del resolver e controlli prima del cambio di DNS.

Come far funzionare i gesti del touchpad di Ubuntu 24.04 su Wayland

Come far funzionare i gesti del touchpad di Ubuntu 24.04 su Wayland

Prima di risolvere problemi relativi ad app o hardware, verifica le impostazioni del touchpad di Ubuntu, conferma la presenza di Wayland e testa le gesture integrate di GNOME.

Crea un mirror RAID 1 di Debian 12 con mdadm

Crea un mirror RAID 1 di Debian 12 con mdadm

Crea e verifica un array di dati RAID 1 a due dischi per Debian 12, formattalo in modo sicuro e configuralo per l'assemblaggio e il montaggio dopo il riavvio.

Crittografa la partizione di swap di Debian 12 con una nuova chiave ad ogni avvio.

Crittografa la partizione di swap di Debian 12 con una nuova chiave ad ogni avvio.

Configurare la crittografia a chiave casuale per una partizione di swap Debian 12 esistente, verificare la mappatura dm-crypt attiva e comprendere il compromesso relativo all'ibernazione.

Come limitare l'accesso degli utenti SSH a directory specifiche su Ubuntu 24.04 (Guida SFTP Chroot)

Come limitare l'accesso degli utenti SSH a directory specifiche su Ubuntu 24.04 (Guida SFTP Chroot)

Limita gli account SSH di Ubuntu 24.04 a cartelle SFTP designate tramite chroot, autorizzazioni appropriate, regole di corrispondenza e test di sicurezza, senza concedere l'accesso alla shell.

Rilascia in modo sicuro il blocco APT di Ubuntu e completa l'aggiornamento.

Rilascia in modo sicuro il blocco APT di Ubuntu e completa l'aggiornamento.

Individua il processo proprietario del blocco del frontend dpkg di Ubuntu, lascia che l'elaborazione dei pacchetti termini e ripara le installazioni interrotte senza eliminare i file di blocco.

Come configurare gli snapshot Btrfs automatici su Ubuntu Desktop

Come configurare gli snapshot Btrfs automatici su Ubuntu Desktop

Configura gli snapshot di sistema Btrfs programmati su Ubuntu Desktop con Timeshift, verifica la struttura dei sottovolumi di Ubuntu, scegli il periodo di conservazione e comprendi cosa gli snapshot non possono proteggere.

Come migrare Debian 12 a Testing senza rompere le dipendenze

Come migrare Debian 12 a Testing senza rompere le dipendenze

Pianifica una migrazione più sicura da Debian 12 a Testing: esegui l'aggiornamento tramite la versione Stable, effettua un backup, pulisci i sorgenti APT, simula le modifiche alle dipendenze e verifica cosa è cambiato.

Ubuntu Server Booting into Emergency Mode: A Step-by-Step Rescue Guide

Ubuntu Server Booting into Emergency Mode: A Step-by-Step Rescue Guide

Diagnose Ubuntu Server emergency mode safely. Read boot logs, check root and fstab mounts, repair a failed unit, handle filesystem errors, and verify a clean reboot.

Come configurare una VPN WireGuard Point-to-Site su Debian 12

Come configurare una VPN WireGuard Point-to-Site su Debian 12

Configura un server VPN WireGuard su Debian 12 per un client remoto. Configura le chiavi, l'inoltro IPv4, il NAT con nftables, l'accesso tramite firewall e i controlli di connessione.