The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск PowerDNS Authoritative Server 5.0

23.08.2025 22:26

Опубликован релиз авторитетного (authoritative) DNS-сервера PowerDNS Authoritative Server 5.0, предназначенного для организации отдачи DNS-зон. В лучшие времена PowerDNS Authoritative Server обслуживал до 30% из общего числа доменов в Европе и до 90% доменов с DNSSEC. Код проекта распространяется под лицензией GPLv2.

PowerDNS Authoritative Server предоставляет возможность хранения информации о доменах в различных базах данных, включая MySQL, PostgreSQL, SQLite3, LMDB, Oracle, и Microsoft SQL Server, а также в LDAP и обычных текстовых файлах в формате BIND. Отдача ответа может быть дополнительно отфильтрована (например, для отсеивания спама) или перенаправлена в собственные обработчики на языках Lua, Java, Perl, Python, Ruby, C и C++. Из особенностей также выделяются средства для удалённого сбора статистики, среди прочего по SNMP или через Web API (для статистики и управления встроен http-сервер), мгновенный перезапуск, встроенный движок для подключения обработчиков на языке Lua, возможность балансировки нагрузки с учётом географического местоположения клиента.

Ключевым новшеством в PowerDNS Authoritative Server 5.0 стала поддержка представлений (views) в стиле DNS-сервера BIND, позволяющих отдавать разное содержимое DNS-зон в зависимости от IP-адреса, с которого поступил запрос. Например, при помощи представлений пользователям с внутренними адресами (интранет) можно отдавать один вариант DNS-зоны для запрошенного домена, а внешним пользователям - другой. Для хранения разных представлений DNS-зон пока может использоваться только бэкенд LMDB.

