PowerDNS - бесплатный и открытый сервер имен демона с открытым исходным кодом, который обеспечивает высокую производительность и может быть смоделирован для использования в качестве передового и современного авторитетного сервера имен в операционных системах GNU / Linux, а также BSD распределения.
DNS-сервер, написанный с нуля
PowerDNS написан с нуля, соответствует всем соответствующим документам стандартов DNS и интерфейсам практически с любой базой данных. Он распространяется в нескольких отдельных пакетах, включая pdns, powerdns-server, pdns-recursor и pdns-server.
Использует гибкую бэкэнд-архитектуру
Приложение использует гибкую бэкэнд-архитектуру, которая позволяет получать доступ к информации DNS из любого источника данных, включая форматы файлов, реляционные базы данных, каталоги LDAP и файлы зоны Bind.
PowerDNS настроен по умолчанию, чтобы обслуживать всю информацию непосредственно из базы данных, что приводит к непревзойденной поддержке вашей DNS-информации. Он доступен для всех основных дистрибутивов Linux.
Кто использует PowerDNS?
Несколько хостинговых компаний и доменных регистраторов используют программное обеспечение PowerDNS для обработки своих услуг, включая Интернет-технологии BIT, Hostnet, Totaalnet Internet Works, Oxilion, WebReus и mijndomein.nl.
Под капотом и доступностью
Программное обеспечение полностью написано на языке программирования C ++, и оно распространяется как готовые двоичные пакеты в формате файлов DEB и RPM, поддерживающих как 64-разрядные, так и 32-разрядные аппаратные платформы.
Будучи проектом с открытым исходным кодом, PowerDNS также доступен для загрузки в качестве универсального архива источников, позволяя пользователям оптимизировать его для конкретной аппаратной архитектуры и операционных систем.
Что нового в этой версии:
- Усовершенствования:
- # 6239, # 6559: pdnsutil: используйте новый домен в b2bmigrate (Aki Tuomi)
- # 6130: Обновление лет авторских прав до 2018 года (Мэтт Нордхофф)
- # 6312, # 6545: нижний 'пакет слишком короткий' loglevel
- Исправления ошибок:
- # 6441, # 6614: Ограничить создание OPT и TSIG RRsets
- # 6228, # 6370: Исправлена обработка заданных пользователем значений фильтров axfr.
- # 6584, # 6585, # 6608: Предотвратите использование GeoIP-бэкэнд от копирования NetMaskTrees, исправляет замедление в некоторых конфигурациях (Aki Tuomi).
- # 6654, # 6659: Убедитесь, что ответы псевдонимов через TCP имеют правильное имя.
Что нового в версии:
- Этот выпуск содержит заметный вклад нашего сообщества. Мы хотели бы подчеркнуть неустанную работу Kees Monshouwer по совершенствованию авторитетного сервера на основе его огромного опыта, масштабирующего PowerDNS для миллионов производственных зон DNSSEC. Христиан Хофстаэдтлер и Ян-Пит Менс внесли массовый вклад во многих разных местах. Также благодарит Грегори Oestreicher за обновление и восстановление LDAP-бэкэнд. Wolfgang Studier, «MrM0nkey», Тудор Сорочану и Бенджамин Зенгин предоставили API управления DNSSEC в рамках своих исследований в TU Berlin.
- Мы попытались перечислить всех остальных в полном списке изменений, и мы очень благодарны за всю работу и тестирование PowerDNS от сообщества!
- Улучшенная производительность: ускорение в 4 раза в некоторых сценариях:
- Более года назад RIPE NCC провела сравнение нескольких версий nameserver и обнаружила, что PowerDNS не является корневым сервером. Несмотря на то, что PowerDNS отлично работает в миллионах зон, мы хотели бы быть быстрыми и в небольших зонах. Результаты этого оптимизационного режима описаны здесь, а также в этой более длинной статье «Оптимизация оптимизации: некоторые идеи, которые привели к 400% ускорению PowerDNS». Работа кеша Kons Monshouwer (re) была жизненно важна для достижения этого улучшения производительности.
- Crypto API: DNSSEC полностью настраивается через API RESTful:
- Наш RESTful HTTP API получил поддержку DNSSEC и управления ключами. Этот API является «более богатым, чем большинство». поскольку он знает о семантике DNSSEC и поэтому позволяет вам манипулировать зонами, не задумываясь о деталях DNSSEC. API будет делать все правильно. Эта работа была внесена Wolfgang Studier, # MrM0nkey, Tudor Soroceanu и Benjamin Zengin в рамках их работы в TU Berlin.
- Связанные с базой данных: пересоединение и 64-битные идентификационные поля:
- Серверы баз данных иногда отключаются после более коротких или более длительных периодов простоя. Это может привести к путанице как в клиентских библиотеках PowerDNS, так и в клиентских библиотеках баз данных в некоторых спокойных условиях. 4.1 содержит расширенную логику пересоединения, которая, по нашему мнению, решает все связанные с этим проблемы. В приятной разработке один пользователь PowerDNS имеет такую большую базу данных, что превысил 32-разрядный счетчик идентификаторов, который теперь был сделан 64-разрядным.
- Улучшенная документация:
- Наш Pieter Lexis инвестировал массу времени, улучшая не только содержимое, но также внешний вид и поиск нашей документации. Взгляните на https://doc.powerdns.com/authoritative/ и знайте, что вы можете легко редактировать нашу документацию через встроенный редактор GitHub.
- Удаление сквозной программы:
- Это повлияет на многие установки, и мы понимаем, что это может быть болезненно, но это необходимо. Ранее на авторитарном сервере PowerDNS было предоставлено средство для отправки рекурсии желаемых запросов в разрешающий сервер, возможно, после первого консультирования его локального кеша. Эта функция ('recursor =') часто вводила в заблуждение и также приводила к непоследовательным результатам, например, когда запрос заканчивался ссылкой на CNAME, который был за пределами авторитетного сервера. Чтобы выполнить миграцию с авторизационного сервера PowerDNS версии 3.0 или 4.0 с выражением «recursor» в файле конфигурации, см. Раздел «Перенос с использования рекурсии на Authoritative Server на использование Recursor».
- Разное:
- Была добавлена поддержка TCP Fast Open. Теперь поддерживается нелокальное связывание. Контрольная зона pdnsutil теперь будет предупреждать о дополнительных ошибках или маловероятных конфигурациях. Наши пакеты теперь поставляются с поддержкой PKCS # 11 (которая ранее требовала перекомпиляции). Улучшена интеграция с журналом systemd (удаление временной метки).
Что нового в версии 4.0.0:
- Многие из изменений находятся внутри и были частью большой «пружинной очистки»:
- Переместился на C ++ 2011, более чистую более мощную версию C ++, которая позволила нам улучшить качество реализации во многих местах.
- Реализована выделенная инфраструктура для работы с именами DNS, которые полностью «DNS Native» и требует меньше экранирования и отмены. В связи с этим полномочный сервер PowerDNS теперь может обслуживать корневые зоны с поддержкой DNSSEC.
- Все серверы, полученные из бэкэнда Generic SQL, используют подготовленные операторы.
- Оба сервера и pdns_control делают правильные вещи, когда chroot'ed.
- Кэши теперь полностью канонически упорядочены, что означает, что записи можно стереть на суффикс во всех местах.
- В дополнение к этой очистке были добавлены следующие новые и интересные функции:
- Восстановленный и поддерживаемый сервер ODBC (godbc).
- Восстановленный и поддерживаемый LDAP-сервер (ldap).
- Поддержка CDS / CDNSKEY и RFC 7344 с ключами.
- Поддержка записи ALIAS.
- Веб-сервер и API уже не являются экспериментальными. Путь API переместился в / api / v1
- DNSUpdate больше не является экспериментальным.
- ECDSA (алгоритм 13 и 14) поддерживается без встроенных криптографических библиотек (предоставляется OpenSSL).
- Экспериментальная поддержка подписи ed25519 DNSSEC (при компиляции с поддержкой libsodium).
- Многие новые команды pdnsutil, например
- help теперь выдает справку
- Предупреждает, что файл конфигурации не может быть прочитан
- Не проверяет отключенные записи с контрольной зоной, если включен режим подробных сообщений
- create-zone создает новую зону
- команда add-record для добавления записей
- команды delete-rrset и replace-rrset для удаления и добавления rrsets
- команда edit-zone, которая порождает $ EDITOR с содержимым зоны в формате zonefile независимо от используемого бэкэнд (blogpost)
- Сервер GeoIP получил множество функций и теперь может, например, выполняется на основе явных сетевых масок, отсутствующих в базе данных GeoIP.
- С новыми функциями появляются удаления. В 4.0.0 были сброшены следующие серверы:
- LMDB.
- Geo (вместо этого используйте улучшенный GeoIP).
- Другие важные изменения и издержки включают:
- pdnssec был переименован в pdnsutil.
- Поддержка криптографических библиотек PolarSSL / MbedTLS, Crypto ++ и Botan была удалена в пользу (быстрее) OpenSSL libcrypto (кроме GOST, который по-прежнему предоставляется Botan).
- ECDSA P256 SHA256 (алгоритм 13) теперь является алгоритмом по умолчанию при защите зон.
- Властный сервер PowerDNS теперь прослушивает по умолчанию на всех IPv6-адресах.
- Несколько избыточных запросов были исключены из общих баз данных SQL, если вы используете нестандартную схему SQL, просмотрите новые значения по умолчанию
- insert-ent-query, insert-empty-non-terminal-query, insert-ent-order-query заменены одним запросом с именем insert-empty-non-terminal-order-query
- insert-record-order-query был удален, теперь в insert-record-query задано имя order (или NULL)
- Вставка-запрос-slave-запрос был удален, вставка-зона-запрос теперь задает тип зоны
- Значения метаданных INCEPTION, INCEPTION-WEEK и EPOCH SOA-EDIT отмечены как устаревшие и будут удалены в 4.1.0
Команда
Команда
Что нового в версии 3.4.9:
- Самые большие исправления - это улучшение отрицательного кеширования и предотвращение который может произойти во время AXFR зоны со многими записями MX с разными приоритетами.
Что нового в версии 3.4.4:
- Самая важная часть этого обновления - это исправление для CVE-2015-1868.
Что нового в версии 3.4.3:
- Исправлены ошибки:
- commit ceb49ce: pdns_control: выход 1 по неизвестной команде (Ruben Kerkhof)
- commit 1406891: оценить пары KSK ZSK для каждого алгоритма (Kees Monshouwer)
- commit 3ca050f: всегда устанавливайте di.notified_serial в getAllDomains (Kees Monshouwer)
- commit d9d09e1: pdns_control: не открывать сокет в / tmp (Ruben Kerkhof)
- Новые функции:
- commit 2f67952: Ограничить, кто может отправить нам AXFR уведомлять запросы (Ruben Kerkhof)
- Улучшения:
- commit d7bec64: ответьте REFUSED вместо NOERROR для "неизвестной зоны" ситуации
- совершить ebeb9d7: проверить Lua 5.3 (Ruben Kerkhof)
- commit d09931d: проверить компилятор для поддержки relro вместо компоновщика (Ruben Kerkhof)
- commit c4b0d0c: замените PacketHandler на UeberBackend, где это возможно (Christian Hofstaedtler)
- commit 5a85152: PacketHandler: поделитесь UeberBackend с DNSSECKeeper (Christian Hofstaedtler)
- commit 97bd444: исправить здание с помощью GCC 5
- Экспериментальные изменения API (Christian Hofstaedtler):
- commit ca44706: API: перемещение общего читателя DomainInfo в его собственную функцию.
- commit 102602f: API: разрешить запись в domain.account поле
- commit d82f632: API: чтение и публикация поля учетной записи домена
- commit 2b06977: API: будьте более строгими при анализе содержимого записи.
- commit 2f72b7c: API: Отклонить неизвестные типы (TYPE0)
- commit d82f632: API: чтение и публикация поля учетной записи домена
Что нового в версии 3.4.2:
- Улучшения: литий>
- commit 73004f1: реализовать CORS для API HTTP
- commit 4d9c289: qtype теперь не учитывает регистр в API и базе данных
- совершить 13af5d8, совершить 223373a, совершить 1d5a68d, совершить 705a73f, совершить b418d52: Разрешить (необязательно) PIE закалка
- commit 2f86f20: json-api: удалить приоритет из json
- commit cefcf9f: исправления backport remotebackend
- commit 920f987, commit dd8853c: Поддержка Lua 5.3
- commit 003aae5: поддержка подписки на один тип ZSK
- commit 1c57e1d: Потенциальное исправление для билета № 1907, теперь мы пытаемся запустить libgcc_s.so.1 для загрузки до того, как мы начнем chroot. Я не могу воспроизвести ошибку в моей локальной системе, но это «должно» помощь.
- commit 031ab21: обновить polarssl до 1.3.9
- Исправлены ошибки:
- commit 60b2b7c, commit d962fbc: отказать слишком длинным ярлыкам в именах
- commit a64fd6a: auth: ограничить длинные строки версии до 63 символов и перехватить исключения в secpoll
- commit fa52e02: pdnssec: исправить проверку ttl для записей RRSIG
- commit 0678b25: исправить латентную отчетность за субмиллисекундные задержки (будет клип до 0)
- commit d45c1f1: убедитесь, что мы не генерируем исключение в & quot; pdns_control show & quot; неизвестной переменной
- commit 63c8088: исправить условие запуска при запуске с помощью углеродной нити, уже пытающейся транслировать неинициализированные данные.
- commit 796321c: сделать qsize-q более надежным
- commit 407867c: Kees Monshouwer обнаружил, что мы подсчитываем поврежденные пакеты и ситуации EAGAIN как правильно принятые пакеты, искажая графики udp вопросов / ответов на auth.
- commit f06d069: сделать отчетность latency & qsize 'live'. Плюс исправить, что мы сообщили только о qsize первого дистрибьютора.
- commit 2f3498e: исправить statbag для протокола углерода и указателей функций
- commit 0f2f999: получить приоритет от таблицы в Lua axfrfilter; исправления билет # 1857
- commit 96963e2, commit bbcbbbe, commit d5c9c07: различные бэкенды: фиксировать записи, указывающие на root
- commit e94c2c4: удалить дополнительный слой трейлинга. который разбил записи MX на корень в BIND-сервере. Должен закрыть билет № 1243.
- commit 8f35ba2: api: использовать полученные результаты для getKeys ()
- commit c574336: прочитайте ALLOW-AXFR-FROM из бэкэнд с метаданными
- Незначительные изменения:
- commit 1e39b4c: переместить manpages в раздел 1
- commit b3992d9: secpoll: заменить ~ на _
- commit 9799ef5: безопасны только зоны с активным ksk
- commit d02744f: api: показать ключи для зон без активных ksk
- Новые функции:
- commit 1b97ba0: добавить метку подписей в auth, чтобы мы могли отображать подписи / секунду
- commit 92cef2d: pdns_control: позволяет сразу уведомлять обо всех зонах
- commit f648752: JSON API: предоставить флеш-кеш, уведомить, axfr-receive
- commit 02653a7: добавьте «bench-db», чтобы сделать очень простой базовый уровень производительности базы данных.
- commit a83257a: включить метрики на основе обратного вызова в statbas и добавить 5 таких показателей: uptime, sys-msec, user-msec, размер кеша-кеша, размер мета-кеша, размер кеша-подписи
- Улучшения производительности:
- commit a37fe8c: лучший ключ для пакетного кэша
- commit e5217bb: не делать время (0) при блокировке кеша подписи
- совершить d061045, совершить 135db51, совершить 7d0f392: очертить кеш пакетов, закрыть билет # 1910.
- commit d71a712: с благодарностью Джеку Ллойду, это работает вокруг стандартного распределителя Botan, замедляющего нас во время использования.
Что нового в версии 3.4.1:
- commit dcd6524, commit a8750a5, commit 7dc86bf, commit 2fda71f: теперь PowerDNS проверяет статус безопасности выпуска при запуске и периодически. Более подробно об этой функции и о том, как ее отключить, можно найти в разделе 2 «Опрос безопасности».
- commit 5fe6dc0: API: Заменить HTTP Basic auth статическим ключом в настраиваемом заголовке (X-API-Key)
- commit 4a95ab4: Использовать транзакцию для pdnssec enlarge-serial
- commit 6e82a23: не удалять имя заказа во время обновления pdnssec-серийного
- commit 535f4e3: почитать SOA-EDIT при рассмотрении & quot; пустой IXFR & quot; fallback, исправляет билет 1835. Это исправляет ведение подписанных зон с ведомыми устройствами, поддерживающими IXFR, такими как NSD или BIND.
Что нового в версии 3.4:
- Это производительность, функция, исправление ошибок и соответствие 3.3.1 и любой более ранней версии. Он содержит огромную работу различных участников, которым мы очень благодарны.
Что нового в версии 3.3.1:
- direct-dnskey больше не является экспериментальным, благодаря Kees Monshouwer & co для обширного тестирования (commit e4b36a4).
- Обрабатывать сигналы во время опроса (commit 5dde2c6).
- commit 7538e56: Исправить код выхода zone2 {sql, json}
- commit 7593c40: geobackend: исправить возможный nullptr deref
- commit 3506cc6: gpsqlbackend: не добавляйте пустое имя dbname = / user = для подключения строки
- gpgsql-запросы были упрощены за счет использования casting (commit 9a6e39c).
- commit a7aa9be: Заменить hardcoded make с переменной
- commit e4fe901: обязательно запустите PKG_PROG_PKG_CONFIG перед первым использованием PKG_ *
- commit 29bf169: исправить поиск hmac-md5 TSIG
- commit c4e348b: исправить ключи ключа TSIG с 64+ символами
- commit 00a7b25: Исправить сравнение между подписанным и unsigned с помощью uint32_t для начала в INCEPTION-EPOCH
- commit d3f6432: исправить построение на os x 10.9, спасибо Martijn Bakker.
- Теперь мы разрешаем строить против Lua 5.2 (commit bef3000, commit 2bdd03b, commit 88d9e99).
- commit fa1f845: autodetect MySQL 5.5+ charset для связи
- Если неверно сконфигурировано использование «правильных» часовых поясов, ошибка в (g) libc gmtime нарушает наши подписи. Исправлено в commit e4faf74 от Kees Monshouwer путем реализации нашего собственного gmtime_r.
- При отправке SERVFAIL из-за цикла CNAME не используйте ненужные CNAME (commit dfd1b82).
- Сборка исправлений для платформ со «странными» типами (например, s390 / s390x): commit c669f7c (подробности), совершить 07b904e и совершить 2400764.
- Поддержка синтаксиса + = для параметров, фиксации 98dd325 и других.
- commit f8f29f4: nproxy: добавить отсутствующий chdir (& quot; / & quot;) после chroot ()
- commit 2e6e9ad: исправить для "missing & quot; libmysqlclient в системах на основе RHEL / CentOS.
- pdnssec check-zone улучшения в commit 5205892, commit edb255f, commit 0dde9d0, commit 07ee700, commit 79a3091, commit 08f3452, commit bcf9daf, commit c9a3dd7, commit 6ebfd08, commit fd53bd0, commit 7eaa83a, commit e319467,,
- Исправления NSEC / NSEC3 в commit 3191709, commit f75293f, commit cd30e94, commit 74baf86, commit 1fa8b2b
- Веб-сервер может сбой при изменении размеров буферов звонков, зафиксированных в commit 3dfb45f.
- commit 213ec4a: добавить ограничения для имени в схему pg
- commit f104427: делать запросы в области domainmetadata нечувствительными к регистру
- commit 78fc378: сжатие ярлыков для имени в записях TSIG
- commit 15d6ffb: pdnssec теперь выводит записи ZSK DNSKEY, если включена поддержка dynamic-direct-dnskey (переименована в direct-dnskey перед выпуском!)
- commit ad67d0e: drop cryptopp из статической сборки, так как libcryptopp.a разбит на Debian 7, что мы строим на
- commit 7632dd8: поддержка polarssl 1.3 снаружи.
- Remotebackend был полностью обновлен в различных коммитах.
- commit 82def39: SOA-EDIT: исправить обработку INCEPTION-INCREMENT
- commit a3a546c: добавьте опцию gmysql, поддерживающую исправление с использованием некорректного доступа.
- commit 9c56e16: на самом деле запрашивает тайм-аут во время получения AXFR, спасибо hkraal
Что нового в версии 3.1 RC1:
- В этой версии исправлены важные проблемы с DNSSEC, и содержит огромное количество улучшений и исправлений.
Что нового в версии 3.0.1:
- Эта версия идентична версии 3.0, за исключением исправление для CVE-2012-0206 aka Уведомление о безопасности PowerDNS 2012-01. Рекомендуется обновление.
Что нового в версии 3.0 RC3:
- В этом выпуске содержится полная поддержка DNSSEC, с автоматическим подписанием, опрокидыванием и обслуживанием ключей.
- Цель состоит в том, чтобы позволить существующим установкам PowerDNS начать обслуживать DNSSEC с минимальными трудностями, сохраняя при этом производительность и достижение высокого уровня безопасности.
- Другие новые функции включают TSIG, бэкэнд MyDNS-compat, также - уведомление, ведущий / подчиненный по протоколу IPv6, механизм параллельного подчиненного параллелизма, поддержку MongoDB и редактирование зоны Lua.
Что нового в версии 3.0 RC1:
- Этот выпуск полностью поддерживает DNSSEC, с автоматическим подписанием , опрокидывание и обслуживание ключей.
- Цель состоит в том, чтобы позволить существующим установкам PowerDNS начать обслуживать DNSSEC с минимальными трудностями, сохраняя при этом производительность и достижение высокого уровня безопасности.
- Другие новые функции включают TSIG, бэкэнд MyDNS-compat, также - уведомление, ведущий / подчиненный по IPv6, механизм параллельного подчиненного параллелизма и редактирование зоны Lua.
Что нового в версии 2.9.22:
- В этой версии реализовано достаточно много новых функций в сочетании с большим увеличением производительности для больших настроек.
- Кроме того, было рассмотрено значительное количество ошибок и проблем.
- Это рекомендуемое обновление.
Что нового в версии 2.9.22 RC2:
- По сравнению с 2.9.21 эта версия предлагает большой прирост производительности для установок, работающих с высокими кэшированными TTL или большим кэшем пакетов, во многих случаях на порядок.
- Кроме того, было исправлено большое количество ошибок, добавлены некоторые функции, и в целом многие области увидели улучшения.
- RC2 устраняет важные проблемы по сравнению с RC1.
Что нового в версии 2.9.22 RC1:
- По сравнению с 2.9.21 эта версия предлагает большой прирост производительности для установок, работающих с высокими кэшированными TTL или большим кэшем пакетов, во многих случаях на порядок.
- Кроме того, было исправлено большое количество ошибок, добавлены некоторые функции, и в целом многие области увидели улучшения.
Что нового в версии 2.9.21.2:
- Некоторые (редкие) конфигурации авторитарного сервера PowerDNS могут быть принудительно перезагружены удаленно.
- Для других конфигураций удаленное подключение базы данных может быть запущено удаленно.
- Эти проблемы исправлены.
Комментарии не найдены