DNS-Forwarder für PowerDNS mit PowerDNS-Recursor
Der PowerDNS beantwortet in der Standard-Konfiguration nur Anfragen zu eigenen Zonen (Domains). Soll der DNS-Server auch Anfragen zu fremden Domains beantworten, muss ein Forwarder eingetragen sein. PowerDNS bietet hierfür keine Option. Abhilfe schafft da der zusätzliche Daemon PowerDNS-Recursor.
1. Port für PowerDNS-Server frei machen
In diesem Beispiel nutzen wir PowerDNS als DNS-Server.
Soll der Recursor auf dem gleichen Server laufen, wie der DNS-Server, muss der aktuelle DNS-Server auf einem anderen Port lauschen.
Daher ändern wir zuerst den Port von PowerDNS. Hierfür editieren wir die Datei /etc/powerdns/pdns.conf
und ändern den Port von PowerDNS:
local-port=54
Anschließend starten wir unseren PowerDNS neu:
$ sudo systemctl restart pdns.service
2. Installation von PowerDNS-Recursor:
$ sudo apt -y install pdns-recursor
3. Recursor konfigurieren
Jetzt editieren wir die Datei /etc/powerdns/recursor.conf
: damit der Recursor anfragen aus dem Netzwerk auf Port 53 entgegen nimmt:
local-address=0.0.0.0 local-port=53
Dann müssen wir den Forwarder noch konfigurieren. Dazu editieren wir weiter die recursor.conf. In diesem Beispiel ist unser PowerDNS für die Domain mein-netzwerk.lan zuständig. Daher muss Recursor wissen, wo er den passenden DNS-Server findet. Alle Anfragen, für die wir keinen eigenen Server haben, sollen z.B. an den Google-DNS Server (8.8.8.8) weitergeleitet werden. Dieser wird nach einem Semikolon eingetragen:
forward-zones=mein-netzwerk.lan=127.0.0.1:54;8.8.8.8
Sollen mehrere Zonen abgefragt werden, werden sie durch ein Komma getrennt hinzugefügt. Hier zum Beispiel noch für den ReverseLookup:
forward-zones=mein-netzwerk.lan=127.0.0.1:54, 1.168.192.in-addr.arpa=127.0.0.1:54;8.8.8.8
Jetzt noch den Recursor noch neu starten:
$ sudo systemctl restart pdns-recursor.service
Viel Spaß mit eurem DNS...