Vydanie DNS servera BIND 9.20.0, preloženého na libuv a nový backend pre databázu

Po dvoch a pol rokoch vývoja konsorcium ISC predstavilo prvé stabilné vydanie novej významnej vetvy DNS servera BIND 9.20, ktoré zahrňuje zmeny, vyvíjané v experimentálnej vetve BIND 9.19. Podpora vetvy 9.20 bude zabezpečovaná v rámci rozšíreného cyklu podpory do prvého kvartálu 2028. Podpora vetvy 9.18 sa skončí v druhom kvartáli 2025. Pre rozvoj funkčnosti nasledujúcej stabilnej verzie BIND bude vytvorená experimentálna vetva BIND 9.21.0. Kód projektu je napísaný v jazyku C a je distribuovaný pod licenciou MPL 2.0.

Hlavné zmeny:

  • Jadro aplikácie, ktoré spája všetky komponenty, bolo preložené na používanie cyklu spracovania udalostí v neblokujúcom režime, realizovaného na základe knižnice libuv, využívanej v takých projektoch, ako sú Node.js, Knot DNS, H2O, Luvit a MoarVM. Vo vetve 9.16 bol na libuv preložený správca sieťových spojení v BIND, a teraz aj časti používané na interakciu vnútorných komponentov infraštruktúry, ako aj dlhodobé vykonávané v samostatných vláknach pomocné spracovateľské funkcie (threadpool), ktoré sa používajú na overenie DNSSEC, prenos zón, udržiavanie adresára zón a spracovanie RPZ (Response Policy Zone). Pre zostavenie BIND teraz vyžaduje minimálne vydanie libuv 1.34.0.
  • Bol navrhnutý nový backend pre prácu s databázou - "QP trie", ktorý nahrádza RBTDB (Red-Black Tree Database) a je predvolene používaný na uchovávanie cache a databázy DNS zón. Pre viacvláknovú prácu v QP trie je využitá knižnica liburcu s implementáciou v priestore používateľa štruktúr, ktoré nepoužívajú zámky, vďaka aplikácii mechanizmu synchronizácie RCU (read-copy-update) a metódu bezpečného uvoľnenia pamäte QSBR (Quiescent-State-Based Reclamation).
  • Bol implementovaný aktualizovaný mechanizmus kompresie doménových mien, ktorý využíva komptaktnejšiu metódu kódovania mien s väčším počtom značiek.
  • Rozšírené možnosti DNSSEC: "dnssec-policy" je povolené na použitie pre správu podpísaných zón (možnosť auto-dnssec bola odstránená); pri používaní "inline-signing" bola pridaná podpora RFC 8901 (DNSSEC multi-signer model 2); obnovená podpora PKCS#11 na báze OpenSSL 3.0.0 Engine API; do "dnssec-policy" bola pridaná podpora HSM (Hardware Security Module).
  • Pridaná podpora druhej verzie katalógu zón (Catalog Zone, RFC 9432), ktorá zjednodušuje údržbu sekundárnych DNS serverov, pretože namiesto určovania samostatných záznamov pre každú sekundárnu zónu na sekundárnom serveri sa organizuje prenos katalógu sekundárnych zón medzi primárnym a sekundárnym serverom. Po nastavení prenosu katalógu analogicky k prenosu samostatných zón sa zóny, ktoré sú na primárnom serveri označené ako súčasť katalógu, automaticky vytvárajú na sekundárnom serveri bez potreby zmeny konfiguračných súborov.
  • Pridaná podpora mechanizmu rozšírených chýb (Extended DNS Errors, RFC 8914), ktorý umožňuje vracať dodatočné informácie o dôvode chyby pri vykonávaní DNS požiadavky.
  • Realizácia technológií „DNS ponad HTTPS“ (DoH, DNS over HTTPS) a DNS ponad TLS (DoT, DNS over TLS), ktoré sa používajú na šifrovanie požiadaviek klientov na resolver a šifrovanú výmenu dát medzi servermi, bola prevedená na používanie unified transport.
  • Pridaná možnosť používať protokol PROXYv2 so všetkými transportmi podporovanými v BIND. Protokol PROXY umožňuje prenášať informácie o spojení na zachovanie údajov o pôvodnej IP adrese a čísle portu pri preposielaní DNS požiadaviek cez iné backendy, vyvažovače záťaže a proxy.servery.
  • Pridaná podpora režimu USDT (User Statically Defined Tracing), ktorý umožňuje vykonávať trasovanie aplikácie pomocou príkazu perf bez vytvárania dodatočných nákladov, keď je trasovanie vypnuté.
  • V zhromažďovanej štatistike sa realizovalo odrazenie informácií o nedokončených prichádzajúcich operáciách prenosu zón.
  • Bola vykonaná práca na skrátení latencií, znížení spotreby pamäte a znížení záťaže CPU pri rešpektovaní, práci DNS-over-TLS a tvorbe odpovedí cez UDP a TCP.
    Vydanie DNS servera BIND 9.20.0, preloženého na libuv a nový backend pre databázu
    Vydanie DNS servera BIND 9.20.0, preloženého na libuv a nový backend pre databázu
    Vydanie DNS servera BIND 9.20.0, preloženého na libuv a nový backend pre databázu

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster