PowerDNS Native Replication + AXFR

Stefan1982

New Member
Hallo zusammen,

ich möchte in einem Setup von 3 NS basierend auf PowerDNS mit nativer Replikation auskommen, wobei ein Galera Cluster zum Einsatz kommt. Zum Zwecke der Zonensynchronisation mit einem externen Nameserver benötige ich aber zusätzlich die Option, das ein interner NS mittels Notifiy/AXFR mit dem externen NS kommuniziert. Laut PowerDNS Doku reagiert eine NS mit Native Replication aber nicht auf Notifys oder führt AXFR aus. Gibt es dennoch eine Lösung hierfür?

VG,
Stefan
 

greystone

Member
Ich meine, ich hätte mein PowerDNS-Setup mittels der erwähnten "Supermaster/Superslave"-Funktionalität von dem Vorgänger DNS-System(alte PowerDNS-Version) synchronisiert und dass das recht problemlos ging. Insofern wäre das der Tip, sich damit zu beschäftigen.
 

Stefan1982

New Member
Ich meine, ich hätte mein PowerDNS-Setup mittels der erwähnten "Supermaster/Superslave"-Funktionalität von dem Vorgänger DNS-System(alte PowerDNS-Version) synchronisiert und dass das recht problemlos ging. Insofern wäre das der Tip, sich damit zu beschäftigen.
Mir geht es ganz konkret um die Frage: Funktioniert Notify/AXFR ausgehend von einem PowerDNS Nameserver, der in Native Replication Mode läuft?

Mir ist klar, dass man grundsätzlich natürlich auch in Supermaster/Superslave laufen kann und das sicherlich problemlos funktioniert. Aber wie gesagt, das ist nicht Kern meiner Frage.
 

Lord Gurke

Nur echt mit 32 Zähnen
Den Replikationsmodus kann man WIMRE auch pro Domain resp. Zone einstellen.
Wenn du die betroffene Zone auf den passenden Modus (Master oder Slave) konfigurierst, kannst du auch entsprechend hinterlegen, welche IP-Adressen AXFR dürfen und auch, von welchen IPs du Notify erwartest - falls das zu den eingetragenen NS-Records divergent ist, die dürfen das standardmäßig sowieso.

Du würdest also in der "domain"-Tabelle für die betroffene Zone den "type" aus "MASTER" oder "SLAVE" stellen, jenachdem was du gerade konkret brauchst.
In der "domainmetadata"-Tabelle hinterlegst du dann für diese Domain-ID bei Bedarf "kind" = "ALLOW-AXFR-FROM" => "content" => "a.b.c.d".
Das darf sich beliebig häufig wiederholen, wobei der "content" die IPv4- oder IPv6-Adresse der Gegenstelle ist, der du AXFR erlauben willst.
Wie gesagt: Sind die Gegenstellen bereits als NS-Record eingetragen dürfen die das normalerweise sowieso.
Lösen die NS-Records aber z.B. auf andere IP-Adressen auf, als die Adressen, von der die Anfragen kommen werden, kann man die entsprechenden Adressen oder Präfixe damit "trusten".

Falls du der Hidden-Master bist, musst du ggf. in der "domainmetadata"-Tabelle auch "ALSO-NOTIFY" = "a.b.c.d" konfigurieren, um abweichend von den eingetragenen Nameservern an die hier konfigurierten IPv4- oder IPv6-Adressen NOTIFY zu schicken. Das wird meistens dann benötigt, wenn an Anycast-Nameserver repliziert werden soll.

Zusätzlich muss, damit das funktioniert, allerdings auch zusätzlich in der Configdatei "disable-axfr=no" gesetzt werden.
Wenn du der Master-Server bist, solltest du auf einem der Server zusätzlich den Schalter "master=yes" in der Config setzen. Das solltest du aber wirklich nur bei deinem laut SOA definierten Master machen, da sonst alle Nameserver aus deinem Galera-Cluster anfangen, die Slaves mit Notifies zu bewerfen ;-)
Das betrifft dann auch wirklich nur Domains, deren "type" in der "domain"-Tabelle = "MASTER" ist. Bei allen anderen Domains ist der "type" entweder standardmäßig NULL oder "NATIVE" - diese Domains senden dann keine Notifies.
 
Top