Программное обеспечение для управления DNS - это компьютерное программное обеспечение, которое управляет Кластеры серверов системы доменных имен (DNS). Данные DNS обычно размещаются на нескольких физических серверах. Основные цели программного обеспечения для управления DNS:
В 1995 году существовало только 70 000 доменов. Их можно было зарегистрировать по электронной почте, а способ опубликовать - BIND. К середине 1997 года количество доменов составляло 1,3 миллиона. Поскольку количество доменов и интернет-хостов резко возросло на, увеличилось количество данных DNS и время, необходимое для управления ими. В ответ системные администраторы написали сценарии Perl или Shell, которые помогли автоматизировать изменения DNS. Эти скрипты были в основном внутренними инструментами. Наиболее близким к широко доступному программному обеспечению для управления DNS был модуль BIND в webmin, который предоставлял веб-инструменты для редактирования файлов зоны BIND.
В конце 1990-х годов огромное количество данных DNS подавляло все доступные инструменты для управления ими. Стоимость управления данными послужила толчком к рождению программного обеспечения для управления DNS. Затраты лучше всего можно объяснить с помощью иллюстрации. В 1998 году у трех крупнейших хостинговых компаний (HostPro, Interland и Vservers) было около 100 000 зон DNS. Изменения DNS производились с помощью telnet-подключения к мастеру BIND и редактирования файлов зоны с помощью текстового редактора. Персонал из нескольких администраторов DNS выполнял эту задачу весь день, каждый день. Их изменения вступят в силу только после перезагрузки BIND. Поскольку диски работали медленно, BIND потребовалось несколько часов для полной перезагрузки. Если администратор DNS допустил опечатку в файле зоны, BIND не сможет проанализировать этот файл и умрет. Часто после нескольких часов обработки. Тот, кто заметил, что BIND не запущен, должен будет прочитать журналы, найти файл зоны с ошибкой, вручную просмотреть файл, исправить ошибку и затем попробовать запустить резервное копирование BIND. После этого изменения могут распространяться на ведомые устройства DNS через зональные передачи. На полное распространение изменений часто уходило более 24 часов.
Решая проблемы редактирования файлов зоны, несколько системных администраторов заметили, что SQL - прекрасное место для хранения данных DNS. Путем перемещения Единого источника истины из текстовых файлов в SQL данные DNS могут быть проверены и ограничены перед принятием в базу данных. Сценарии экспорта могут преобразовывать SQL в файлы зоны. Rsync может заменить named-xfer для распространения, повышая безопасность и сокращая время распространения. Среди крупных хостинг-провайдеров стало модным хранить данные DNS в SQL и создавать собственный интерфейс для управления ими. mysqlBind - один из таких менеджеров DNS. Он предоставляет веб-интерфейс для ввода данных и экспортирует данные в файлы зоны BIND.
В 2000 году Дэниел Дж. Бернштейн выпустил Djbdns. Одна из новаторских функций заключалась в том, что tinydns, включенный полномочный сервер DNS, обслуживал DNS непосредственно из базы данных CDB. CDB должен был быть скомпилирован из простого текстового файла, формат которого был разработан для редактирования скриптами. Tinydns быстро стал вторым по популярности DNS-сервером, и для него был выпущен ряд DNS-менеджеров, в том числе: VegaDNS, SuaveDNS и NicTool.
В 2005 году был выпущен PowerDNS. Одной из его функций была возможность обслуживать данные DNS непосредственно из базы данных SQL, полностью минуя этап экспорта. PowerDNS также породил ряд диспетчеров DNS, которые предоставляют веб-интерфейсы к его хранилищу данных SQL.
Используя протокол обновления RFC2136 DDNS, можно изменять зоны DNS без доступа к файлам зон. Известно, что инструменты управления работают таким образом: Admin4 и NicTool через механизм экспорта nsupdate.
Поставщики услуг DNS часто развертывают в своих сетях разные типы серверов DNS. Кроме того, клиентам DNS могут быть предоставлены разные ответы в зависимости от их географического положения, определяемого их IP-адресом (GeoIP ). Наиболее практичным способом управления такой критически важной интернет-инфраструктурой было использование баз данных и сложного программного обеспечения для управления DNS, чтобы гарантировать однородность и избежать единичных ошибок развертывания.
.
Feature | NicTool | VegaDNS | mysqlBind | Webmin | Admin4 | Microsoft DNS | SuaveDNS | Xname | dnsadmin | fmDNS |
---|---|---|---|---|---|---|---|---|---|---|
Language | Perl JS | PHP | C | Perl | Python | C | PHP и Perl | PHP и Perl | C | PHP и JS |
База данных | MySQL | MySQL | MySQL | плоские файлы | - | плоские файлы или. Active Directory | MySQL | MySQL | MySQL | MySQL |
Делегированные разрешения | Да | 3 группы | Да | No | No | No | No | No | No | Да |
Открытый исходный код | Да | Да | Да | Да | Да | No | No | No | No | Да |
Последняя версия | 2017 | 2016 | 2016 | 2017 | 2016 | 2012 | 2003 | 2005 | 2003 | 2016 |
Имя | NicTool | Infoblox | VegaDNS | mysqlBind | Webmin | Admin4 | Microsoft. DNS Manager | fmDNS |
---|---|---|---|---|---|---|---|---|
BIND | Да | No | No | Да | Да | Да | No | Да |
tinydns | Да | No | Да | No | No | No | No | Нет |
PowerDNS | Да | No | No | No | No | ? | No | Нет |
MaraDNS | Да | No | No | No | No | ? | No | Нет |
NSD | Да | No | No | No | No | ? | No | Нет |
Microsoft. DNS-сервер | No | Да | No | No | No | No | Да | Нет |
Инфоблок | No | Да | No | No | No | No | No | Нет |
Формат файла зоны BIND - широко используемый отраслевой стандарт, описанный в RFC 1035. Некоторые другие DNS-серверы, включая PowerDNS, NSD, Knot DNS и Microsoft DNS Server, имеют возможность читать файлы зоны BIND и работать с них.
Name | NicTool | VegaDNS | mysqlBind | Webmin | Admin4 | Microsoft DNS Manager | ProBIND | fmDNS |
---|---|---|---|---|---|---|---|---|
A,NS,SOA,PTR | Да | Да | Да | Да | Да | Да | Да | Да |
MX, TXT, CNAME | Да | Да | Да | Да | Да | Да | Да | Да |
КЛЮЧ | No | No | No | Да | Да | Да | No | Да |
AAAA | Да | Да | Да | Да | Да | Да | No | Да |
LOC | Да | No | No | Да | Да | No | No | Нет |
SRV | Да | Да | Да | Да | Да | Да | Да | Да |
NAPTR | Да | No | Да | No | Да | Да | No | Да |
SSHFP | Да | No | No | No | Да | No | No | Да |
RRSIG | Да | No | No | No | Да | Да | No | Нет |
NSEC | Да | No | No | No | Да | Да | No | Нет |
DNSKEY | Да | No | No | No | Да | Да | No | Да |
DS | Да | No | No | No | Да | Да | No | Да |
NSEC3 | Да | No | No | No | Да | Да | No | Нет |
NSEC3PARAM | Да | No | No | No | Да | Да | No | Нет |
IPSECKEY | Да | No | No | ? | Да | ? | ? | Нет |
DNAME | Да | No | No | ? | Да | Да | ? | Да |
SPF | Да | No | No | Да | Да | No | No | Да |
Основные причины, по которым поставщики DNS (особенно корневые операторы) используют разные DNS-серверы, - это код разнообразие и производительность приложений. Разнообразие кода снижает вероятность того, что ошибка производительности или безопасности на одном DNS-сервере может быть использована для организации атаки типа «отказ в обслуживании». Именно по этой причине NSD и Knot DNS часто используются операторами root и TLD. Программное обеспечение для управления DNS может значительно упростить публикацию данных DNS на различных DNS-серверах.