Hoe configureer je Pi-hole DNS-over-HTTPS op Ubuntu Server 24.04?

Voor Pi-hole op Ubuntu Server 24.04 moet je de upstream-verzoeken via routeren dnscrypt-proxyen Pi-hole laten verwijzen naar de lokale listener op 127.0.0.1#5053. Dit versleutelt het DNS-verkeer tussen je server en de geselecteerde upstream-resolver met DNS-over-HTTPS (DoH), terwijl Pi-hole je LAN-clients blijft beantwoorden en de blokkeerlijsten blijft toepassen. Pi-hole zelf biedt standaard geen DoH-transport naar de upstream; de lokale proxy verzorgt die versleutelde verbinding.

Er is een belangrijk detail met betrekking tot de huidige versie: Cloudflare heeft de cloudflared proxy-dnsopdracht verwijderd uit nieuwe releases vanaf 2 februari 2026. Oudere handleidingen die deze opdracht installeren, werken mogelijk niet met een recente cloudflaredrelease. De onderstaande stappen gebruiken dnscrypt-proxyde huidige DoH-handleiding van Pi-hole. Deze configuratie is geschikt wanneer Pi-hole en de proxy op dezelfde Ubuntu-host draaien. Een Docker- of multi-host-configuratie vereist andere listener-adressen en firewallregels.

Wat deze configuratie wel en niet doet.

Normale DNS verstuurt doorgaans query's van uw resolver naar een upstream DNS-provider zonder transportversleuteling. DoH verzendt DNS-verzoeken via HTTPS, waardoor het voor een netwerkobservator tussen uw Pi-hole-server en de resolver moeilijker wordt om die verzoeken te lezen of te wijzigen. Pi-hole blijft de DNS-server die aan apparaten op uw lokale netwerk wordt geadverteerd; alleen het upstream-pad verandert.

DoH maakt DNS-activiteit niet onzichtbaar voor de resolver die u kiest. De upstream-provider ontvangt nog steeds query's van uw server en Pi-hole kan de querygeschiedenis van clients bewaren, afhankelijk van de privacy- en logboekinstellingen. HTTPS versleutelt ook geen ongerelateerd webverkeer. Als u een specifieke resolver wilt gebruiken, controleer dan het privacybeleid en kies de bijbehorende DoH-optie uit de lijst met ondersteunde resolvers.

Voordat je begint

  • Controleer of Pi-hole al is geïnstalleerd en werkt op Ubuntu Server 24.04. Deze handleiding configureert een bestaande Pi-hole-installatie in plaats van een nieuwe te installeren.
  • Zorg ervoor dat de server een stabiel LAN-adres heeft. Als het adres verandert, kunnen DHCP-clients van de router hun DNS-server kwijtraken.
  • Zorg dat u beheerdersrechten hebt en de Pi-hole-host kunt bereiken als DNS tijdelijk niet werkt. Voer deze wijziging niet op afstand door via een verbinding die voor naamresolutie afhankelijk is van dezelfde Pi-hole.
  • Noteer de huidige Pi-hole upstream-instellingen, zodat u deze kunt herstellen tijdens een rollback.

De proxy zal alleen verbinding maken met loopback op poort 5053, waardoor poort 53 beschikbaar blijft voor Pi-hole. Dit voorkomt concurrentie met de DNS-service van Pi-hole en de lokale resolver van Ubuntu. Schakel deze functie niet uit systemd-resolvedom dit ontwerp te laten werken; de aparte loopback-poort van de proxy voorkomt dit conflict.

1. Installeer dnscrypt-proxy vanuit de pakketrepository's van Ubuntu.

Het dnscrypt-proxy-project documenteert een installatieprocedure voor Ubuntu-pakketten. Controleer of uw geconfigureerde Ubuntu-repository's een geschikte kandidaat aanbieden voordat u installeert:

sudo apt update
apt-cache policy dnscrypt-proxy

Als de uitvoer een kandidaatversie toont, installeer deze dan:

sudo apt install dnscrypt-proxy

Als er geen geschikte kandidaat wordt weergegeven, voeg dan geen ongerelateerde repository van derden toe om verder te gaan. Gebruik de installatiemethode die wordt beschreven in de officiële Linux-handleiding van het dnscrypt-proxy-project, controleer de release en architectuur en pas de serviceconfiguratie aan die installatie aan. De onderstaande systemd-socketunit en configuratiepaden zijn van toepassing op de Ubuntu-pakketinstallatie zoals beschreven door Pi-hole.

2. Verplaats de proxy-listener naar localhost poort 5053

Pi-hole gebruikt al de standaard DNS-poort 53. Configureer de socket van de proxy om te luisteren op zowel TCP als UDP op 127.0.0.1:5053, en alleen bereikbaar vanaf dezelfde host. Maak een systemd drop-in aan:

sudo systemctl edit dnscrypt-proxy.socket

Voer deze regels in de editor in en sla op:

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

De lege ListenStream=regels ListenDatagram=wissen de standaardinstellingen van het pakket voordat de vervangende adressen worden ingesteld. Laat ze niet weg: anders kan systemd naast de aangepaste listener ook de standaardpoort behouden.

3. Selecteer een DoH-resolver

Open het pakketconfiguratiebestand:

sudoedit /etc/dnscrypt-proxy/dnscrypt-proxy.toml

Voor het activeren van systemd-sockets gebruikt u een lege lijst met listeners in de proxyconfiguratie. Kies een resolvernaam uit de huidige lijst met ondertekende openbare resolvers. De volgende code selecteert bijvoorbeeld de standaard Cloudflare-resolver; de Pi-hole-handleiding laat ook cloudflare-securityeen voorbeeld zien voor het geval malwarefiltering bij de upstream-resolver gewenst is:

listen_addresses = []
server_names = ['cloudflare']

Laat de rest van de pakketconfiguratie intact. De namen in dit bestand server_nameszijn register-ID's, geen willekeurige hostnamen of URL-paden. Als u de voorkeur geeft aan een andere provider, controleer dan of de huidige resolver-vermelding DoH ondersteunt en kopieer de exacte naam. Een resolver die malware of andere categorieën filtert, kan andere resultaten opleveren dan een resolver die niet filtert.

4. Stel Pi-hole in op de lokale proxy.

Stel het upstream DNS-adres van Pi-hole in op de lokale listener:

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

Het #5053achtervoegsel is de notatie van Pi-hole voor de niet-standaard DNS-poort. Je kunt dit ook controleren in de Pi-hole-beheerinterface onder Instellingen > DNS . Verwijder de vooraf ingestelde openbare upstream-selecties en laat de aangepaste server 127.0.0.1#5053als upstream staan. Het ingeschakeld laten van een openbare resolver als extra upstream kan ervoor zorgen dat query's de versleutelde proxy omzeilen. Verwijder deze vermeldingen dus als je wilt dat alle Pi-hole upstream-query's DoH gebruiken.

5. Start de services opnieuw en controleer of het probleem is opgelost.

Herstart de socket, de proxyservice en de Pi-hole FTL-daemon zodat ze de nieuwe configuratie laden:

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

Controleer de servicestatus:

sudo systemctl status dnscrypt-proxy.socket
sudo systemctl status dnscrypt-proxy.service
sudo systemctl status pihole-FTL.service

Elk onderdeel moet actief zijn zonder bindfout of mislukte opstart van de resolver. Test de proxy rechtstreeks via de lokale DNS-listener:

dig @127.0.0.1 -p 5053 example.com

Een DNS-antwoord geeft aan dat de lokale proxy reageert. Test vervolgens Pi-hole op poort 53:

dig @127.0.0.1 example.com

Controleer het Pi-hole querylogboek of dashboard om te bevestigen dat het verzoek Pi-hole heeft bereikt, en bekijk het logboek van de proxy als de test mislukt:

sudo journalctl -u dnscrypt-proxy.service -b --no-pager

Controleer voor de zekerheid ook de opstartgegevens van de proxy of de loguitvoer voor de geselecteerde resolver en de status van het DoH-protocol. Een succesvolle digDNS-resolutie bewijst op zich dat de DNS-resolutie werkt; het bewijst echter niet dat het verzoek via HTTPS is verzonden.

Veelvoorkomende problemen en een veilig herstel

  • “Adres al in gebruik”: een ander proces bezet mogelijk al poort 5053, of de socket-override is niet geladen. Controleer de listeners met sudo ss -lntup, bekijk de drop-in met systemctl cat dnscrypt-proxy.socket, en bevestig dat de lege reset-regels voorafgaan aan de 5053-vermeldingen.
  • De proxy is actief, maar de zoekopdrachten lopen vast: controleer de uitgaande HTTPS-toegang, de naam van de resolver en de proxylogboeken. Sommige netwerken blokkeren DNS-over-HTTPS-verbindingen of beperken TCP-poort 443.
  • De proxytest werkt, maar Pi-hole ontvangt geen reactie van de upstream-server: controleer of Pi-hole correct is ingesteld 127.0.0.1#5053en herstart het systeem pihole-FTL. Zorg ervoor dat de standaard selectievakjes voor de upstream-server niet stiekem een ​​alternatieve route opgeven.
  • Ubuntu zelf kan na deze wijziging geen namen meer oplossen: deze configuratie wijzigt de upstream-configuratie van Pi-hole, niet die van de host /etc/resolv.conf. Vermijd het vervangen van dat bestand of het uitschakelen ervan systemd-resolvedals een snelle oplossing voor problemen.

Om terug te keren naar de oorspronkelijke DNS-instelling, herstelt u de upstream-instellingen die u in Pi-hole hebt vastgelegd en start u Pi-hole opnieuw op pihole-FTL. Zodra Pi-hole niet langer naar de proxy verwijst, kunt u deze uitschakelen of verwijderen dnscrypt-proxyvia de pakketbeheerder. Als deze server ook zijn eigen DNS via Pi-hole oplost, zorg er dan voor dat er een lokaal herstelpad beschikbaar is voordat u services wijzigt.

Welke optie past het beste bij uw netwerk?

Gebruik deze proxy-configuratie met één host wanneer u gecentraliseerde DNS-filtering in Pi-hole wilt en versleuteld verkeer van Pi-hole naar één geselecteerde resolver. Het is relatief eenvoudig te controleren omdat de proxy één lokaal adres en poort heeft. Als u Pi-hole in Docker, op een andere server of over meerdere netwerken uitvoert, heeft u mogelijk een containernetwerkadres nodig in plaats van een loopback-adres, en moet u de proxy-listener beperken zodat deze niet als een open resolver wordt blootgesteld. Als u beleidsgebaseerde filtering, apparaatidentificatie of versleutelde DNS voor roamingapparaten buiten het huis nodig heeft, configureert u die clients of een beheerde gateway afzonderlijk; de upstream DoH-verbinding van Pi-hole versleutelt niet automatisch het pad van elke client naar Pi-hole.

Onthoud tot slot dat een router of client Pi-hole kan omzeilen als deze een tweede DNS-server adverteert. Voor netwerkbrede filtering kunt u clients via DHCP alleen het Pi-hole-adres geven en rekening houden met zowel IPv6- als IPv4-DNS-advertenties. Controleer dit met meerdere apparaten nadat u de routerinstellingen hebt gewijzigd, aangezien een correcte proxyconfiguratie op de server niet kan voorkomen dat een client rechtstreeks een andere resolver gebruikt.

Officiële referenties

Laat een reactie achter

Hoe pas je het XFCE-paneel aan in Pardus Linux voor Windows-gebruikers?

Hoe pas je het XFCE-paneel aan in Pardus Linux voor Windows-gebruikers?

