Vrijgave van de DNS-server BIND 9.20.0, overgezet naar libuv en een nieuwe backend voor de database

Na tweeƫnhalf jaar ontwikkeling heeft het ISC-consortium de eerste stabiele release van de nieuwe significante tak van de DNS-server BIND 9.20 gepresenteerd, die wijzigingen heeft samengevoegd die ontwikkeld zijn in de experimentele tak BIND 9.19. De ondersteuning voor de tak 9.20 zal worden uitgevoerd in het kader van een uitgebreide ondersteuningscyclus tot het eerste kwartaal van 2028. De ondersteuning voor de tak 9.18 wordt beƫindigd in het tweede kwartaal van 2025. Voor de ontwikkeling van de functionaliteit van de volgende stabiele versie van BIND zal een experimentele tak BIND 9.21.0 worden gevormd. De code van het project is geschreven in de programmeertaal C en wordt verspreid onder de MPL 2.0-licentie.

Belangrijkste wijzigingen:

  • De kern van de applicatie, die alle componenten met elkaar verbindt, is omgezet naar een gebruik van een niet-blokkerende event loop, geĆÆmplementeerd op basis van de libuv-bibliotheek, die ook in projecten zoals Node.js, Knot DNS, H2O, Luvit en MoarVM wordt gebruikt. In versie 9.16 is de netwerkverbindingbeheerder in BIND omgezet naar libuv, en nu ook de delen die worden gebruikt voor de interactie tussen interne componenten van de infrastructuur, evenals de langdurig uitgevoerde hulpprocessen (threadpool), die worden gebruikt voor DNSSEC-verificatie, zone-overdracht, beheer van de zone-directory en verwerking van RPZ (Response Policy Zone). Voor het bouwen van BIND is nu minimaal libuv versie 1.34.0 vereist.
  • Een nieuwe backend voor databasebeheer is voorgesteld — 'QP trie', die RBTDB (Red-Black Tree Database) vervangt en standaard wordt gebruikt voor het opslaan van cache en DNS-zone database. Voor multithreaded werking in QP trie wordt de liburcu-bibliotheek gebruikt met een implementatie in de gebruikersruimte van structuren zonder vergrendelingen, dankzij de toepassing van het RCU (read-copy-update) synchronisatie mechanisme en de QSBR (Quiescent-State-Based Reclamation) veilige geheugenvrijgave methode.
  • Een bijgewerkt compressiemechanisme is geĆÆmplementeerd domeinnamen, dat een compacter coderingstype gebruikt voor namen met een groot aantal labels.
  • De mogelijkheden van DNSSEC zijn uitgebreid: 'dnssec-policy' is toegestaan voor het beheer van ondertekende zones (de optie auto-dnssec is verwijderd); bij het gebruik van 'inline-signing' is ondersteuning voor RFC 8901 (DNSSEC multi-signer model 2) toegevoegd; ondersteuning voor PKCS#11 op basis van OpenSSL 3.0.0 Engine API is hersteld; in 'dnssec-policy' is ondersteuning voor HSM (Hardware Security Module) toegevoegd.
  • Ondersteuning toegevoegd voor de tweede versie van de zonecatalogus (Catalog Zone, RFC 9432), die het onderhoud van secundaire DNS-servers vereenvoudigt door in plaats van afzonderlijke records voor elke secundaire zone op de secundaire server, een overdracht van de secundaire zonecatalogus tussen de primaire en secundaire servers te organiseren. Na het instellen van de overdracht, op dezelfde manier als bij het overdragen van afzonderlijke zones, worden zones die op de primaire server worden aangemaakt en als behorend tot de catalogus zijn gemarkeerd, automatisch op de secundaire server aangemaakt zonder dat configuratiebestanden hoeven te worden aangepast.
  • Ondersteuning toegevoegd voor het mechanisme van uitgebreide fouten (Extended DNS Errors, RFC 8914), dat extra informatie kan teruggeven over de oorzaak van de fout die is opgetreden bij de uitvoering van een DNS-verzoek.
  • De implementatie van "DNS over HTTPS" (DoH, DNS over HTTPS) en DNS over TLS (DoT, DNS over TLS), die worden gebruikt voor het versleutelen van klantverzoeken naar de resolver en de versleutelde gegevensuitwisseling tussen servers, is overgezet naar het gebruik van een uniforme transportlaag.
  • Ondersteuning toegevoegd voor het PROXYv2-protocol met alle transporten die in BIND worden ondersteund. Het PROXY-protocol maakt het mogelijk om verbindingsinformatie door te geven om informatie over het oorspronkelijke IP-adres en poortnummer te behouden bij het doorgeven van DNS-verzoeken via andere backends, load balancers en proxies.servers.
  • Ondersteuning toegevoegd voor de USDT-modus (User Statically Defined Tracing), die het mogelijk maakt om applicatietracing uit te voeren met behulp van het commando perf, zonder extra overhead te creĆ«ren wanneer tracing is uitgeschakeld.
  • In de verzamelde statistieken is informatie over niet-voltooide inkomende overbrengingsoperaties van zones opgenomen.
  • Er is gewerkt aan het verminderen van vertragingen, het verlagen van het geheugenverbruik en het verminderen van de CPU-belasting tijdens het oplossen, werken met DNS-over-TLS en het genereren van antwoorden via UDP en TCP.
    Vrijgave van de DNS-server BIND 9.20.0, overgezet naar libuv en een nieuwe backend voor de database
    Vrijgave van de DNS-server BIND 9.20.0, overgezet naar libuv en een nieuwe backend voor de database
    Vrijgave van de DNS-server BIND 9.20.0, overgezet naar libuv en een nieuwe backend voor de database

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster