Opublikowano wydanie autorytatywnego serwera DNS PowerDNS Authoritative Server 4.7, zaprojektowanego do obsługi stref DNS. Według danych twórców projektu, PowerDNS Authoritative Server obsługuje około 30% wszystkich domen w Europie (jeśli rozpatrujemy tylko domeny z podpisami DNSSEC, to 90%). Kod projektu jest rozpowszechniany na licencji GPLv2.
PowerDNS Authoritative Server umożliwia przechowywanie informacji o domenach w różnych bazach danych, w tym MySQL, PostgreSQL, SQLite3, Oracle oraz Microsoft SQL Server, a także w LDAP i zwykłych plikach tekstowych w formacie BIND. Odpowiedzi mogą być dodatkowo filtrowane (na przykład w celu eliminacji spamu) lub przekierowywane przy użyciu własnych obsługujących skryptów w językach Lua, Java, Perl, Python, Ruby, C i C++. Do cech wyróżniających należy również możliwość zdalnego zbierania statystyk, w tym przez SNMP lub przez Web API (wbudowany serwer http do statystyk i zarządzania), natychmiastowe ponowne uruchamianie, wbudowany silnik do podłączania obsługujących w języku Lua oraz możliwość równoważenia obciążenia z uwzględnieniem lokalizacji geograficznej klienta.
Główne nowości:
- Dodano wsparcie dla katalogu stref („Catalog Zones”), które ułatwia zarządzanie wtórnymi serwerami DNS poprzez to, że zamiast definiowania na wtórnym serwerze rekordów dla każdej wtórnej strefy, między serwerem pierwotnym a wtórnym organizowana jest transmisja katalogu wtórnych stref. Po skonfigurowaniu transmisji katalogu, analogicznie do przesyłania oddzielnych stref, strefy zakładane na serwerze pierwotnym, oznaczone jako należące do katalogu, będą automatycznie tworzone na serwerze wtórnym bez konieczności edytowania plików konfiguracyjnych. Praca katalogu wspiera backendy przechowywania gmysql, gpgsql, gsqlite3, godbc i lmdb.
- W trakcie realizacji katalogu stref przeprowadzono optymalizację kodu do pracy z dużą liczbą domen. Przechowując strefy w bazie danych, znacznie zredukowano liczbę zapytań SQL — zamiast oddzielnego zapytania dla każdej domeny, teraz wykonywany jest wybór grupowy. Zmiana miała pozytywny wpływ na wydajność. serwerów, obsługujących dużą liczbę stref, nawet na systemach nie korzystających z katalogu stref.
- Przerobione i przywrócone wsparcie dla mechanizmu wymiany kluczy GSS-TSIG, który wcześniej został usunięty z powodu podatności i potencjalnych problemów z bezpieczeństwem.
- Podczas żądania rekordów Lua za pomocą TCP zapewnione zostało ponowne wykorzystanie stanu Lua, co znacznie zwiększyło wydajność.
- W bazie danych opartej na lmdbbackend zaimplementowano powiązanie z UUID oraz możliwość generowania losowych identyfikatorów obiektów.
- W pdnsutil i API HTTP dodano narzędzia do zarządzania serwerami autoprimary, które są używane do automatyzacji wdrażania i aktualizacji stref na wtórnych serwerach DNS bez ręcznej konfiguracji wtórnych stref.
- Dodano nową funkcję Lua ifurlextup.
- Dodano eksperymentalny proces w tle do generowania i dostarczania kluczy (key roller).
Źródło: opennet.ru
