premiera serwera DNS z pamięcią podręczną , odpowiedzialnego za rekurencyjne przekształcanie nazw. PowerDNS Recursor zbudowany jest na tej samej bazie kodowej co PowerDNS Authoritative Server, ale serwery DNS rekurencyjne i autorytatywne PowerDNS rozwijane są w ramach różnych cykli rozwoju i wydawane w formie oddzielnych produktów. Kod projektu na licencji GPLv2.
Serwer zapewnia narzędzia do zdalnego zbierania statystyk, obsługuje natychmiastowe ponowne uruchamianie, ma wbudowany silnik do łączenia przetworników w języku Lua, pełną obsługę DNSSEC, DNS64, RPZ (Response Policy Zones) oraz pozwala na włączanie czarnych list. Istnieje możliwość zapisywania wyników rozwiązywania w postaci plików strefowych BIND. W celu zapewnienia wysokiej wydajności stosowane są nowoczesne mechanizmy multiplexowania połączeń w systemach FreeBSD, Linux i Solaris (kqueue, epoll, /dev/poll), a także wysoko wydajny parser pakietów DNS, zdolny do obsługi dziesiątek tysięcy równoległych zapytań.
W nowej wersji:
- Aby zapobiec wyciekom informacji o żądanej domenie i zwiększyć prywatność, domyślnie włączony jest mechanizm (), działający w trybie „relaxed”. Istota mechanizmu polega na tym, że resolver nie wspomina pełnej nazwy poszukiwanej jednostki w swoich zapytaniach do wyższego serwera nazw. Na przykład, przy określaniu adresu dla hosta foo.bar.baz.com, resolver wyśle autorytatywnemu serwerowi dla strefy „.com” zapytanie „QTYPE=NS,QNAME=baz.com”, nie wspominając „foo.bar”. W bieżącej wersji zaimplementowano działanie w trybie „relaxed”.
- Zaimplementowano możliwość rejestrowania wychodzących zapytań do autorytatywnego serwera i odpowiedzi na nie w formacie dnstap (do użycia wymagana jest kompilacja z opcją „--enable-dnstap”).
- Zapewniło to równoczesne przetwarzanie wielu przychodzących zapytań, przesyłanych przez połączenie TCP, z oddawaniem wyników w miarę ich gotowości, a nie w kolejności zapytań w kolejce. Limit równoczesnych zapytań określany jest przez ustawienie „«.
- Zaimplementowano technikę śledzenia nowych domen (Nowo obserwowane domeny), które mogą być używane do identyfikacji podejrzanych domen lub domen związanych z działalnością złośliwą, taką jak rozpowszechnianie złośliwego oprogramowania, udział w phishingu i wykorzystanie do zarządzania botnetami. Metoda opiera się na identyfikacji domen, do których wcześniej nie było odwołań, oraz analizie tych nowych domen. Zamiast śledzić nowe domeny w oparciu o pełną bazę wszystkich kiedykolwiek przeglądanych domen, której utrzymanie wymaga znacznych zasobów, w NOD stosuje się strukturę probabilistyczną. (Stabilny filtr Bloom), który pozwala zminimalizować zużycie pamięci i CPU. Aby włączyć, należy w ustawieniach wskazać „new-domain-tracking=yes”.
- Po uruchomieniu pod kontrolą systemd proces PowerDNS Recursor teraz działa pod nieuprzywilejowanym użytkownikiem pdns-recursor zamiast root. Dla systemów bez systemd i bez chroot, domyślnie do przechowywania gniazda sterującego i pliku pid teraz używany jest katalog /var/run/pdns-recursor.
Ponadto, wydanie , wysokowydajny autorytatywny serwer DNS (rekursor realizowany jako osobna aplikacja), który obsługuje wszystkie nowoczesne funkcje 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:
- Dodano ustawienie 'remote.block-notify-after-transfer' do wyłączenia wysyłania komunikatów NOTIFY;
- Zrealizowano eksperymentalne wsparcie dla algorytmu Ed448 w DNSSE (wymaga GnuTLS 3.6.12+ i jeszcze nie wydanego );
- W keymgr dodano parametr 'local-serial' do uzyskiwania lub ustawiania w bazie danych KASP numeru seryjnego SOA dla podpisanej strefy;
- W keymgr dodano wsparcie dla importu kluczy Ed25519 i Ed448 w formacie serwera DNS BIND;
- Wartość ustawienia 'server.tcp-io-timeout' domyślnie zwiększono do 500 ms, a 'database.journal-db-max-size' zmniejszono do 512 MiB na systemach 32-bitowych.
Źródło: opennet.ru
