Lansarea serverului DNS BIND 9.20.0, care a fost portat pe libuv și un nou backend pentru baza de date.

După doi ani și jumătate de dezvoltare, consorțiul ISC a prezentat prima versiune stabilă a unei ramuri semnificative a serverului DNS BIND 9.20, care a inclus modificările developate în ramura experimentală BIND 9.19. Suportul pentru ramura 9.20 va fi asigurat în cadrul unui ciclu extins de întreținere până în primul trimestru din 2028. Suportul pentru ramura 9.18 se va încheia în trimestrul al doilea din 2025. Pentru dezvoltarea funcționalității următoarei versiuni stabile a BIND, va fi creată o ramură experimentală BIND 9.21.0. Codul proiectului este scris în limbajul C și este distribuit sub licența MPL 2.0.

Modificări principale:

  • Nucleul aplicației, care leagă toate componentele, a fost adaptat pentru utilizarea unui ciclu de procesare a evenimentelor în mod non-blocant, implementat pe baza bibliotecii libuv, utilizată în proiecte precum Node.js, Knot DNS, H2O, Luvit și MoarVM. În ramura 9.16, managerul de conexiuni de rețea din BIND a fost adaptat pe libuv, iar acum și părțile folosite pentru interacțiunea componentelor interne ale infrastructurii, precum și handler-ele auxiliare de lungă durată (threadpool) utilizate pentru verificarea DNSSEC, transferul zonelor, menținerea catalogului zonelor și procesarea RPZ (Response Policy Zone). Pentru a construi BIND, acum este necesară cel puțin versiunea libuv 1.34.0.
  • A fost propus un nou backend pentru lucrul cu baza de date - „QP trie”, care a înlocuit RBTDB (Red-Black Tree Database) și este utilizat implicit pentru stocarea cache-ului și a bazei de date DNS-zone. Pentru lucrul multithreaded în QP trie, s-a folosit biblioteca liburcu cu implementarea în spațiul utilizatorului a structurilor care nu utilizează blocări, grație mecanismului de sincronizare RCU (read-copy-update) și metodei de eliberare sigură a memoriei QSBR (Quiescent-State-Based Reclamation).
  • A fost implementat un mecanism de compresie actualizat nume de domeniu, care utilizează o metodă de codificare mai compactă pentru nume cu un număr mare de etichete.
  • Funcționalitățile DNSSEC au fost extinse: „dnssec-policy” a fost permisă pentru gestionarea zonelor semnate (opțiunea auto-dnssec a fost eliminată); în utilizarea „inline-signing” a fost adăugată suportul pentru RFC 8901 (DNSSEC multi-signer model 2); suportul pentru PKCS#11 bazat pe OpenSSL 3.0.0 Engine API a fost reluat; în „dnssec-policy” a fost adăugată suportul HSM (Hardware Security Module).
  • S-a adăugat suportul pentru a doua versiune a catalogului zonelor (Catalog Zone, RFC 9432), care simplifică menținerea serverelor DNS secundare, prin faptul că, în loc să definească pe serverul secundar înregistrări individuale pentru fiecare zonă secundară, se organizează transmiterea catalogului zonelor secundare între serverele primare și secundare. După configurarea transmiterii catalogului, similar cu transmiterea zonelor individuale, zonele create pe serverul primar, marcate ca incluse în catalog, sunt generate automat pe serverul secundar fără a necesita modificări ale fișierelor de configurare.
  • S-a adăugat suportul pentru mecanismul de erori extinse (Extended DNS Errors, RFC 8914), care permite returnarea de informații suplimentare despre motivul erorii apărute în urma executării unei cereri DNS.
  • Implementarea tehnologiilor „DNS peste HTTPS” (DoH, DNS over HTTPS) și DNS peste TLS (DoT, DNS over TLS), utilizate pentru criptarea cererilor clienților către rezolvator și pentru schimbul de date criptate între servere, a fost transformată pentru a folosi transportul unificat.
  • S-a adăugat posibilitatea de a utiliza protocolul PROXYv2 cu toate transporturile suportate în BIND. Protocolul PROXY permite transmiterea informațiilor despre conexiune pentru a păstra datele despre adresa IP originală și numărul portului atunci când cererile DNS sunt redirecționate prin alte backend-uri, balanțatoare de sarcină și proxy-uri.servere.
  • S-a adăugat suport pentru modul USDT (User Statically Defined Tracing), care permite efectuarea de urmăriri ale aplicației utilizând comanda perf, fără a genera cheltuieli suplimentare atunci când urmărirea este dezactivată.
  • În statisticile colectate, a fost implementată reflectarea informațiilor despre operațiunile de transfer de zone incomplete.
  • Au fost efectuate lucrări pentru a reduce întârzierile, a diminua consumul de memorie și a scădea încărcătura pe CPU în timpul rezolvării, lucrului cu DNS-over-TLS și formării răspunsurilor prin UDP și TCP.
    Lansarea serverului DNS BIND 9.20.0, care a fost portat pe libuv și un nou backend pentru baza de date.
    Lansarea serverului DNS BIND 9.20.0, care a fost portat pe libuv și un nou backend pentru baza de date.
    Lansarea serverului DNS BIND 9.20.0, care a fost portat pe libuv și un nou backend pentru baza de date.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster