Wie kann ich die im SOA-Eintrag des BIND DNS-Servers verwendete Seriennummer zurücksetzen oder verringern?

9

Ich verwende BIND zu Hause als DNS-Server. Für meinen Start Of Authority (SOA-Datensatz) verwende ich immer eine Seriennummer im empfohlenen Format

JJJJMMTT ##

Wo ##ist der Zähler für Änderungen an diesem Tag?

Leider habe ich die Seriennummer geändert und versehentlich eine weitere Ziffer hinzugefügt. Nachdem ich den Name-Daemon aktualisiert hatte, konnte ich dies nicht mehr zurücksetzen.

Gibt es eine Möglichkeit, die Seriennummer / den Zähler in den internen Bibliotheken von BIND zurückzusetzen?

Meister der Feier
quelle
Ich fand eine Lösung auf serverfault.com/questions/158021/…
Master of Celebration

Antworten:

8

"Interne Bibliotheken von BIND" ist es egal, wie die Seriennummer lautet. Es kommt nur auf die Vereinbarung zwischen dem Master-Server und den Slave-Servern an. Mit anderen Worten, mit BIND können Sie die Seriennummer in einer Zonendatei ohne Beanstandung verringern. Es ist nur so, dass die Slaves keine Updates mehr erhalten würden.

Seriennummern von Zonendateien sind vorzeichenlose 32-Bit-Ganzzahlen und umschließen die größtmögliche 32-Bit-Ganzzahl ohne Vorzeichen. Es gibt also eine Möglichkeit, die Seriennummer zu verringern, indem Sie sie wiederholt erhöhen, bis sie überrollt und sich Null nähert. Es gibt einen Höchstbetrag, um den Sie ihn gleichzeitig erhöhen können. Sie müssen dies also iterativ in mehreren Schritten ausführen:

  • Erhöhen Sie die Seriennummer um ein großes Inkrement, jedoch nicht mehr als 2147483647
  • Warten Sie, bis alle Slave-Server auf dem neuesten Stand sind und mit der aktuellen SOA auf dem neuesten Stand sind.
  • Wiederholen

Sie können jederzeit ein Inkrement auswählen, sodass Sie nicht mehr als zweimal iterieren müssen.

Folgen Sie diesem HOWTO .

Celada
quelle
13

Wenn Sie Shell-Zugriff auf alle Slave-Server haben, gibt es eine einfachere Lösung:

Um eine Seriennummer auf Slave-Servern dekrementieren zu können, können Sie sich beim Slave-Server anmelden und ausführen rndc retransfer my.zone.name. Dadurch ruft der Slave die Zone vom Master ab und ignoriert die Seriennummer vollständig.

Patrick
quelle
2
Ja, das setzt voraus, dass Sie Zugriff auf jeden der Slave-Server haben, oder Sie möchten den Administrator jedes einzelnen Servers bitten, diesen Befehl für Sie auszuführen.
Celada
1
Sehr nützlich, habe eine positive Bewertung! Da die andere Antwort weder unnötig noch alt ist, möchten Sie möglicherweise Ihre erste Zeile in "Es gibt eine einfachere Lösung, wenn Sie Shell-Zugriff auf alle Slave-Server haben:" ändern.
Heinzi