Zorg ervoor dat Pardus XFCE vertrouwd aanvoelt met een taakbalk onderaan, een applicatiemenu, favoriete launchers, knoppen voor geopende vensters, een systeemvak en een klok. Leer wat je kunt veranderen en hoe je de lay-out kunt testen.

How to Set Up Automated Headless Debian Upgrades with Unattended-Upgrades

How to Set Up Automated Headless Debian Upgrades with Unattended-Upgrades

Configure unattended-upgrades on a headless Debian server, verify systemd timers, test safely, control reboots, and monitor automatic security updates.

Los het probleem op dat de Cockpit-webconsole geen verbinding maakt op SUSE Linux Enterprise Server.

Los het probleem op dat de Cockpit-webconsole geen verbinding maakt op SUSE Linux Enterprise Server.

Los problemen met Cockpit op SUSE Linux Enterprise Server op door de HTTPS-URL, de systemd-socket, de geïnstalleerde pakketten, de firewalld-zone, certificaten en logbestanden te controleren.

Hoe migreert u SLES 15 SP5 naar SP6 zonder systeemuitval?

Hoe migreert u SLES 15 SP5 naar SP6 zonder systeemuitval?

Leer hoe u de beschikbaarheid van services kunt waarborgen tijdens een migratie van SLES 15 SP5 naar SP6 met een geteste SLE HA rolling upgrade, node-by-node controles en een duidelijke waarschuwing voor downtime op één server.

Hoe configureer je Pi-hole DNS-over-HTTPS op Ubuntu Server 24.04?

Hoe configureer je Pi-hole DNS-over-HTTPS op Ubuntu Server 24.04?

Configureer Pi-hole op Ubuntu Server 24.04 om DNS-over-HTTPS te gebruiken met dnscrypt-proxy, controleer vervolgens de lokale upstream en voorkom veelvoorkomende DNS-conflicten.

Hoe los je het probleem op dat de YaST GUI niet start via SSH X11-forwarding?

Hoe los je het probleem op dat de YaST GUI niet start via SSH X11-forwarding?

Los problemen met de YaST GUI op via SSH X11-forwarding. Test DISPLAY, los de gedocumenteerde Qt XIO-fout op, controleer de SSH-instellingen en schakel indien nodig over naar ncurses.

Hoe stel je een lokale SUSE RMT-server in (vervanging voor SMT)?

Hoe stel je een lokale SUSE RMT-server in (vervanging voor SMT)?

SUSE RMT instellen op SLES 15, SCC-metadata synchroniseren, geselecteerde repositories spiegelen, clients registreren via HTTPS en de beperkingen van migratie vanuit SMT begrijpen.

Probleem oplossen waarbij geluidskaartstuurprogramma's niet worden gedetecteerd in Pardus Linux 23

Probleem oplossen waarbij geluidskaartstuurprogramma's niet worden gedetecteerd in Pardus Linux 23

Los problemen op met een ontbrekende geluidkaart in Pardus Linux 23. Controleer de ALSA-detectie, kernelmodules, audioservices, uitvoerprofielen, firmware en updates.

Probleem oplossen waarbij de schermresolutie vastzit op 1024x768 op een Pardus KVM-gast.

Probleem oplossen waarbij de schermresolutie vastzit op 1024x768 op een Pardus KVM-gast.

Los het probleem op dat een Pardus KVM-gast vastloopt op een resolutie van 1024x768 door de virtuele GPU, de SPICE-agent, de X11- of Wayland-sessie te controleren en te verifiëren of hogere weergavemodi correct zijn ingesteld.

Hoe koppel je automatisch een externe SSHFS-directory bij het opstarten in Debian?

Hoe koppel je automatisch een externe SSHFS-directory bij het opstarten in Debian?

In Debian kun je bij het opstarten automatisch een externe SSHFS-directory koppelen met behulp van sleutelgebaseerde SSH, /etc/fstab, systemd-netwerkopties, automatisch koppelen en verificatiestappen.