rclamastrois.com

  

Beste Artikel:

  
Main / Tsig überprüfen Fehler nsupdate howto

Tsig überprüfen Fehler nsupdate Howto

Das Netzwerk bei Async verfügt über mehrere redundante Upstream-Verbindungen. Eine davon ist eine Kabelverbindung für den Hausgebrauch mit 120 Mbit / s. Wir führen keine Dienste auf der Schnittstelle aus, die diesen dynamischen Link abhört, aber wenn die anderen Links nicht verfügbar sind, ist es ein Lebensretter, wenn Sie in der Lage sind, sich darauf einzulassen. Außer wenn Sie nicht wissen, welche IP-Adresse es hat! Live-DNS-Aktualisierungen sind natürlich allgemeiner nützlich: Trotzdem haben wir uns an einigen Ecken und Kanten von nsupdate und BIND9 die Finger geschnitten, und ich wollte mitteilen, was wir als Teil davon gelernt haben.

Ich hatte dies zurückgehalten, weil ich erwartet hatte, dass die dynamische DNS-Aktualisierung, das Thema von RFC 2136, wirklich kompliziert sein würde, aber es stellt sich heraus, dass die Verwendung von nsupdate trivial ist: Das ist alles, was Sie brauchen, um einen A-Eintrag für bar hinzuzufügen. Und mit BIND9 werden Aktualisierungen der Secondaries automatisch gestartet. Wenn die Authentifizierung und die serverseitige Einrichtung ordnungsgemäß durchgeführt worden wären, hätte die Einrichtung einige Minuten gedauert. Es hat nicht, und Sie erhalten diesen Blog-Beitrag als Gegenleistung.

Um zu vermeiden, dass nur zum Ausprobieren von nsupdate ein neuer Schlüssel generiert werden muss, habe ich zunächst versucht, einen für rndc generierten Schlüssel wiederzuverwenden. Und das hätte funktioniert, wenn unsere BIND9-Konfigurationsdateien es tatsächlich enthalten hätten!

Stattdessen ist nsupdate fehlgeschlagen: Eine nsupdate-Anforderung, die diesen Schlüssel verwendet, funktioniert jedoch definitiv erst, wenn der Schlüssel ordnungsgemäß über ein Include konfiguriert wurde: Selbst wenn Sie den Schlüssel ordnungsgemäß einschließen, funktioniert nichts, bis Sie angeben, dass die Zone mit diesem Schlüssel aktualisiert werden kann.

Das ist einfach genug: In BIND9 gibt es feinkörnigere Zugriffskontrollmechanismen mit der Option update-policy. Nachdem die Authentifizierung funktioniert hatte, konnte nsupdate eine Verbindung herstellen und die Anforderung senden, endete jedoch mit einem Fehler in meinem Syslog:. Jetzt hatte meine Konfigurationsdatei ursprünglich die Dateioption der Zone wie jede andere reguläre Zone angegeben: Das setzt den Meister. Es stellt sich heraus, dass Ubuntus Apparmor so konfiguriert ist, dass nur Lesevorgänge in das Konfigurationsverzeichnis von BIND zulässig sind, und für dynamische Updates müssen Journaldateien geschrieben werden.

Um dies zu lösen, gibt es einen offensichtlichen Hack, den Sie ausführen können, nämlich die Apparmor-Einschränkungen zu lockern. Aber du solltest nicht, wie du als nächstes sehen wirst. Dies ist jedoch der letzte Hinweis darauf, dass Apparmor Recht hatte: Es stellt sich heraus, dass die richtige Lösung darin besteht, die Datei an der Stelle abzulegen, die für dynamisch aktualisierte Zonen vorgesehen ist: Genau das tut die Zeilengruppe config am Anfang dieses Blogs, und genau das sollten Sie tun auch tun:. Beachten Sie, dass BIND auch über eine Journaloption verfügt, mit der Sie das Journal allein in einem separaten Verzeichnis ablegen können.

Aber da die Hauptzonendatei durch Binden neu geschrieben wird, wie Sie unten sehen werden, sehe ich nicht, wie dies die Probleme beheben könnte, selbst wenn einige Leute vorschlagen, sie zu verwenden. Ich hatte diese Subtilität anfangs übersehen: Das bedeutet, dass Sie nicht wirklich eine Zone haben können, in der sowohl nsupdate-hinzugefügte als auch statische Datensätze nebeneinander existieren.

Der Grund dafür liegt im Nachhinein auf der Hand: BIND verwaltet die Zone für Sie, einschließlich der Aktualisierung der Seriennummer, jedoch nicht ohne Einschränkungen - siehe unten - und des Schreibens von Änderungen in eine Journaldatei mit a.

Dieses Journal wird verwendet, um die Hauptzonendatei regelmäßig zu aktualisieren. Wenn Sie nun die Originaldatei ändern, wofür gilt das Journal? Die Dokumentation geht detaillierter auf den Aktualisierungsprozess ein. Ja, Sie können rndc freeze verwenden, um eine Aktualisierung der Zonendatei zu erzwingen, diese ist jedoch ungeordnet und Sie verlieren alle include-Anweisungen. Sie sollten sich nicht darauf verlassen, dass Sie die Zonendatei manuell bearbeiten.

Ich konnte BIND auch nicht dazu bringen, die Seriennummer automatisch mit einer Zonendatei zu aktualisieren, die eine datumsbasierte Seriennummer i hatte. Ich würde einen Datensatz mit nsupdate hinzufügen und dig würde bestätigen, dass der Datensatz hinzugefügt wurde, aber die Seriennummer blieb unverändert, und folglich haben unsere Secondaries die Änderung nie übernommen. Wir haben dies aufgegeben und uns der Erkenntnis gestellt, dass wir sowieso eine neue Zone schaffen müssen.

Wir hatten ursprünglich geplant, dem Async einen einzelnen Datensatz hinzuzufügen. Der Prozess, mit dem wir Änderungen an der dynamischen IP weitergeben, ist einfach: So wird beispielsweise unsere iptables-Konfiguration aktualisiert. Leider funktioniert dies beim Booten nicht, da sowohl dhclient als auch named auf demselben Computer ausgeführt werden: Am Ende haben wir uns mit einem RC darum gekümmert. Warum dynamische DNS-Updates? Für BIND9 müssen keine Schlüssel konfiguriert werden, damit rndc auf localhost funktioniert. Um zu vermeiden, dass nur zum Ausprobieren von nsupdate ein neuer Schlüssel generiert werden muss, habe ich zunächst versucht, einen für rndc generierten Schlüssel wiederzuverwenden.

Stattdessen ist nsupdate fehlgeschlagen: TSIG rndc-key: Eine nsupdate-Anforderung, die diesen Schlüssel verwendet, funktioniert jedoch definitiv erst, wenn der Schlüssel ordnungsgemäß über ein Include konfiguriert wurde: Die Authentifizierung wird tatsächlich pro Zone konfiguriert. Selbst wenn Sie den Schlüssel ordnungsgemäß einschließen, wird nichts Arbeiten Sie, bis Sie angeben, dass die Zone mit diesem Schlüssel aktualisiert werden kann.

Das ist ganz einfach: Genau das macht die Konfigurations-Zeilengruppe am Anfang dieses Blogs, und das sollten Sie auch tun: Sobald Sie nsupdate die Zone gegeben haben, gehört sie nicht mehr Ihnen. Ich hatte diese Subtilität anfangs verpasst: Kennen Sie eine? Erzähl mir davon.

(с) 2019 rclamastrois.com