Llançament del servidor DNS BIND 9.20.0, traduït a libuv i un nou backend per a la base de dades

Després de dos anys i mig de desenvolupament, l'ISC ha llançat la primera versió estable d'una nova branca important del servidor DNS BIND 9.20, que incorpora els canvis desenvolupats a la branca experimental BIND 9.19. La branca 9.20 serà compatible com a part d'un cicle de manteniment estès fins al primer trimestre del 2028. El suport per a la branca 9.18 finalitzarà el segon trimestre de 2. Per desenvolupar la funcionalitat de la següent versió estable de BIND, es formarà una branca experimental BIND 2025. El codi del projecte està escrit en llenguatge C i distribuït sota la llicència MPL 9.21.0.

Principals canvis:

  • El nucli de l'aplicació que connecta tots els components s'ha convertit en un bucle d'esdeveniments no bloquejador basat en la biblioteca libuv utilitzada en projectes com Node.js, Knot DNS, H2O, Luvit i MoarVM. A la branca 9.16, el gestor de connexió de xarxa es va transferir a libuv a BIND, i ara les peces s'utilitzen per a la interacció dels components de la infraestructura interna, així com els processadors auxiliars (threadpool) que s'executen en fils separats durant molt de temps, utilitzats per a la verificació DNSSEC, transferència de zones , mantenint el directori de zones i el processament RPZ (Response Policy Zone). La creació de BIND ara requereix almenys la versió 1.34.0 de libuv.
  • S'ha proposat un nou backend per treballar amb la base de dades: "QP trie", que va substituir RBTDB (Red-Black Tree Database) i s'utilitza per defecte per emmagatzemar la memòria cau i la base de dades de la zona DNS. Per a treballs multifils, QP trie utilitza la biblioteca liburcu amb la implementació a l'espai d'usuari d'estructures que no utilitzen bloquejos, gràcies a l'ús del mecanisme de sincronització RCU (read-copy-update) i el QSBR (Quiescent-State-). basat en la recuperació) mètode d'alliberament de memòria segura.
  • S'utilitza un mecanisme de compressió actualitzat noms de domini, que utilitza un mètode més compacte per codificar noms amb un gran nombre d'etiquetes.
  • Les capacitats de DNSSEC s'han ampliat: "dnssec-policy" es permet utilitzar per gestionar zones signades (s'ha eliminat l'opció auto-dnssec); quan s'utilitza "signatura en línia", s'ha afegit suport per a RFC 8901 (model 2 de signant múltiple DNSSEC); suport renovat per a PKCS#11 basat en l'API del motor d'OpenSSL 3.0.0; S'ha afegit suport HSM (Mòdul de seguretat de maquinari) a "dnssec-policy".
  • S'ha afegit suport per a la segona versió del catàleg de zones (Zona de catàleg, RFC 9432), que simplifica el manteniment dels servidors DNS secundaris a causa del fet que en comptes de definir registres separats per a cada zona secundària al servidor secundari, la transferència del secundari. El catàleg de zones s'organitza entre els servidors primari i secundari. Després de configurar la transferència de directoris de la mateixa manera que la transferència de zones individuals, les zones creades al servidor principal que estan marcades com a incloses al directori es creen automàticament al servidor secundari sense necessitat d'editar fitxers de configuració.
  • S'ha afegit suport per al mecanisme d'errors de DNS estès (RFC 8914), que us permet retornar informació addicional sobre la causa d'un error que s'ha produït en executar una consulta DNS.
  • La implementació de les tecnologies DNS sobre HTTPS (DoH, DNS sobre HTTPS) i DNS sobre TLS (DoT, DNS sobre TLS) utilitzades per xifrar les sol·licituds dels clients al resolutor i l'intercanvi de dades xifrades entre servidors s'ha transferit a l'ús d'un transport unificat. .
  • S'ha afegit la capacitat d'utilitzar el protocol PROXYv2 amb tots els transports compatibles amb BIND. El protocol PROXY permet la transmissió d'informació de connexió per preservar l'adreça IP d'origen i el número de port en reenviar sol·licituds DNS a través d'altres backends, equilibradors de càrrega i proxies.servidors.
  • S'ha afegit suport per al mode USDT (User Statially Defined Tracing), que permet rastrejar una aplicació mitjançant l'ordre perf sense introduir sobrecàrregues addicionals quan el rastreig està desactivat.
  • Les estadístiques recopilades reflecteixen informació sobre les operacions de transferència de zones entrants incompletes.
  • S'ha treballat per reduir la latència, reduir el consum de memòria i reduir la càrrega de la CPU durant la resolució, el funcionament de DNS sobre TLS i la generació de respostes mitjançant UDP i TCP.
    Llançament del servidor DNS BIND 9.20.0, traduït a libuv i un nou backend per a la base de dades
    Llançament del servidor DNS BIND 9.20.0, traduït a libuv i un nou backend per a la base de dades
    Llançament del servidor DNS BIND 9.20.0, traduït a libuv i un nou backend per a la base de dades

Font: opennet.ru

Afegeix comentari