Wer bereits Pi-Hole installiert hat, kann nun mit nur wenigen Schritten seinen eigenen DNS-Resolver inkl. DNSSEC anstelle von bsp. Google oder Cloudflare nutzen. Hinzu kommt, dass wir uns die erste Anfrage an die DNS-Rootserver durch eine Zonenliste sparen.
Punkt 1: Wir installieren PowerDNS Recursor
Zuerst fügen wir das passende Repository hinzu. in diesem Beispiel gehe ich auf Debian 9 ein, weitere Repos unter https://repo.powerdns.com/.
1 |
deb [arch=amd64] http://repo.powerdns.com/debian stretch-rec-42 main |
Wir pinnen das ganze.
1 2 3 |
Package: pdns-* Pin: origin repo.powerdns.com Pin-Priority: 600 |
Nun kann der APT Key geladen und das Paket installiert werden.
1 2 3 |
curl https://repo.powerdns.com/FD380FBB-pub.asc | sudo apt-key add - && sudo apt-get update && sudo apt-get install pdns-recursor |
Punkt 2: PowerDNS Recursor konfigurieren
In der Konfiguration setzen wir folgende Werte, der Rest kann so bleiben.
1 2 3 4 5 |
dnssec=validate hint-file=/etc/powerdns/named.root local-address=127.0.0.1 local-port=5353 query-local-address6=:: |
Punkt 3: DNS-Rootserver Zone herunterladen
Wir laden einmalig die named.root Zonendatei herunter.
1 |
wget https://www.internic.net/domain/named.root -O /etc/powerdns/named.root |
Ein wöchentlicher Cronjob sorgt für den aktuellsten Stand.
1 |
@weekly wget --quiet https://www.internic.net/domain/named.root -O /etc/powerdns/named.root |
Wir starten den Recursor Dienst neu.
1 |
systemctl restart pdns-recursor.service |
Punkt 4: DNS-Resolver in Pi-Hole eintragen und DNSSEC aktivieren
- Wir gehen in das Pi-Hole Admin Interface auf Settings > DNS, entfernen alle Haken bei den Upstream DNS Servers.
- Nun fügen wir unseren Upstream DNS Server Custom 1 (IPv4) hinzu: 127.0.0.1#5353 und aktivieren diesen.
- Zuletzt aktivieren wir Use DNSSEC und drücken Save.
Punkt 5: Testen
Wir prüfen ob DNSSEC aktiviert ist am einfachsten auf der Webseite http://dnssec.vs.uni-due.de/.
Alternativ über die Linux Konsole.
1 2 |
dig sigok.verteiltesysteme.net @127.0.0.1 (should return A record) dig sigfail.verteiltesysteme.net @127.0.0.1 (should return SERVFAIL) |
Unterstütze unsere Arbeit mit einer Spende. |