wydanie , wysokowydajnego autorytatywnego serwera DNS (rekursor realizowany jako oddzielna aplikacja), wspierającego wszystkie nowoczesne możliwości DNS. Projekt jest rozwijany przez czeski rejestr nazw CZ.NIC, napisany w języku C i jest licencjonowany na zasadach GPLv3.
KnotDNS wyróżnia się orientacją na wysoką wydajność przetwarzania zapytań, do czego stosuje się wielowątkową, w dużej mierze nieblokującą realizację, dobrze skalującą się na systemach SMP. Oferowane są takie możliwości, jak dodawanie i usuwanie stref w locie, przesyłanie stref między serwerami, DDNS (dynamiczne aktualizacje), NSID (RFC 5001), rozszerzenia EDNS0 oraz DNSSEC (w tym NSEC3), ograniczenia intensywności odpowiedzi (RRL).
W nowym wydaniu:
- W pełni zrealizowane wsparcie dla różnych obliczeń numerów seryjnych (SOA) dla stref na serwerach głównych i podrzędnych, przy zastosowaniu na serwerze podrzędnym uwierzytelnienia strefy podpisem cyfrowym;
- Moduł geoip zyskał wsparcie dla rekordów z wzorami zastępczymi (wildcard);
- Dla DNSSEC dodano nowe ustawienie ‘rrsig-pre-refresh’ w celu zmniejszenia częstotliwości zdarzeń uwierzytelnienia strefy podpisem cyfrowym;
- Dodano ustawienie „tcp-reuseport” do skonfigurowania trybu SO_REUSEPORT(_LB) dla gniazd TCP;
- Dodano ustawienie „tcp-io-timeout” w celu ograniczenia czasu trwania operacji wejścia-wyjścia nad TCP;
- Znacząco zwiększono wydajność operacji zmiany zawartości strefy;
- Zaprzestano wsparcia dla rekonfiguracji interfejsów sieciowych i przetworników, ponieważ nie może być to przeprowadzone po zresetowaniu przez proces przywilejów;
- Przeprojektowano implementację ciasteczek DNS w pełni zgodnie z roboczą specyfikacją draft-ietf-dnsop-server-cookies;
- Domyślnie limit liczby połączeń TCP jest teraz ograniczony do połowy systemowego limitu liczby deskryptorów plików, a liczba otwartych plików wynosi 1048576;
- Podczas wybierania liczby uruchamianych przetworników używana jest liczba CPU, ale nie mniej niż 10;
- Wiele opcji zostało przemianowanych, 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’ itd. Wsparcie dla starych nazw będzie zachowane przynajmniej do następnej znacznej wersji.
Źródło: opennet.ru
