В этой статье представлено сравнение функций, поддержки платформы и упаковки многих независимых реализаций доменного имени . Система (DNS) сервер имен программное обеспечение.
Каждый из этих DNS серверов представляет собой независимую реализацию протоколов DNS, способную разрешать DNS-имена для других компьютеров, публикуя DNS-имена компьютеров или и того, и другого. Из рассмотрения исключены однофункциональные инструменты DNS (такие как прокси, фильтры и брандмауэры) и перераспределение серверов, перечисленных здесь (многие продукты переупаковывают BIND, например, с собственными пользовательскими интерфейсами).
DNS-серверы сгруппированы по нескольким категориям специализации обслуживания запросов системы доменных имен. Две основные роли, которые могут быть реализованы либо уникально, либо объединены в данном продукте:
F5 Networks DNS как авторитетный сервер, рекурсивный и добавляет дополнительные меры безопасности. Ключевым преимуществом является использование одного и того же контроллера доставки приложений для поддержки DNS и ускорения приложений.
BIND - это стандартный де-факто DNS-сервер. Это бесплатное программное обеспечение, которое распространяется с большинством платформ Unix и Linux, где его чаще всего называют именованным (name daemon). Это наиболее широко распространенный DNS-сервер. Исторически BIND подвергался трем основным изменениям, каждая из которых имела существенно отличающуюся архитектуру: BIND4, BIND8 и BIND9. BIND4 и BIND8 теперь технически устарели и не рассматриваются в этой статье. BIND9 - это переработанная версия BIND с полной поддержкой DNSSEC в дополнение к другим функциям и улучшениям.
Консорциум Интернет-систем начал разработку новой версии BIND 10. Его первый выпуск был в апреле 2010 года, но участие ISC завершилось выпуском BIND 10 версии 1.2 в апреле 2014 года. ISC сослалась на нехватку ресурсов для продолжили разработку BIND 10 и подтвердили свою приверженность BIND9.
Кодовая база BIND 10 продолжается как проект с открытым исходным кодом на http://bundy-dns.de/ (там же.) В настоящее время он не включен в это сравнение.
CNR включает коммерческий DNS-сервер от Cisco Systems, обычно используемый вместе с сервером CNR DHCP (Протокол динамической конфигурации хоста ). Он поддерживает высокие скорости динамического обновления.
CoreDNS - рекомендуемый DNS-сервер для Kubernetes, выпущенный CNCF в 2019 году.
Dnsmasq - это легкий, простой в настройке Сервер пересылки DNS, предназначенный для предоставления услуг DNS (и опционально DHCP и TFTP ) в небольшой сети. Он может обслуживать имена локальных машин, не входящих в глобальный DNS.
Dnsmasq принимает запросы DNS и либо отвечает на них из небольшого локального кеша, либо перенаправляет их на реальный рекурсивный сервер DNS. Он загружает содержимое / etc / hosts, так что имена локальных хостов, которые не отображаются в глобальном DNS, могут быть разрешены.
Djbdns - это набор приложений DNS, включая tinydns, который был вторым по популярности бесплатным программным обеспечением DNS-сервером в 2004 году. Он был разработан Дэниелом Дж. Бернштейн, автор qmail, с упором на соображения безопасности. В марте 2009 года Бернштейн заплатил 1000 долларов первому человеку, обнаружившему дыру в безопасности djbdns. Исходный код не поддерживается централизованно и был выпущен в общественное достояние в 2007 году. По состоянию на март 2009 года существует три форка и более дюжины патчей чтобы добавить дополнительные функции в djbdns.
Knot DNS - это бесплатное программное обеспечение авторитетный DNS-сервер от CZ.NIC. Knot DNS стремится быть быстрым и отказоустойчивым DNS-сервером, используемым для инфраструктуры (корневого и TLD) и служб хостинга DNS. Knot DNS поддерживает подписывание DNSSEC и, среди прочего, корневую зону хостов (K и L Root_name_servers ), несколько доменов верхнего уровня.
Knot Resolver - это кэширующий полный преобразователь DNS от CZ.NIC, написанный на C и Lua и доступен как бесплатное программное обеспечение. Knot Resolver - это родственный проект Knot DNS, каждый из которых независим и служит разным целям. Knot Resolver используется Cloudflare для 1.1.1.1, его бесплатной службы DNS.
MaraDNS - это бесплатное программное обеспечение DNS-сервер от Сэма Тренхолма, который заявляет о хорошей истории безопасности и простоте использования. Чтобы изменить какие-либо записи DNS, необходимо перезапустить MaraDNS. Как и djbdns dnscache, автономный рекурсивный преобразователь MaraDNS 2.0 («Deadwood») не использует потоки.
Компонент Windows DNS Server для Microsoft DNS. Одно и то же программное обеспечение можно настроить для поддержки авторитетного, рекурсивного и гибридного режима. Программное обеспечение интегрировано с Active Directory, что делает его программным обеспечением DNS по умолчанию для многих корпоративных сетей, основанных на Active Directory. Он также позволяет создавать зоны с помощью стандартного файла зоны DNS . Программное обеспечение поставляется в виде роли в Windows Server. Серверное программное обеспечение поставляется с приложением dnscmd командной строки, мастером графического интерфейса управления DNS и пакетом DNS PowerShell. В Windows Server 2012 в Windows DNS добавлена поддержка DNSSEC с полноценной онлайн-подписью, с поддержкой Dynamic DNS и NSEC3, а также с алгоритмами подписи RSASHA и ECDSA. Он предоставляет встроенного поставщика хранилища ключей и поддержку любого стороннего поставщика хранилища ключей, совместимого с CNG. Пользовательский интерфейс и поддержка PowerShell для управления DNS и DNSSEC также были улучшены. В Windows Server 2016 DNS-сервер поддерживает политики DNS, с помощью которых администраторы могут иметь больший контроль над процессом разрешения имен.
NSD - это бесплатное программное обеспечение предоставленный авторитетный сервер пользователя NLNet Labs. NSD - это тестовый сервер для DNSSEC; новые функции протокола DNSSEC часто прототипируются с использованием кодовой базы NSD. NSD размещает несколько доменов верхнего уровня и управляет тремя из корневых серверов имен.
Pdnsd - это кеширующий прокси-сервер DNS, который долго хранит кэшированные записи DNS на диске. срок удержания. Pdnsd спроектирован таким образом, чтобы быть легко адаптируемым к ситуациям, когда сетевое соединение является медленным, ненадежным, недоступным или очень динамичным, с ограниченными возможностями действовать в качестве авторитетного сервера имен. Он находится под лицензией GPL.
Posadis - это бесплатное программное обеспечение DNS-сервер, написанный на C ++, с поддержкой обновления Dynamic DNS.
PowerDNS - это бесплатное программное обеспечение DNS-сервер с множеством внутренних хранилищ данных и функциями балансировки нагрузки. Авторитетные и рекурсивные серверные функции реализованы как отдельные приложения.
DNS Authority - это коммерческое программное обеспечение для авторитетных серверов имен от Secure64, компании, которая создала приложения и операционную систему Genuinely Secure DNS и полностью автоматизировала развертывание DNSSEC.
DNS Cache - это масштабируемое, высоконадежное рекурсивное программное обеспечение DNS от Secure64, которое обеспечивает встроенную защиту от массовых атак типа «отказ в обслуживании», включая атаки псевдослучайного субдомена (PRSD).
Simple DNS Plus - это коммерческий продукт DNS-сервера, работающий под Microsoft Windows с упором на простой в использовании GUI. Похоже, что обслуживание программного обеспечения в последние годы ослабло.
Unbound - это проверяющий, рекурсивный и кэширующий DNS-сервер, разработанный для обеспечения высокой производительности. Он был выпущен 20 мая 2008 г. (версия 1.0.0) как бесплатное программное обеспечение под лицензией BSD от NLnet Labs. Он устанавливается как часть базовой системы в FreeBSD, начиная с версии 10.0, и в NetBSD с версией 8.0. Версия также доступна в OpenBSD версии 5.6 и выше. (Предыдущие версии FreeBSD поставлялись с BIND.)
YADIFA [5] - это лицензированный BSD DNS-сервер с эффективным использованием памяти, написанный на C. Аббревиатура YADIFA означает Еще одна реализация DNS для всех. Он был создан EURid, который управляет доменом верхнего уровня.eu.
Некоторые функции DNS актуальны только для рекурсивных серверов или авторитетных серверов. В результате матрица функций, подобная той, что представлена в этой статье, не может сама по себе отражать эффективность или зрелость данной реализации.
Еще одним важным параметром является архитектура сервера. Некоторые DNS-серверы обеспечивают поддержку обеих ролей сервера в единой «монолитной» программе. Другие делятся на более мелкие программы, каждая из которых реализует подсистему сервера. Как и в классической дискуссии о микроядре в компьютерных науках, важность и полезность этого различия горячо обсуждается. В матрице функций в этой статье не обсуждается, предоставляются ли функции DNS в одной программе или в нескольких, при условии, что эти функции предоставляются с базовым серверным пакетом, а не с дополнительным программным обеспечением сторонних производителей.
Сервер | Авторитетный | Рекурсивный | Рекурсивный ACL | Вторичный режим | Кэширование | DNSSEC | TSIG | IPv6 | подстановочный знак | Бесплатное ПО | Интерфейс | разделенный горизонт |
---|---|---|---|---|---|---|---|---|---|---|---|---|
BIG-IP DNS | Да | Да | Да | Да | Да | Да | Да | Да | Да | Нет | API, командная строка | Да |
BIND | Да | Да | Да | Да | Да | Да | Да | Да (начиная с 9.x) | Да (с 4.x) | Да | Интернет, команда строка | Да |
PowerDNS | Да | Да | Да | Да | Да | Да (начиная с версии 3.0) | Да (с версии 3.0) | Да | Да | Да | REST, Интернет, командная строка | Частично |
djbdns | Да | Да | Да | Да | Да | Частично | Нет | Частично через общие записи. inventory | Частично | Да | командная строка и веб (VegaDNS NicTool ) | Да |
dbndns | Да | Да | Да | Да | Да | Нет | Нет | Да | Частично | Да | командная строка и Интернет | Да |
pdnsd | Частично | Да | Частично | Частично | Да | Нет | Частично | Да | Да | Да | командная строка, программа pdnsd-ctl | Частично |
MaraDNS | Да | Да | Да | Частично | Да | Нет | Нет | Частично | Да | Да | командная строка | Нет |
Посадис | Да | Да | Да | Да | Да | Нет | Нет | Да | Да | Да | командная строка, API | Нет |
Несвязанный | Частичный | Да | Да | Н / Д | Да | Да | Нет | Да | Да | Да | командная строка, API | Да |
Dnsmasq | Частично | Нет | Нет | Нет | Да | Да (начиная с версии 2.69) | Нет | Да | Да | Да | командная строка | Частично |
NSD | Да | Нет | Н / Д | Да | Н / Д | Да | Да | Да | Да | Да | командная строка | Нет |
Узел DNS | Да | Нет | Н / Д | Да | Н / Д | Да | Да | Да | Да | Да | командная строка | Да |
Нет | Да | Да | Н / Д | Да | Да | Нет | Да | Да | Да | командная строка и Интернет | Нет | |
YADIFA | Да | Нет | Н / Д | Да | Н / Д | Да | Да | Да | Да | Да | командная строка | Нет |
Microsoft DNS | Да | Да | Да | Да | Да | Да | Да | Да | Да | Нет | GUI, командная строка, API, WMI, RPC | Да |
Simple DNS Plus | Да | Да | Да | Да | Да | Да | Да | Да | Да | Нет | Графический интерфейс, Интернет, командная строка | Да |
Secure64 DNS Authority | Да | Нет | Нет | Да | Нет | Да | Да | Да | Да | Нет | Командная строка или веб-интерфейс | Да |
Secure64 Кэш DNS | Нет | Да | Да | Нет | Да | Да | Нет | Да | Да | Нет | Командная строка или веб-интерфейс | Да |
Сервер | Авторитетный | Рекурсивный | Рекурсивный ACL | Дополнительный режим | Кэширование | DNSSEC | TSIG | IPv6 | Подстановочный знак | Бесплатное программное обеспечение | Интерфейс | split Horizon |
В этом обзоре операционной системы em для обсуждаемого DNS-сервера, следующие термины указывают уровень поддержки:
Эта компиляция не является исчерпывающей, а скорее отражает наиболее распространенные платформы сегодня.
Сервер | BSD | Solaris | Linux | Mac OS X | Windows |
---|---|---|---|---|---|
BIND | Да | Да | Да | Да | Да |
Microsoft DNS | Нет | Нет | Нет | Нет | Включено |
djbdns | Да | Да | Да | Да | Нет |
Dnsmasq | Да | Да | Да | Да | Нет |
Simple DNS Plus | Нет | Нет | Нет | Нет | Да |
NSD | Да | Да | Да | Да | Нет |
Узел DNS | Да | Нет | Да | Да | Нет |
Частично | Нет | Да | Да | Нет | |
PowerDNS | Да | Да [7] | Да | Бета | Нет |
MaraDNS | Да | Да [8] | Да | Да | Частично |
pdnsd | Да | Частично | Да | Да | Нет |
Посадис | Да | Да | Да | Да | Да [9] |
Несвязанный | Да | Да | Да | Да | Да |
Сетевой регистратор Cisco | Нет | Да | Да | Нет | Да |
YADIFA | Да | Да | Да | Да | Нет |
Secure64 DNS Authority | Нет | Нет | Да | Нет | Нет |
Secure64 DNS Cache | Нет | Нет | Да | Нет | Нет |
Сервер | Creator | Стоимость (долл. США ) | Открытый исходный код | Лицензия на программное обеспечение |
---|---|---|---|---|
BIND | Консорциум интернет-систем | Бесплатно | Да | BSD, MPL 2.0 для 9.11+ |
Microsoft DNS | Microsoft | Включено в Windows Server | Нет | Лицензия Clickwrap |
djbdns | Daniel J. Bernstein | Бесплатно | Да | Общественное достояние |
Dnsmasq | Саймон Келли | Бесплатно | Да | GPL |
Simple DNS Plus | JH Software | 79–379 долларов | Нет | Лицензия Clickwrap |
NSD | NLnet Labs | Бесплатно | Да | BSD вариант |
Knot DNS | CZ.NIC | Бесплатно | Да | GPL |
CZ.NIC | Бесплатно | Да | GPL | |
PowerDNS | PowerDNS.COM BV / Bert Hubert | Бесплатно | Да | GPL |
MaraDNS | Sam Trenholme | Бесплатно | Да | BSD вариант |
pdnsd | Томас Моэстл и Пол Ромбоутс | Бесплатно | Да | GPL |
Посадис | Мейлоф Вининген | Бесплатно | Да | GPL |
Без привязки | NLnet Labs | Бесплатно | Да | BSD |
YADIFA | EURid | Бесплатно | Да | BSD |
Secure64 DNS Authority | Secure64 | Неопубликованная цена | Нет | Лицензия Clickwrap |
Secure64 DNS Cache | Secure64 | Неопубликованная цена | Нет | Лицензия Clickwrap |