Startseite
» Gewusst wie
»
Pi-hole Upstream-DNS auf Ubuntu Server 24.04 verschlüsseln
Pi-hole Upstream-DNS auf Ubuntu Server 24.04 verschlüsseln
In diesem Beispiel verwendet Linh Pi-hole auf einem Ubuntu Server 24.04 und möchte die DNS-Anfragen, die Pi-hole an den Upstream-Server sendet, verschlüsseln. Installieren Sie Pi-hole dnscrypt-proxy, binden Sie es an den entsprechenden 127.0.0.1:5053Server, wählen Sie einen DNS-over-HTTPS-Resolver (DoH), testen Sie diesen lokalen Proxy und konfigurieren Sie Pi-hole anschließend darauf. Diese Anleitung setzt voraus, dass Pi-hole bereits installiert ist und funktioniert; Linhs Beispiel ist fiktiv und kein realer Installations- oder Testbericht.
Wählen Sie eine aktuelle DoH-Methode
Pi-hole selbst verwendet kein DoH (DoH) für die Kommunikation mit seinem Upstream-Resolver; normalerweise leitet es DNS-Anfragen an eine IP-Adresse und einen Port weiter. Ein lokaler Proxy überbrückt diese beiden Protokolle: Pi-hole sendet Standard-DNS-Anfragen an einen privaten lokalen Listener, und der Proxy leitet verschlüsselte Anfragen an den ausgewählten Resolver weiter. In diesem Beispiel verwendet Linh dnscrypt-proxydenselben Server und konfiguriert seinen Listener im Loopback-Modus, sodass andere Geräte keine direkte Verbindung zu diesem Proxy herstellen können.
Vermeiden Sie es, eine Neuinstallation mit der älteren cloudflared proxy-dnsKonfiguration zu beginnen. Auf der aktuellen Cloudflared-Seite von Pi-hole heißt es, dass diese Funktion von Cloudflare im November 2025 eingestellt wurde und Neuinstallationen damit nicht empfohlen werden. Die Anleitung für den dnscrypt-Proxy von Pi-hole bietet eine aktualisierte Alternative. Die Paketliste von Ubuntu Noble enthält derzeit die entsprechenden Pakete dnscrypt-proxy; die Paketversionen variieren je nach Architektur und können sich mit der Veröffentlichung von Updates ändern.
Ubuntu-Terminalbefehl zur Installation von dnscrypt-proxy aus den Noble-Paketquellen.
1. Installieren Sie das Ubuntu-Paket
Aktualisieren Sie die Paketlisten von APT und installieren Sie das Noble-Repository-Paket:
sudo apt update
sudo apt install dnscrypt-proxy
Das Paket befindet sich in der Ubuntu-Komponente Universe. Falls APT es nicht finden kann, überprüfen Sie, ob Universe aktiviert ist, und führen Sie den Befehl erneut aus sudo apt update. Laden Sie keine beliebige Drittanbieter-Version herunter, um ein Problem mit der Repository-Konfiguration zu umgehen.
Bevor Sie fortfahren, vergewissern Sie sich, dass Ubuntu die vom Pi-hole-Verfahren verwendete systemd-Socket-Unit installiert hat:
systemctl list-unit-files dnscrypt-proxy.socket
Die Ubuntu Noble Paketdateiliste enthält dnscrypt-proxy.socket, und die Pi-hole Anweisungen verwenden diesen Socket, um einen lokalen DNS-Listener bereitzustellen, ohne mit dem eigenen Port 53-Dienst von Pi-hole zu konkurrieren.
Socket-Override mit sowohl TCP- als auch UDP-Listenern, die gelöscht und auf localhost auf Port 5053 neu gebunden wurden.
2. Binden Sie den Proxy an den lokalen Port 5053.
Der FTL-DNS-Dienst von Pi-hole belegt normalerweise Port 53. Weisen Sie dnscrypt-proxy einen anderen Port zu und binden Sie ihn nur an den Server selbst. Erstellen Sie eine systemd-Überschreibung:
sudo systemctl edit dnscrypt-proxy.socket
Fügen Sie diese Zeilen in die leere Überschreibungsdatei ein, speichern Sie die Datei und beenden Sie den Editor:
Die leeren Zuweisungen löschen die ursprünglichen Port-53-Listener der Socket-Einheit, bevor die neuen Adressen hinzugefügt werden. 127.0.0.1Es ist wichtig, den Listener beizubehalten: Ändern Sie ihn in 0.0.0.0dieser Konfiguration auf demselben Host nicht, da dies den Proxy auf jeder Netzwerkschnittstelle zugänglich machen würde.
dnscrypt-proxy TOML-Einstellungen, die die systemd-Socket-Aktivierung verwenden und den Cloudflare Security Resolver auswählen.
3. Wählen Sie den DoH-Resolver aus.
Öffnen Sie die Paketkonfigurationsdatei:
sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.toml
Legen Sie die folgenden Werte fest, wobei die übrige Paketkonfiguration unverändert bleibt:
Eine leere listen_addressesListe weist dnscrypt-proxy an, die Socket-Aktivierung über systemd zu nutzen. Der genannte Cloudflare Security Resolver dient als Beispiel in der Pi-hole-Anleitung zu dnscrypt-proxy; er wendet zusätzlich zu den Pi-hole-eigenen Blocklisten auch die Malware-Filterung des Resolvers an. Wenn Sie einen anderen Anbieter bevorzugen oder auf zusätzliche Sicherheitsfilter verzichten möchten, wählen Sie einen aktuellen DoH-Resolver aus der öffentlich gepflegten Resolverliste und verwenden Sie dessen genauen Servernamen. Da sich die verfügbaren Namen und Resolverrichtlinien ändern können, überprüfen Sie den aktuellen Eintrag, anstatt einen veralteten Namen aus einem alten Beitrag zu kopieren.
Starten Sie den Socket und den Dienst neu, damit die Überschreibungs- und TOML-Einstellungen wirksam werden:
Testen Sie dann den lokalen Listener, bevor Sie die Upstream-Einstellungen von Pi-hole ändern:
dig @127.0.0.1 -p 5053 example.com
Eine DNS-Antwort mit dem Exit-Status Null zeigt an, dass der lokale Proxy die Anfrage beantwortet hat. Um zu bestätigen, dass der ausgewählte Upstream-Server DoH verwendet, prüfen Sie die letzten Servicemeldungen und suchen Sie nach dem Resolver mit dem Hinweis OK (DoH):
Falls das Paket dignicht installiert ist, installieren Sie es unter Ubuntu dnsutils. Falls die Abfrage ein Timeout verursacht oder im Protokoll kein DoH-Resolver angezeigt wird, überprüfen Sie sudo systemctl status dnscrypt-proxy.socket dnscrypt-proxy.servicedas Dienstjournal, bevor Sie fortfahren.
Pi-hole CLI-Befehl zum Festlegen des lokalen verschlüsselten DNS-Proxys als Upstream-Resolver.
4. Pi-hole auf den lokalen Proxy verweisen
Erst wenn der lokale Test erfolgreich war, ersetzen Sie die Upstream-Liste von Pi-hole durch den lokalen Listener:
Der Wert verwendet das benutzerdefinierte Upstream-Format von Pi-hole: 127.0.0.1Er steht für den lokalen Host und #5053gibt den nicht standardmäßigen DNS-Port an. Sie können dies auch 127.0.0.1#5053unter Einstellungen > DNS > Benutzerdefinierte Upstream-DNS-Server in der Pi-hole-Administrationsoberfläche eingeben. Deaktivieren Sie die voreingestellten öffentlichen Upstream-Server und speichern Sie die Einstellungen, da Pi-hole sonst möglicherweise weiterhin einige Anfragen direkt an diese sendet, ohne DoH zu verwenden.
Überprüfen Sie den vollständigen Pfad
Frage Pi-hole selbst ab, indem du seine LAN-Adresse anstelle von PIHOLE_IP: verwendest.
dig @PIHOLE_IP example.com
Prüfen Sie, ob die Namensauflösung erfolgreich war, das Abfrageprotokoll von Pi-hole die Clientanfrage anzeigt und der Dienststatus oder die Protokolle von dnscrypt-proxy bestätigen, dass der ausgewählte Upstream-Server erreichbar ist. Der resultierende Pfad sollte wie folgt aussehen: Client zu Pi-hole über Ihr LAN, dann Pi-hole zum lokalen Proxy und schließlich zum DoH-Resolver. Dadurch wird die Verbindung zwischen Server und Resolver verschlüsselt; der normale DNS-Verkehr zwischen Client und Pi-hole im LAN wird nicht verschlüsselt, Anfragen an den gewählten Resolver werden nicht verborgen und Pi-hole wird nicht zu einem VPN.