Серди других изменений:

  • Добавлена поддержка привязки к Unix-сокету вместо сокета TCP/IP.
  • В утилиту sdig добавлена поддержка EDNS Cookie.
  • В бэкенд LMDB добавлена возможность поиска записей и поддержка RFC-2136 (DNS UPDATE).
  • Реализован новый синтаксис запуска утилиты pdnsutil - "pdnsutil тип_объекта команда аргументы" (поддержка старого синтаксиса сохранена).
  • Добавлена новая команда "pdnsutil backend-lookup" для поиска записей в бэкенде хранения.
  • Добавлена поддержка RFC-9615 для автоматического аутентифицированного бутстраппинга DNSSEC.
  • Реализована поддержка ведения лога пакетов, для которых возникли ошибки парсинга.
  • Добавлена настройка "dnsupdate-require-tsig", включающая обязательное использование механизма TSIG (Transaction Signature) для операций обновления записей в DNS.
  • Добавлена настройка "direct-dnskey-signature", включающая прямое извлечение цифровой подписи DNSKEY из бэкенда.
  • Добавлена настройка "resolve-across-zones", при выключении которой DNS-сервер не будет разрешать CNAME-записи, указывающие на другие зоны.
  • Расширены возможности по созданию обработчиков на языке Lua.


  1. Главная ссылка к новости (https://blog.powerdns.com/2025...)
  2. OpenNews: Выпуск DNS-сервера BIND 9.20.0, переведённый на libuv и новый бэкенд для БД
  3. OpenNews: Выпуск DNS-сервера KnotDNS 3.3.0 с поддержкой DNS поверх QUIC
  4. OpenNews: Уязвимости KeyTrap и NSEC3, затрагивающие большинство реализаций DNSSEC
  5. OpenNews: Один из корневых DNS-серверов 4 дня находился в рассинхронизированном состоянии
  6. OpenNews: Выпуск PowerDNS Authoritative Server 4.7
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63767-powerdns
Ключевые слова: powerdns, dns
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (33) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 23:19, 23/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >>В лучшие времена

    Да, только непонятно чем они были лучше. BIND тормозил сильнее?

     
     
  • 2.3, Аноним (3), 01:04, 24/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    10K qps держит нормально (с мускулом, ток надо отрубить sql кеш)
     
     
  • 3.13, Аноним (13), 18:20, 24/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Интересно, а 50K? У кого есть такой опыт?
     
     
  • 4.17, vadiml (ok), 18:58, 24/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И 50k -- reg.ru работает на PowerDNS+MySQL
     
     
  • 5.21, Аноним (13), 20:46, 24/08/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Спасибо! Весьма интересно! А где-нибудь почитать об этом можно? Нет? И вот интересно, а на предмет импортозамещения никто не изучал вопрос с PowerDNS? Знаю, что есть бинарники в репозиториях ALT Linux, но PowerDNS точно нет в Astra (у них только BIND). Кроме того, разумеется и в реестре отечественного ПО вообще нет сейчас никаких DNS-серверов.
     
  • 5.27, Аноним (3), 23:08, 24/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    без dnsdist?
     
  • 5.33, Аноним (33), 07:30, 25/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какие ресурсы съедает, при такой загрузке?
     
  • 2.4, penetrator (?), 01:07, 24/08/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    PowerDNS - один из не многих кто имеет GeoDNS, наверное только gdnsd еще может посоперничать

    не знаю чего вам этот BIND сдался

     
     
  • 3.12, Аноним (12), 18:16, 24/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >не знаю чего вам этот BIND сдался

    PowerDNS уже перестал список корневых NS серверов вкрячивать в бинарник?

     
     
  • 4.15, Аноним (13), 18:31, 24/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не знаю, как у PowerDNS, а у BIND это именно так и реализовано. Список корневых NS по умолчанию задан на уровне исходных текстов. Даже если вы вообще удалите и не определите зону "." (точка), BIND всё равно будет запросы слать к корневым NS. Лечится это только одним способом (по крайней мере я других не знаю) - нужно положить пустой файл типа hint. В этом случае он будет выдавать ServFail на все запросы к зоне ".", либо создать свою зону "." с типом master - на всё неопределённое будут возвращаться NXDomain. Нужно учесть, что этот способ нигде официально не описан (по крайней мере я не нашёл), то есть на ваш страх риск.
     
     
  • 5.18, Аноним (12), 19:38, 24/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Не знаю, как у PowerDNS, а у BIND это именно так и реализовано. Список корневых NS по умолчанию задан на уровне исходных текстов.

    Бред!
    Ты не только у PowerDNS, но и у BIND не знаешь как реализовано.

    named.conf:
    -----------
    view all in {
      match-clients { any; };
      zone "." in {
          type hint;
          file "root.cache";
      };


    root.cache:
    -----------
    ;; ANSWER SECTION:
    .  518400  IN      NS      a.root-servers.net.
    .  518400  IN      NS      b.root-servers.net.
    ...
    ...
    ;; ADDITIONAL SECTION:
    a.root-servers.net.     518400  IN      A       198.41.0.4
    b.root-servers.net.     518400  IN      A       170.247.170.2
    ...
    ...

     
     
  • 6.19, Аноним (13), 20:08, 24/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А если внимательно перечитать и подумать о чем там написано прежде чем браться излагать здесь основы основ для самых маленьких? Исходники BIND смотрел? Видимо нет. В общем ещё раз перечитай, что написано выше, проделай тесты: совсем удали свой "view all" и  "root.cache" (не забудь перечитать конфиг, а то вдруг ты подумаешь, что я и об этом не знаю), а затем обнаружь к своему изумлению, что твой BIND всё равно почему-то будет слать DNS-запросы к вот этим *.root-servers.net. Угадаешь с трёх попыток почему он это продолжит делать? И вот потом поговорим, что здесь бред, а что нет. :)
     
  • 6.20, Аноним (13), 20:24, 24/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Кроме того, что бы не быть голословным в отличии от некоторых знатоков "бреда" и базовых основ настройки BIND, рекомендую на досуге поизучать исходниках этого самого BIND (в данном случае на примере версии 9.11.37) и посмотреть как оно там на самом деле, а не писать здесь тексты из учебников для начинающих:

    lib/dns/rootns.c:
    static char root_ns[] =
    ";\n"
    "; Internet Root Nameservers\n"
    ";\n"
    "$TTL 518400\n"
    ".                       518400  IN      NS      A.ROOT-SERVERS.NET.\n"
    ".                       518400  IN      NS      B.ROOT-SERVERS.NET.\n"
    ".                       518400  IN      NS      C.ROOT-SERVERS.NET.\n"
    ...

    lib/dns/rootns.c:
    dns_rootns_create(isc_mem_t *mctx, dns_rdataclass_t rdclass,
            len = strlen(root_ns);
            isc_buffer_init(&source, root_ns, len);

    bin/named/server.c:
            result = dns_rootns_create(view->mctx, view->rdclass, filename, &db);
            CHECKFATAL(dns_rootns_create(mctx, dns_rdataclass_in, NULL,

     
     
  • 7.22, Аноним (12), 21:26, 24/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Даже если вы вообще удалите и не определите зону "." (точка), BIND всё равно будет запросы слать к корневым NS.

    Печально, что приходится объяснять, что в BIND это не штатная настройка, а защита от "дурака" (не определите зону "."). В PowerDNS при смене адреса любого из корневых NS приходится бинарник обновлять :-(
    Так что ты действительно не знаешь ни BIND, ни PowerDNS (программаст вестимо?)

     
     
  • 8.24, Аноним (13), 22:00, 24/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ага, и рассказывай теперь, что если бы ты якобы знал бы про эту, с твоих слов, з... текст свёрнут, показать
     
  • 8.25, Аноним (13), 22:31, 24/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И вообще хватит пороть чушь Вот оно как раз и очевидно, что именно ты не только... текст свёрнут, показать
     
  • 4.26, Аноним (13), 22:34, 24/08/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    1) В PowerDNS: If the recursor.hint_file is not set, Recursor will use a compiled-in table as root hints.
    3) Тоже самое и в BIND: см. root_ns[] в lib/dns/rootns.c
     
     
  • 5.28, Аноним (3), 23:12, 24/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    новость про нейм (авторитативный) сервер, а он за рекурсер говорит
     
     
  • 6.29, Аноним (13), 00:15, 25/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Логично! И я о том же! Не доходит, почему в авторитативном сервере нет такой настройки? Объяснить? Сам поймёшь? И вот теперь на кой ляд тогда человек сравнивает это именно с BIND, который сочетает в себе обе функции? Ну, неужели непонятно, что коль у кого-то загорелось именно этот функционал сравнивать с BIND, то конечно же речь идёт о другом продукте, то есть о PowerDNS Recursor? Ну, а по факту у PowerDNS (в данном случае Recursor) данный функционал реализован, как и у BIND. Авторитативынй сервер здесь вообще ни причем изначально! В противном случае нечего было и сравнивать с самого начала с BIND! Чепуха какая-то!
     
     
  • 7.30, Аноним (3), 00:57, 25/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    к нейм серверу можно прикрутить рекурсор, а список корневых NS вкорячен, потому-что надо как-то отрезолвить www.internic.net, чтобы скачать тот самый named.root по ссылке //www.internic.net/domain/named.root. Чтобы работало рекурсор нужен этот файл, а как его достать если рукурсор не работает без него? дилемма? - ну вот и вкорячивают. А если меняется айпишник какого-то сервера, надо не бинарник собирать заново, а новый named.root качать. Дураку понятно, что разом все адреса не сменятся никогда.

     
     
  • 8.31, Аноним (13), 01:17, 25/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Логично В BIND аналогично См исходники lib dns rootns c Чепуха Ничего собир... текст свёрнут, показать
     
     
  • 9.32, Аноним (3), 01:47, 25/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    читайте внимательно - надо НЕ бинарник собирать заново, ... текст свёрнут, показать
     
  • 8.37, Аноним (37), 12:57, 25/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У pdns auth давно не можно, выпилили такую возможность, рекурсивные запросы он н... текст свёрнут, показать
     
     
  • 9.38, Аноним (3), 13:19, 25/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    угу, в 2017 году версия 4 1 0 зарелизилась, учитывая что сам pdns существует с 2... текст свёрнут, показать
     
  • 2.5, жопка3 (?), 01:25, 24/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Например тем, что в те времена релоад конфига с 10k зон занимал вечность.
     
     
  • 3.23, Димая (?), 21:59, 24/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Выходи из разморозки
     

  • 1.9, Аноним (9), 11:10, 24/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >"зации отдачи DNS-зон. В лучшие времена PowerDNS Authoritative Server обслуживал до 30% из общего числа доменов в Европе и до 90% доменов с DNSSEC."

    Никто и никогда не вернёт нам богатый 2007 года. Денег нет!

     
     
  • 2.34, Аноним (33), 07:35, 25/08/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Цифровых денег тебе "напечатают" столько, что ты сам скажешь хватит, а вот потом одни черепки останутся!
     
     
  • 3.35, Аноним (35), 09:31, 25/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы это к чему написали? Некоторые тоже на диване не могут дойти до пульта, потому что такой цели перед ними и не стояло!
     

  • 1.14, Аноним (12), 18:27, 24/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Ключевым новшеством в PowerDNS Authoritative Server 5.0 стала поддержка представлений (views) в стиле DNS-сервера BIND, позволяющих отдавать разное содержимое DNS-зон в зависимости от IP-адреса.

    Не прошло и 25-ти лет (BIND 9 появился в 2000-м году) и оно уже реализовано в PowerDNS

     
     
  • 2.16, Аноним (13), 18:40, 24/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Теоретически и практически кое-что там можно реализовать на LUA, но это будет всё равно немного не то, но если нужен именно полноценный Split Horizon похожий на view BIND, то и в старых версиях я бы реализовал это через dnsdist, а сам авторитативный PowerDNS поднимал бы отдельными виртуальными экземплярами (этот функционал у него есть из коробки) со списком своих зон, но теперь в новой версии как мы видим у PowerDNS появились ещё и view.
     

  • 1.36, Аноним (35), 09:32, 25/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    DNS шифрование актуально как некогда.
     
  • 1.39, Аноним (39), 14:45, 25/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Надеюсь всё шифрования DNS DoH вырубили? Или нет?!
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру