Acasă
» Cum să
»
Criptați DNS-ul în amonte Pi-hole pe serverul Ubuntu 24.04
Criptați DNS-ul în amonte Pi-hole pe serverul Ubuntu 24.04
În acest exemplu ilustrativ, Linh rulează Pi-hole pe Ubuntu Server 24.04 și dorește să cripteze cererile DNS pe care Pi-hole le trimite în amonte. Instalați dnscrypt-proxy, legați-l la 127.0.0.1:5053, alegeți un resolver DNS-over-HTTPS (DoH), testați proxy-ul local și apoi indicați Pi-hole către el. Această demonstrație presupune că Pi-hole este deja instalat și funcționează; Linh este un exemplu ipotetic, nu o instalare reală sau un raport de testare.
Alegeți o metodă DoH actuală
Pi-hole nu transmite el însuși DoH către resolverul său din amonte; în mod normal, redirecționează DNS către o adresă IP și un port. Un proxy local leagă cele două protocoale: Pi-hole trimite DNS standard către un listener local privat, iar proxy-ul trimite cereri criptate către resolverul selectat. În acest exemplu, Linh folosește dnscrypt-proxyacelași server și își menține listenerul în loopback, astfel încât alte dispozitive nu se pot conecta direct la acel proxy.
Evitați să începeți o instalare nouă cu cloudflared proxy-dnsrețeta mai veche. Pagina actuală Cloudflared a Pi-hole spune că această funcție a fost depreciată de Cloudflare în noiembrie 2025 și că nu se recomandă instalări noi care o utilizează. Instrucțiunile dnscrypt-proxy ale Pi-hole oferă o alternativă întreținută. Lista de pachete Ubuntu Noble include în prezent dnscrypt-proxy; versiunile pachetului variază în funcție de arhitectură și se pot modifica pe măsură ce sunt publicate actualizări.
Comandă de terminal Ubuntu pentru instalarea dnscrypt-proxy din depozitele de pachete Noble.
1. Instalați pachetul Ubuntu
Actualizați listele de pachete APT și instalați pachetul repozitoriului Noble:
sudo apt update
sudo apt install dnscrypt-proxy
Pachetul se află în componenta Universe a Ubuntu. Dacă APT nu îl poate localiza, verificați dacă Universe este activat și rulați-l din nou sudo apt update. Nu descărcați o versiune aleatorie de la o terță parte pentru a rezolva o problemă de configurare a repozitoriului.
Înainte de a continua, confirmați că Ubuntu a instalat unitatea socket systemd utilizată de procedura Pi-hole:
systemctl list-unit-files dnscrypt-proxy.socket
Lista de fișiere a pachetului Ubuntu Noble include dnscrypt-proxy.socket, iar instrucțiunile Pi-hole utilizează acel socket pentru a oferi un listener DNS local fără a concura cu propriul serviciu de port 53 al Pi-hole.
Suprascrierea socketului cu listenerele TCP și UDP curățate și revenirea la localhost pe portul 5053.
2. Legați proxy-ul la portul localhost 5053
Serviciul DNS FTL al Pi-hole deține în mod normal portul 53. Dați-i sistemului dnscrypt-proxy un port diferit și legați-l doar la serverul în sine. Creați o suprascriere systemd:
sudo systemctl edit dnscrypt-proxy.socket
Adăugați aceste linii în fișierul gol de override, salvați și ieșiți:
Asignările goale șterg listener-ele originale de la portul 53 ale unității socket înainte de adăugarea noilor adrese. Menținerea listener-ului la 127.0.0.1este importantă: nu-l schimbați la 0.0.0.0pentru această configurație cu aceeași gazdă, deoarece acest lucru ar expune proxy-ul pe fiecare interfață de rețea.
Setările TOML dnscrypt-proxy care utilizează activarea socketului systemd și selectează rezolverul de securitate Cloudflare.
3. Selectați rezolverul DoH
Deschideți fișierul de configurare al pachetului:
sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.toml
Setați următoarele valori, păstrând intactă restul configurației pachetului:
O listen_addresseslistă goală indică sistemului dnscrypt-proxy să utilizeze activarea socketului systemd. Resolverul de securitate Cloudflare numit este exemplul utilizat în ghidul dnscrypt-proxy al Pi-hole; acesta aplică filtrarea malware a resolverului, pe lângă listele de blocare proprii ale Pi-hole. Dacă preferați un alt furnizor sau nicio filtrare de securitate suplimentară, alegeți un resolver DoH actual din lista publică de resolvere întreținută și utilizați numele exact al serverului său. Numele și politicile de resolvere disponibile se pot schimba, așadar verificați intrarea curentă în loc să copiați un nume învechit dintr-o postare veche.
Reporniți socketul și serviciul astfel încât setările de suprascriere și TOML să aibă efect:
Apoi testați ascultătorul local înainte de a schimba upstream-ul lui Pi-hole:
dig @127.0.0.1 -p 5053 example.com
Un răspuns DNS și o stare de ieșire zero indică faptul că proxy-ul local a răspuns la interogare. Pentru a confirma că upstream-ul selectat utilizează DoH, verificați mesajele de serviciu recente și căutați resolver-ul marcat cu OK (DoH):
Dacă dignu este instalat, instalați pachetul Ubuntu dnsutils. Dacă interogarea expiră sau jurnalul nu afișează un rezolver DoH, verificați sudo systemctl status dnscrypt-proxy.socket dnscrypt-proxy.servicejurnalul de service înainte de a continua.
Comandă CLI Pi-hole pentru setarea proxy-ului DNS criptat local ca resolver în amonte.
4. Îndreptați Pi-hole către proxy-ul local
Numai după ce testul local funcționează, înlocuiți lista upstream a lui Pi-hole cu listener-ul local:
Valoarea folosește formatul personalizat upstream al Pi-hole: 127.0.0.1este gazda locală și #5053specifică portul DNS nestandard. De asemenea, puteți introduce opțiunea 127.0.0.1#5053în Setări > DNS > Servere DNS upstream personalizate din interfața de administrare Pi-hole. Debifați upstream-urile publice presetate și salvați, altfel Pi-hole poate continua să trimită unele solicitări direct către acestea fără a utiliza DoH.
Verificați calea completă
Interogați Pi-hole în sine, folosind adresa sa LAN în loc de PIHOLE_IP:
dig @PIHOLE_IP example.com
Confirmă că căutarea a reușit, jurnalul de interogări al Pi-hole arată solicitarea clientului, iar starea serviciului sau jurnalele dnscrypt-proxy arată că upstream-ul selectat este accesibil. Calea rezultată ar trebui să fie client către Pi-hole prin LAN, apoi Pi-hole către proxy-ul localhost, apoi proxy către resolver-ul DoH. Aceasta criptează segmentul server-resolver; nu criptează traficul DNS obișnuit dintre un client și Pi-hole din LAN, nu ascunde interogările de la resolver-ul ales și nu transformă Pi-hole într-un VPN.