PowerDNS-Zonenweiterleitung

PowerDNS-Zonenweiterleitung

Ich habe eine 4.0.6 PowerDNS-Bereitstellung geerbt, die zum Bereitstellen einer privaten Zone in einer Laborumgebung verwendet wird. Ich bin dabei, diese Umgebung zu AWS zu migrieren, und benötige PowerDNS, um aws.internal.lan an eine Reihe eingehender Route53-Resolver weiterzuleiten. Es scheint, dass ich dies tun können sollte, indem ich im Rekursor „forward-zones-recurse“ verwende, aber ich scheine dies mit der aktuellen Konfiguration nicht zum Laufen zu bringen.

pdns.conf:

daemon=no
max-tcp-connections=1000
guardian=no
setuid=pdns
setgid=pdns
launch=gpgsql
allow-recursion=127.0.0.0/8, 10.0.0.0/8
recursor=127.0.0.1:5353
local-address=0.0.0.0
local-port=53
master=no
slave=yes
slave-cycle-interval=60
gpgsql-host=127.0.0.1
gpgsql-dbname=pdns
gpgsql-user=redacted
gpgsql-password=redacted
api-key=redacted
webserver=yes
webserver-address=0.0.0.0
webserver-port=8081

recursor.conf:

setuid=pdns-recursor
setgid=pdns-recursor
allow-from=127.0.0.0/8
local-address=127.0.0.1
local-port=5353
forward-zones-recurse=aws.internal.lan=10.162.67.202;10.162.73.199

Das Problem ist, dass pdns die Zone nicht an die Route53-Resolver weiterleitet. Ich kann bestätigen, dass dig @127.0.0.1 -p 5353 aws.internal.lander Rekursor den richtigen Datensatz zurückgibt, wenn ich dies tue, aber ich kann den Rekursor nur vom lokalen ns-Server aus abfragen. Sollte der autoritative Server, der auf Port 53 lauscht, diese Anfrage nicht an den Rekursor weiterleiten, der auf Port 5353 lauscht?

Es scheint, als ob das einfach funktionieren sollte, aber vielleicht übersehe ich etwas. Ich verwende eine ältere Version von pdns, wie Sie an meiner Konfiguration sehen können, und ich kann anscheinend keine Dokumentation zu dieser älteren Version finden. Irgendeine Idee, was ich hier falsch mache?

Antwort1

Sie verstehen nicht, wie die Dinge funktionieren.

Der Resolver leitet Anfragen nicht an den Rekursor weiter, und auch nicht an einen anderen Ort. Der Rekursor hingegen sollte so konfiguriert sein, dass er Anfragen für die vom Resolver verwalteten Zonen an ihn weiterleitet.

Client-Anfragen sollten immer an den Recursor gehen, der dann lokale Zonen an den Resolver weiterleitet und die anderen entsprechend auflöst. Die Einstellung „Recursor“ hat auf dem Resolver keine Funktion.

Auf dem Rekursor benötigen Sie Einstellungen wie

forward-zones=ponyville.eq.=127.0.0.1:5353

um Anfragen an den Resolver (der sich auf Port 5353 befindet, und den Rekursor auf Port 53) weiterzuleiten

Es gibt ein weiteres Problem: Wenn Sie sekundäre Server haben, versucht der Resolver, NOTIFY-Pakete basierend auf den NS-Einträgen zu versenden. Wenn sich Ihr Resolver auf Port 5353 befindet, kommen diese Benachrichtigungspakete beim Recursor an, und Sie benötigen eine spezielle Konfiguration (zu komplex, um sie hier anzugeben), um diese an den Resolver weiterzuleiten. Wir haben dies umgangen, indem wir 2 IP-Adressen auf dem Host haben und den Resolver auf der einen und den Recursor auf der anderen haben, sodass keine unterschiedlichen Ports auf demselben Hostnamen erforderlich sind.

Zusammenfassend also:

  • pdns leitet Anfragen nirgendwohin weiter
  • pdns-recusor leitet Ihre Route53-Anfragen mit Ihrer Einstellung weiter
  • pdns-recursor sollte so konfiguriert werden, dass Ihre lokalen Zonen an den Resolver weitergeleitet werden
  • Alle Client-Anfragen sollten beim Resolver eingehen
  • Sie benötigen viel zusätzliche Magie, um NOTIFY-Pakete zu verarbeiten, wenn Sie dies möchten

verwandte Informationen