Pi-Hole – Eigener DNS-Resolver + DNSSEC

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/.

Wir pinnen das ganze.

Nun kann der APT Key geladen und das Paket installiert werden.

Punkt 2: PowerDNS Recursor konfigurieren

In der Konfiguration setzen wir folgende Werte, der Rest kann so bleiben.

Punkt 3: DNS-Rootserver Zone herunterladen

Wir laden einmalig die named.root Zonendatei herunter.

Ein wöchentlicher Cronjob sorgt für den aktuellsten Stand.

Wir starten den Recursor Dienst neu.

Punkt 4: DNS-Resolver in Pi-Hole eintragen und DNSSEC aktivieren

  1. Wir gehen in das Pi-Hole Admin Interface auf Settings > DNS, entfernen alle Haken bei den Upstream DNS Servers.
  2. Nun fügen wir unseren Upstream DNS Server Custom 1 (IPv4) hinzu: 127.0.0.1#5353 und aktivieren diesen.
  3. 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.

 

Dominion

Dominion

Linux Systemadministrator

Das könnte Dich auch interessieren …

17 Antworten

  1. Avatar Eulalia sagt:

    Klappt wunderbar, danke!

  2. Avatar Pat sagt:

    Danke dir, sieht nun besser aus!
    Sieht das gut aus: ?

    root@PiHole:~# dig sigok.verteiltesysteme.net @127.0.0.1

    ; <> DiG 9.10.3-P4-Debian <> sigok.verteiltesysteme.net @127.0.0.1
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15957
    ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 512
    ;; QUESTION SECTION:
    ;sigok.verteiltesysteme.net. IN A

    ;; ANSWER SECTION:
    sigok.verteiltesysteme.net. 60 IN A 134.91.78.139

    ;; Query time: 162 msec
    ;; SERVER: 127.0.0.1#53(127.0.0.1)
    ;; WHEN: Sun Apr 14 16:48:08 CEST 2019
    ;; MSG SIZE rcvd: 71

    root@PiHole:~# dig sigfail.verteiltesysteme.net @127.0.0.1

    ; <> DiG 9.10.3-P4-Debian <> sigfail.verteiltesysteme.net @127.0.0.1
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 43357
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 512
    ;; QUESTION SECTION:
    ;sigfail.verteiltesysteme.net. IN A

    ;; Query time: 69 msec
    ;; SERVER: 127.0.0.1#53(127.0.0.1)
    ;; WHEN: Sun Apr 14 16:49:27 CEST 2019
    ;; MSG SIZE rcvd: 57

  3. Avatar pat sagt:

    In „Query Log“, I don’t see any DNSSEC column? Normal?

  4. Avatar Bastian sagt:

    Hey, habe es auf meinen Raspi (3B+) versucht.
    Natürlich die entsprechende Repo (raspbian stretch-rec-master main) genommen. Leider bekomme ich diesed Fehler:
    @raspberrypi:~ $ sudo systemctl restart pdns-recursor.service
    Job for pdns-recursor.service failed because the control process exited with error code.
    See „systemctl status pdns-recursor.service“ and „journalctl -xe“ for details.

    Ich habe auch einen Neustart des Raspi versucht; keine Besserung.
    Bitte um Hilfe, Danke

  5. Avatar Bastian sagt:

    Ergänzend die Ausgabe vom „systemctl status pdns-recursor.service“:
    ● pdns-recursor.service – PowerDNS Recursor
    Loaded: loaded (/lib/systemd/system/pdns-recursor.service; enabled; vendor preset: enabled)
    Active: activating (auto-restart) (Result: exit-code) since Wed 2019-04-17 13:33:22 CEST; 97ms ago
    Docs: man:pdns_recursor(1)
    man:rec_control(1)
    https://doc.powerdns.com
    Process: 7580 ExecStart=/usr/sbin/pdns_recursor –daemon=no –write-pid=no –disable-syslog –log-timestamp=no (code=exited, status=1/FAILURE)
    Main PID: 7580 (code=exited, status=1/FAILURE)
    ~

  6. Avatar Tom sagt:

    Hallo, ich bin auf den gleichen Fehler gestoßen wie Bastian.
    Gibt es mittlerweile eine Lösung dafür?

  7. Avatar Tom sagt:

    Hallo, danke Dominion, das war tatsächlich die Lösung des Problems.

  8. Avatar Patrick sagt:

    Guten Abend, vielen Dank für den Beitrag. Er hat mir sehr geholfen. Ich nutze auf meinem vServer auch einen Pi-Hole, eben dank dir jetzt mit DNSSEC. Zwei Fragen sind jetzt offen geblieben.
    – Die Anfragen werden trotzallem weiterhin an einen DNS Server weiter gegeben. Wo in der recursor.conf kann ich einstellen, welchen DNS ich verwenden möchte?
    – Im Status des Pi-Holes wird sehr oft INSECURE & BOGUS angezeigt. Ist das normal? (Link zum Screenshot: https://ibb.co/xMdgvMk)
    Ich möchte sicher gehen, dass mit der Installation alles geklappt hat.Ich habe als IPv4 127.0.0.1#5353 und als IPv6 ::1#53 eingetragen.
    Vielen Dank!

    • Dominion Dominion sagt:

      Hi,

      ja deine Anfragen gehen natürlich die Leiter hoch an die Root Server .. definiert hier: hint-file=/etc/powerdns/named.root
      Das im Status INSECURE und BOGUS steht ist normal, manche Seiten haben halt kein DNSSEC oder fehlerhaft eingerichtet.
      Mit den aufgeführten Tests kannst du prüfen ob alles geklappt hat: http://dnssec.vs.uni-due.de/

      • Avatar Patrick sagt:

        Hi, vielen Dank für die Antwort. Der DNS-Test erfolgte gestern bereits erfolgreich. Ich habe mir jetzt das File angeschaut. Für mich geht jetzt leider nicht hervor, welchen DNS-Server ich mit meinem PowerDNS jetzt anspreche. Ich sehe nur einträge A.ROOT-SERVERS.NET.bis M.ROOT-SERVERS.NET. Vielleicht bin ich auch einfach nur noch zu unerfahren um das zu verstehen. Der PowerDNS gibt die Anfragen ja weiter oder? Ich selbst bin ja kein echter DNS-Server mit einer riesen Datenbank. Ich habe mir vorgestellt, dass ich jetzt zb die IP von Cloudflare eintrage. Dann wüsste ich, dass die Anfrage dahin geleitet wird. Würdest du mir das anhand eines Beispiels zeigen wollen? Vielen Dank.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.