So richten Sie Pi-hole DNS-over-HTTPS auf Ubuntu Server 24.04 ein

Für Pi-hole auf Ubuntu Server 24.04 leiten Sie die Upstream-Anfragen dnscrypt-proxyüber den lokalen Listener unter 127.0.0.1#5053. Dadurch wird der DNS-Verkehr zwischen Ihrem Server und dem ausgewählten Upstream-Resolver mit DNS-over-HTTPS (DoH) verschlüsselt, während Pi-hole weiterhin Ihre LAN-Clients bedient und seine Blocklisten anwendet. Pi-hole selbst stellt standardmäßig keine DoH-Verbindung zum Upstream bereit; diese verschlüsselte Verbindung wird vom lokalen Proxy bereitgestellt.

Eine wichtige Information zur aktuellen Version: Cloudflare hat den cloudflared proxy-dnsBefehl ab dem 2. Februar 2026 aus neuen Versionen entfernt. Ältere Anleitungen, die diesen Befehl installieren, funktionieren möglicherweise nicht mit aktuellen cloudflaredVersionen. Die folgenden Schritte verwenden dnscrypt-proxydie aktuelle DoH-Anleitung von Pi-hole. Diese Konfiguration eignet sich, wenn Pi-hole und der Proxy auf demselben Ubuntu-Host laufen. Bei einer Docker- oder Multi-Host-Umgebung sind andere Listener-Adressen und Firewall-Regeln erforderlich.

Was diese Konfiguration leistet und was sie nicht leistet

Normales DNS sendet Anfragen von Ihrem Resolver üblicherweise unverschlüsselt an einen vorgelagerten DNS-Anbieter. DoH hingegen überträgt DNS-Anfragen über HTTPS, wodurch es für einen Netzwerkbeobachter zwischen Ihrem Pi-hole-Server und dem Resolver deutlich schwieriger wird, diese Anfragen zu lesen oder zu verändern. Pi-hole bleibt der DNS-Server, der den Geräten in Ihrem lokalen Netzwerk bekanntgegeben wird; lediglich der Pfad zum vorgelagerten DNS-Anbieter ändert sich.

DoH macht DNS-Aktivitäten für den gewählten Resolver nicht unsichtbar. Der Upstream-Provider empfängt weiterhin Anfragen von Ihrem Server, und Pi-hole speichert möglicherweise den Anfrageverlauf des Clients gemäß seinen Datenschutz- und Protokollierungseinstellungen. HTTPS verschlüsselt außerdem keinen fremden Webverkehr. Wenn Sie einen bestimmten Resolver verwenden möchten, prüfen Sie dessen Datenschutzrichtlinie und wählen Sie den entsprechenden DoH-Eintrag aus der Liste der unterstützten Resolver aus.

Bevor Sie beginnen

  • Vergewissern Sie sich, dass Pi-hole bereits auf Ubuntu Server 24.04 installiert ist und funktioniert. Diese Anleitung konfiguriert ein vorhandenes Pi-hole, anstatt es neu zu installieren.
  • Stellen Sie sicher, dass der Server über eine stabile LAN-Adresse verfügt. Ändert sich die Adresse, verlieren die DHCP-Clients des Routers möglicherweise ihren DNS-Server.
  • Sie benötigen Administratorrechte und eine Möglichkeit, den Pi-hole-Host zu erreichen, falls die DNS-Auflösung vorübergehend ausfällt. Vermeiden Sie es, diese Änderung remote über eine Verbindung vorzunehmen, die für die Namensauflösung auf denselben Pi-hole-Server angewiesen ist.
  • Notieren Sie sich die aktuellen Pi-hole-Upstream-Einstellungen, damit Sie diese im Falle eines Rollbacks wiederherstellen können.

Der Proxy bindet ausschließlich an den Loopback-Port 5053, sodass Port 53 für Pi-hole frei bleibt. Dadurch wird eine Konfliktierung mit dem DNS-Dienst von Pi-hole und dem lokalen Resolver von Ubuntu vermieden. Deaktivieren Sie den Proxy nicht, systemd-resolvednur um diese Konfiguration zu ermöglichen; der separate Loopback-Port des Proxys verhindert diesen Konflikt.

1. Installieren Sie dnscrypt-proxy aus den Paketquellen von Ubuntu.

Das dnscrypt-proxy-Projekt dokumentiert einen Installationspfad für Ubuntu-Pakete. Prüfen Sie vor der Installation, ob Ihre konfigurierten Ubuntu-Repositories ein geeignetes Paket anbieten.

sudo apt update
apt-cache policy dnscrypt-proxy

Falls die Ausgabe eine Kandidatenversion anzeigt, installieren Sie diese:

sudo apt install dnscrypt-proxy

Wird kein Kandidat angezeigt, fügen Sie kein fremdes Drittanbieter-Repository hinzu, nur um fortzufahren. Verwenden Sie die Installationsmethode aus der offiziellen Linux-Anleitung des dnscrypt-proxy-Projekts, überprüfen Sie die Version und Architektur und passen Sie die Dienstkonfiguration an diese Installation an. Die unten aufgeführten Pfade für die systemd-Socket-Unit und die Konfiguration beziehen sich auf die von Pi-hole dokumentierte Ubuntu-Paketkonfiguration.

2. Verschieben Sie den Proxy-Listener auf localhost Port 5053.

Pi-hole verwendet bereits den Standard-DNS-Port 53. Konfigurieren Sie den Socket des Proxys so, dass er sowohl auf TCP als auch auf UDP unter lauscht 127.0.0.1:5053, erreichbar nur vom selben Host aus. Erstellen Sie ein systemd-Drop-in:

sudo systemctl edit dnscrypt-proxy.socket

Geben Sie diese Zeilen im Editor ein und speichern Sie:

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

Die leeren ListenStream=Zeilen ListenDatagram=löschen die Paketstandardeinstellungen, bevor die Ersatzadressen festgelegt werden. Lassen Sie diese Zeilen nicht weg: Andernfalls behält systemd möglicherweise den Standardport zusätzlich zum benutzerdefinierten Listener bei.

3. Wählen Sie einen DoH-Resolver aus.

Öffnen Sie die Paketkonfigurationsdatei:

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

Für die Aktivierung von systemd-Sockets verwenden Sie eine leere Listener-Liste in der Proxy-Konfiguration. Wählen Sie einen Resolver-Namen aus der aktuellen Liste signierter öffentlicher Resolver. Beispielsweise wählt die folgende Anweisung den Standard-Cloudflare-Resolver aus; die Pi-hole-Anleitung zeigt dies auch cloudflare-securityals Beispiel, wenn Malware-Filterung auf Ebene des Upstream-Resolvers gewünscht ist:

listen_addresses = []
server_names = ['cloudflare']

Die übrige Paketkonfiguration sollte unverändert bleiben. Die Namen server_namessind Registry-Bezeichner, keine beliebigen Hostnamen oder URL-Pfade. Wenn Sie einen anderen Anbieter bevorzugen, prüfen Sie, ob dessen aktueller Resolver-Eintrag DoH unterstützt, und kopieren Sie den genauen Namen. Ein Resolver, der Malware oder andere Kategorien filtert, kann andere Ergebnisse liefern als ein ungefilterter Resolver.

4. Pi-hole auf den lokalen Proxy verweisen

Setzen Sie die Upstream-DNS-Adresse von Pi-hole auf den lokalen Listener:

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

Das #5053Suffix ist die Pi-hole-Notation für den nicht standardmäßigen DNS-Port. Sie können dies auch in der Pi-hole-Administrationsoberfläche unter Einstellungen > DNS überprüfen . Entfernen Sie die voreingestellten öffentlichen Upstream-Server und belassen Sie den benutzerdefinierten Server 127.0.0.1#5053als Upstream. Wenn ein öffentlicher Resolver als zusätzlicher Upstream ausgewählt ist, können Anfragen den verschlüsselten Proxy umgehen. Entfernen Sie diese Einträge daher, wenn alle Pi-hole-Upstream-Anfragen DoH verwenden sollen.

5. Starten Sie die Dienste neu und überprüfen Sie die Auflösung.

Starten Sie den Socket, den Proxy-Dienst und den Pi-hole FTL-Daemon neu, damit sie die neue Konfiguration laden:

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

Servicestatus prüfen:

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

Jeder sollte ohne Bindungsfehler oder Resolver-Startfehler aktiv sein. Testen Sie den Proxy direkt über seinen lokalen DNS-Listener:

dig @127.0.0.1 -p 5053 example.com

Eine DNS-Antwort zeigt an, dass der lokale Proxy antwortet. Testen Sie anschließend Pi-hole auf Port 53:

dig @127.0.0.1 example.com

Überprüfen Sie das Pi-hole-Abfrageprotokoll oder das Dashboard, um zu bestätigen, dass die Anfrage Pi-hole erreicht hat, und überprüfen Sie das Proxy-Journal, falls der Test fehlschlägt:

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

Prüfen Sie zur zusätzlichen Überprüfung die Start- oder Journalausgabe des Proxys auf den ausgewählten Resolver und den DoH-Protokollstatus. Ein erfolgreicher Resolver digallein beweist, dass die DNS-Auflösung funktioniert; er beweist jedoch nicht automatisch, dass die Anfrage HTTPS verwendet hat.

Häufige Probleme und sichere Wiederherstellung

  • „Adresse wird bereits verwendet“: Ein anderer Prozess belegt möglicherweise bereits Port 5053, oder die Socket-Überschreibung wurde nicht geladen. Überprüfen Sie die Listener mit `socket list` sudo ss -lntup, überprüfen Sie den Drop-in mit ` socket drop-in` systemctl cat dnscrypt-proxy.socketund stellen Sie sicher, dass den Einträgen für Port 5053 leere Reset-Zeilen vorangehen.
  • Der Proxy ist aktiv, aber die Anfragen laufen ins Timeout: Überprüfen Sie ausgehende HTTPS-Zugriffe, den Resolvernamen und die Proxy-Protokolle. Einige Netzwerke blockieren DNS-over-HTTPS-Verbindungen oder beschränken den TCP-Port 443.
  • Der Proxy-Test funktioniert, aber Pi-hole antwortet nicht vom Upstream-Server: Stellen Sie sicher, dass Pi-hole korrekt konfiguriert ist 127.0.0.1#5053, und starten Sie es anschließend neu pihole-FTL. Prüfen Sie außerdem, ob die Standard-Upstream-Kontrollkästchen nicht im Hintergrund eine alternative Route angeben.
  • Ubuntu selbst kann nach der Änderung keine Namen mehr auflösen: Diese Konfiguration ändert die Upstream-Konfiguration von Pi-hole, nicht die des Hosts /etc/resolv.conf. Vermeiden Sie es, diese Datei zu ersetzen oder Pi-hole systemd-resolvedals Abkürzung zur Fehlerbehebung zu deaktivieren.

Um die Einstellungen rückgängig zu machen, stellen Sie die in Pi-hole gespeicherten Upstream-DNS-Einstellungen wieder her und starten Sie Pi-hole neu pihole-FTL. Sobald Pi-hole nicht mehr auf den Proxy verweist, können Sie ihn dnscrypt-proxyüber den Paketmanager deaktivieren oder entfernen. Falls dieser Server seine DNS-Auflösung ebenfalls über Pi-hole vornimmt, sollten Sie vor Änderungen an den Diensten einen lokalen Wiederherstellungspfad bereithalten.

Welche Option passt zu Ihrem Netzwerk?

Verwenden Sie diese Single-Host-Proxy-Konfiguration, wenn Sie eine zentrale DNS-Filterung in Pi-hole und verschlüsselten Datenverkehr von Pi-hole zu einem ausgewählten Resolver wünschen. Die Überprüfung ist relativ einfach, da der Proxy nur eine lokale Adresse und einen Port besitzt. Wenn Sie Pi-hole in Docker, auf einem anderen Server oder über mehrere Netzwerke betreiben, benötigen Sie möglicherweise eine Container-Netzwerkadresse anstelle einer Loopback-Adresse und müssen den Proxy-Listener so einschränken, dass er nicht als offener Resolver sichtbar ist. Wenn Sie richtlinienbasierte Filterung, gerätespezifische Identität oder verschlüsseltes DNS für mobile Geräte außerhalb des Heimnetzwerks benötigen, konfigurieren Sie diese Clients oder ein verwaltetes Gateway separat. Die Upstream-DoH-Verbindung von Pi-hole verschlüsselt den Pfad jedes Clients zu Pi-hole nicht automatisch.

Beachten Sie abschließend, dass ein Router oder Client Pi-hole umgehen kann, wenn er einen zweiten DNS-Server ankündigt. Für eine netzwerkweite Filterung sollten Sie Clients per DHCP ausschließlich die Pi-hole-Adresse zuweisen und sowohl IPv6- als auch IPv4-DNS-Ankündigungen berücksichtigen. Testen Sie die Einstellungen nach jeder Änderung des Routers mit mehreren Geräten, da eine korrekte Proxy-Konfiguration auf dem Server nicht verhindern kann, dass ein Client direkt einen anderen Resolver verwendet.

Offizielle Referenzen

Einen Kommentar hinterlassen

Behebung von Screen Tearing auf Intel-Grafikkarten unter Pardus Linux: Ein ergebnisorientierter Leitfaden

Behebung von Screen Tearing auf Intel-Grafikkarten unter Pardus Linux: Ein ergebnisorientierter Leitfaden

Beheben Sie das Tearing von Intel-Grafikbildschirmen unter Pardus Linux, indem Sie X11 vs. Wayland, Compositor-Einstellungen, Bildwiederholfrequenz, aktiven Xorg-Treiber und TearFree nur gegebenenfalls überprüfen.

So konfigurieren Sie die SLES 15 Firewall mit firewall-cmd

So konfigurieren Sie die SLES 15 Firewall mit firewall-cmd

Firewalld auf SLES 15 konfigurieren: Zonen prüfen, Dienste oder Ports zulassen, permanente Regeln speichern, sicher neu laden und Zugriff überprüfen.

SLES Live Patching Konfigurationsleitfaden: Kernel-Updates ohne Neustart anwenden

SLES Live Patching Konfigurationsleitfaden: Kernel-Updates ohne Neustart anwenden

Aktivieren Sie das Kernel-Live-Patching auf SLES 15 SP7, wenden Sie unterstützte Korrekturen ohne Neustart an, überprüfen Sie aktive Patches und verstehen Sie, wann ein Kernel-Neustart dennoch erforderlich ist.

So aktivieren Sie den FIPS-Modus auf SUSE Linux Enterprise Server 15

So aktivieren Sie den FIPS-Modus auf SUSE Linux Enterprise Server 15

Aktivieren Sie den FIPS-Modus auf SLES 15 mit dem von SUSE unterstützten Setup-Dienstprogramm, starten Sie das System sicher neu, überprüfen Sie den Status des Kernels und der Krypto-Richtlinien und prüfen Sie die Zertifizierungsgrenzen.

Wie man Google Chrome auf Gooroom OS installiert, ohne gegen Sicherheitsrichtlinien zu verstoßen

Wie man Google Chrome auf Gooroom OS installiert, ohne gegen Sicherheitsrichtlinien zu verstoßen

Installieren Sie Google Chrome sicher auf Gooroom OS mit offiziellen .deb-Paketen, APT, Richtlinienprüfungen, Update-Anleitungen und Korrekturen für verwaltete Geräte.

So exportieren Sie SLES-Systemprotokolle sicher an einen Remote-Syslog-Server

So exportieren Sie SLES-Systemprotokolle sicher an einen Remote-Syslog-Server

Leiten Sie SLES-Systemprotokolle sicher an einen entfernten Syslog-Server weiter – mit rsyslog, TLS-Zertifikaten, Peer-Name-Verifizierung, Warteschlangen, Validierung und Tests.

SLES 15 Active Directory-Integration mit SSSD: Eine Schritt-für-Schritt-Anleitung

SLES 15 Active Directory-Integration mit SSSD: Eine Schritt-für-Schritt-Anleitung

Verbinden Sie SLES 15 mit Active Directory über SSSD mithilfe von YaST. Bereiten Sie DNS und Zeit vor, konfigurieren Sie Domänenanmeldungen, überprüfen Sie Kerberos und vergleichen Sie SSSD, Winbind und realmd.

Behebung von Problemen mit dem Realtek RTL8821CE Wi-Fi-Treiber unter Pardus Linux

Behebung von Problemen mit dem Realtek RTL8821CE Wi-Fi-Treiber unter Pardus Linux

Beheben Sie das Problem mit RTL8821CE Wi-Fi unter Pardus Linux, indem Sie den integrierten rtw88-Treiber, die Realtek-Firmware, rfkill, NetworkManager und sichere Ausweichoptionen überprüfen.

Behebung des Fehlers „Temporärer Fehler bei der DNS-Auflösung“ in Debian 12 mit systemd-resolved

Behebung des Fehlers „Temporärer Fehler bei der DNS-Auflösung“ in Debian 12 mit systemd-resolved

Diagnose und Behebung von DNS-Auflösungsfehlern unter Debian 12 mit systemd-resolved, einschließlich resolv.conf, NetworkManager, networkd, Cache und Verifizierung.

So installieren Sie Pardus Linux sicher parallel zu Windows 11

So installieren Sie Pardus Linux sicher parallel zu Windows 11

Installieren Sie Pardus 25.2 neben Windows 11, indem Sie ein Backup erstellen, das Windows-Volume verkleinern, von einem UEFI-USB-Stick booten und die vorhandenen EFI- und Wiederherstellungspartitionen schützen.