Veröffentlichung des DNS-Servers BIND 9.20.0, portiert auf libuv und mit neuem Backend für die Datenbank

Nach zweieinhalb Jahren Entwicklung hat das ISC-Konsortium die erste stabile Version des neuen bedeutenden Zweigs des DNS-Servers BIND 9.20 veröffentlicht, der Änderungen enthält, die in der experimentellen Version BIND 9.19 entwickelt wurden. Die Unterstützung des Zweigs 9.20 wird bis zum ersten Quartal 2028 im Rahmen eines erweiterten Wartungszyklus erfolgen. Die Unterstützung des Zweigs 9.18 endet im 2. Quartal 2025. Zur Weiterentwicklung der Funktionalität der nächsten stabilen Version BIND wird ein experimenteller Zweig BIND 9.21.0 gebildet. Der Code des Projekts ist in C geschrieben und wird unter der Lizenz MPL 2.0 verbreitet.

Wesentliche Änderungen:

  • Der Anwendungskern, der alle Komponenten verbindet, wurde auf die Verwendung eines nicht-blockierenden Event-Processing-Cycles umgestellt, der auf der libuv-Bibliothek basiert, die in Projekten wie Node.js, Knot DNS, H2O, Luvit und MoarVM eingesetzt wird. In der Version 9.16 wurde der Netzwerkverbindungsmanager in BIND auf libuv umgestellt, ebenso wie Teile, die zur Interaktion zwischen den internen Infrastrukturkomponenten verwendet werden, sowie langlaufende Hilfsprozesse (Threadpool), die für die Verifizierung von DNSSEC, den Zonentransfer, die Pflege des Zonenkatalogs und die Verarbeitung von RPZ (Response Policy Zone) eingesetzt werden. Für den BIND-Bau ist jetzt mindestens die Version 1.34.0 von libuv erforderlich.
  • Ein neuer Datenbank-Backend — „QP trie“ — wurde vorgestellt, der RBTDB (Red-Black Tree Database) ersetzt und standardmäßig für die Speicherung des Caches und der DNS-Zonendatenbank verwendet wird. Für den Multithread-Betrieb im QP trie wird die liburcu-Bibliothek eingesetzt, die benutzerseitige Datenstrukturen ohne Sperren mithilfe des RCU (read-copy-update)-Synchronisierungsmechanismus und der QSBR (Quiescent-State-Based Reclamation)-Methode zur sicheren Freigabe von Speicher implementiert.
  • Ein aktualisierter Komprimierungsmechanismus wurde integriert. von Domainnamen, der eine kompaktere Methode zur Kodierung von Namen mit einer großen Anzahl von Labels verwendet.
  • Erweiterte DNSSEC-Funktionen: «dnssec-policy» ist nun für die Verwaltung von signierten Zonen zugelassen (die Option auto-dnssec wurde entfernt); bei Verwendung von «inline-signing» wurde die Unterstützung für RFC 8901 (DNSSEC Multi-Signer Modell 2) hinzugefügt; die Unterstützung für PKCS#11 auf Basis der OpenSSL 3.0.0 Engine API wurde wiederhergestellt; in der «dnssec-policy» wurde die Unterstützung für HSM (Hardware-Sicherheitsmodul) hinzugefügt.
  • Unterstützung für die zweite Version des Zonen-Katalogs (Catalog Zone, RFC 9432) hinzugefügt, die die Wartung sekundärer DNS-Server erleichtert, indem anstelle der Definition separater Datensätze für jede sekundäre Zone auf dem sekundären Server eine Übertragung des Katalogs sekundärer Zonen zwischen dem primären und sekundären Server organisiert wird. Nach dem Einrichten der Katalogübertragung analog zur Übertragung einzelner Zonen werden die auf dem primären Server eingetragenen Zonen, die als Teil des Katalogs gekennzeichnet sind, automatisch auf dem sekundären Server erstellt, ohne dass eine Bearbeitung der Konfigurationsdateien erforderlich ist.
  • Unterstützung für erweiterte Fehlermechanismen (Extended DNS Errors, RFC 8914) hinzugefügt, die zusätzliche Informationen über die Ursache eines Fehlers zurückgeben, der während der Ausführung einer DNS-Anfrage aufgetreten ist.
  • Die Implementierung der Technologien „DNS über HTTPS“ (DoH, DNS over HTTPS) und DNS über TLS (DoT, DNS over TLS), die zur Verschlüsselung der Anfragen von Clients an den Resolver sowie zum verschlüsselten Datenaustausch zwischen Servern verwendet werden, wurde auf die Nutzung eines einheitlichen Transports umgestellt.
  • Die Möglichkeit zur Nutzung des PROXYv2-Protokolls mit allen in BIND unterstützten Transporten wurde hinzugefügt. Das PROXY-Protokoll ermöglicht die Übertragung von Verbindungsinformationen, um die Informationen über die ursprüngliche IP-Adresse und die Portnummer bei der Weiterleitung von DNS-Anfragen über andere Backends, Lastenausgleicher und Proxys zu speichern.Server.
  • Die Unterstützung des USDT-Modus (User Statically Defined Tracing) wurde hinzugefügt, der es ermöglicht, die Anwendungstrace mit dem Befehl perf durchzuführen, ohne zusätzliche Overhead-Kosten zu verursachen, wenn das Tracing deaktiviert ist.
  • In den gesammelten Statistiken wurde die Anzeige von Informationen über unvollendete eingehende Zonenübertragungsoperationen umgesetzt.
  • Es wurden Maßnahmen zur Reduzierung der Latenz, zur Verringerung des Speicherverbrauchs und zur Senkung der CPU-Auslastung beim Auflösen, bei der Verwendung von DNS-over-TLS und bei der Generierung von Antworten über UDP und TCP ergriffen.
    Veröffentlichung des DNS-Servers BIND 9.20.0, portiert auf libuv und mit neuem Backend für die Datenbank
    Veröffentlichung des DNS-Servers BIND 9.20.0, portiert auf libuv und mit neuem Backend für die Datenbank
    Veröffentlichung des DNS-Servers BIND 9.20.0, portiert auf libuv und mit neuem Backend für die Datenbank

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster