KnotDNS wyróżnia się skupieniem na wysokowydajnym przetwarzaniu zapytań, do czego wykorzystuje wielowątkową i w większości nieblokującą implementację, która dobrze skaluje się na systemach SMP. Dostępne są takie funkcje, jak dodawanie i usuwanie stref na bieżąco, przesyłanie stref między serwerami, DDNS (aktualizacje dynamiczne), NSID (RFC 5001), rozszerzenia EDNS0 i DNSSEC (w tym NSEC3), ograniczanie szybkości odpowiedzi (RRL).
W nowym wydaniu:
- Wdrożono pełną obsługę różnych obliczeń numerów seryjnych (SOA) dla strefy na serwerach master i slave, gdy strefa jest certyfikowana podpisem cyfrowym na serwerze slave;
- Dodano obsługę rekordów ze znakami wieloznacznymi do modułu geoip;
- Do DNSSEC dodano nowe ustawienie „rrsig-pre-refresh”, aby zmniejszyć częstotliwość zdarzeń uwierzytelniania strefy podpisu cyfrowego;
- Dodano ustawienie „tcp-reuseport”, aby ustawić tryb SO_REUSEPORT(_LB) dla gniazd TCP;
- Dodano ustawienie „tcp-io-timeout”, aby ograniczyć czas przychodzących operacji we/wy przez TCP;
- Znacząco zwiększono wydajność operacji modyfikacji zawartości strefy;
- Zaprzestano obsługi rekonfiguracji interfejsów sieciowych i procedur obsługi, ponieważ nie można jej wykonać po zresetowaniu uprawnień procesu;
- Przerobiono implementację plików cookie DNS, aby była w pełni zgodna z projektem specyfikacji draft-ietf-dnsop-server-cookies;
- Domyślnie limit połączeń TCP jest teraz ograniczony do połowy limitu deskryptorów plików systemowych, a liczba otwartych plików jest teraz ograniczona do 1048576;
- Przy wyborze liczby uruchomionych procedur obsługi brana jest teraz pod uwagę liczba procesorów, ale nie mniej niż 10;
- Zmieniono nazwy wielu opcji, na przykład „server.tcp-reply-timeout” na „server.tcp-remote-io-timeout”, „server.max-tcp-clients” na „server.tcp-max-clients”, „template.journal-db” na „database.journal-db” itp. Obsługa starszych nazw zostanie utrzymana przynajmniej do następnej wersji głównej.
Źródło: opennet.ru