🌐 IPv4- und IPv6-Unterstützung
Die Konfiguration pi-hole.conf unterstützt sowohl IPv4 als auch IPv6.
Unbound kann IPv6 bevorzugen (prefer-ip6: yes), verwendet aber auch IPv4, falls nötig.
Einige Optionen sorgen für Sicherheit und Effizienz – z.B. blockiert private-address
interne IP-Bereiche aus Datenschutzgründen.
💡 Hinweis:
Die Optioncontrol-enable: yesist für die Grundinstallation nicht erforderlich.
Sie wird nur für erweiterte Verwaltungsfunktionen benötigt,
die über die normale Nutzung mit Pi-hole hinausgehen.
Wenn du native IPv6-Konnektivität hast, kannst du zusätzlich setzen:
prefer-ip6: yes
💡 Info:
127.0.0.1 und ::1 sind beide Loopback-Adressen (IPv4 bzw. IPv6).
AAAA-Einträge lassen sich auch über IPv4 korrekt auflösen.
Der Client kann Pi-hole weiterhin über IPv6 ansprechen –
intern spielt es keine Rolle, ob die Weiterleitung über IPv4 oder IPv6 erfolgt.Daher genügt es, in den Pi-hole-DNS-Einstellungen
nur die IPv4-Adresse des Unbound-Servers einzutragen:
127.0.0.1#5335unter Custom 1 (IPv4).Ein zusätzliches
interface: ::1ist nicht zwingend notwendig,
solange Pi-hole über127.0.0.1#5335kommuniziert.
🧪 IPv6-Test
Die Option do-ip6: yes steuert, ob Unbound DNS-Anfragen über IPv6 sendet oder empfängt.
💡 Hinweis zu IPv6-Tests:
Wenndo-ip6: nogesetzt ist, zeigt die Seite
https://test-ipv6.com meist 9 / 10 Tests als OK.
Mitdo-ip6: yeswerden alle 10 / 10 Tests erfolgreich abgeschlossen.Damit ist die Kette vollständig:
Client → Pi-hole → Unbound → Root-Server (IPv4 + IPv6)
📥 Root-Hints herunterladen
Lade die Root-Hints-Datei von der IANA-Website herunter
und speichere sie im Unbound-Konfigurationsverzeichnis:
sudo curl --output /etc/unbound/root.hints https://www.internic.net/domain/named.cache
💡 Hinweis:
Es existieren zwei Varianten:named.rootundnamed.cache.
Beide enthalten Informationen über die DNS-Root-Server.
named.rootstammt direkt von IANA und wird seltener aktualisiert,
währendnamed.cachevon ICANN bereitgestellt wird
und häufiger Updates erhält.Der Download kann später per
systemd-Timer automatisiert werden.
🔍 Syntax-Prüfung der Konfiguration
Überprüfe die Konfiguration von Pi-hole / Unbound auf Fehler:
sudo unbound-checkconf /etc/unbound/unbound.conf.d/pi-hole.conf
Erwartete Ausgabe:
unbound-checkconf: no errors in /etc/unbound/unbound.conf.d/pi-hole.conf
🚀 Unbound aktivieren und starten
sudo systemctl enable unbound
sudo systemctl start unbound
# oder neu starten:
sudo systemctl restart unbound
Status prüfen:
sudo systemctl status unbound
🧠 Funktionstest mit dig
Wenn alle Schritte abgeschlossen sind, sollte der Dienst auf Port 5335 aktiv sein.
Teste die DNS-Auflösung:
dig pi-hole.net @127.0.0.1 -p 5335
# oder
dig example.com
💡 Erklärung:
digsteht für Domain Information Groper
(auf Deutsch scherzhaft „Domain-Informations-Grabscher“).
Es zeigt detailliert, wie DNS-Anfragen verarbeitet werden.
Achte auf die Zeile SERVER:
SERVER: 127.0.0.1#53
Das bedeutet, die Anfrage wurde direkt an den lokalen Pi-hole gesendet.
Wenn dort z. B. SERVER: <DEINE-IP>#53 steht, wird die Anfrage über den Router geleitet –
das ist korrekt, wenn die Fritz!Box den Pi-hole als DNS-Server nutzt.
sudo reboot
🔐 DNSSEC-Funktion prüfen
dig fail01.dnssec.works @127.0.0.1 -p 5335
dig dnssec.works @127.0.0.1 -p 5335
💡 Erwartung:
- Der erste Befehl (
fail01) sollte SERVFAIL zurückgeben
und keine IP-Adresse enthalten.- Der zweite (
dnssec.works) sollte NOERROR liefern
plus eine IP-Adresse – das zeigt erfolgreiche DNSSEC-Validierung.
🔧 Test mit drill
drill badsig.go.dnscheck.tools
drill go.dnscheck.tools
💡 Erwartung:
badsig...→ rcode = SERVFAILgo...→ rcode = NOERROR