Microsoft DNS — это название реализации служб системы доменных имен , предоставляемых в операционных системах Microsoft Windows .
Поддержка системы доменных имен в Microsoft Windows NT и, следовательно, ее производных Windows 2000 , Windows XP и Windows Server 2003 , включает в себя двух клиентов и сервер. Каждая машина Microsoft Windows имеет клиент поиска DNS для выполнения обычных поисков DNS. Некоторые машины имеют клиент Dynamic DNS для выполнения транзакций Dynamic DNS Update, регистрируя имена машин и IP-адреса . Некоторые машины запускают сервер DNS для публикации данных DNS, для обслуживания запросов поиска DNS от клиентов поиска DNS и для обслуживания запросов обновления DNS от клиентов обновления DNS.
Серверное программное обеспечение поставляется только с серверными версиями Windows.
Приложения выполняют поиск DNS с помощью DLL . Они вызывают библиотечные функции в DLL, которые, в свою очередь, обрабатывают все коммуникации с DNS-серверами (по UDP или TCP ) и возвращают окончательные результаты поиска обратно приложениям.
DNS-клиент Microsoft также имеет дополнительную поддержку локального кэширования в виде службы DNS-клиента (также известной как DNSCACHE ). Перед тем, как попытаться напрямую взаимодействовать с DNS-серверами, библиотечные процедуры сначала пытаются установить локальное IPC- подключение к службе DNS-клиента на машине. Если таковое имеется и такое подключение может быть установлено, они передают фактическую работу по поиску службе DNS-клиента. Служба DNS-клиента сама взаимодействует с DNS-серверами и кэширует полученные результаты.
DNS-клиент Microsoft способен общаться с несколькими DNS-серверами. Точный алгоритм зависит от версии и уровня пакета обновления операционной системы; но в целом все общение происходит с предпочтительным DNS-сервером до тех пор, пока он не перестанет отвечать, после чего общение переключается на один из нескольких альтернативных DNS-серверов.
Существует несколько незначительных различий в поведении системы в зависимости от того, запущена ли служба DNS-клиента:
Дистрибутивы Linux и различные версии Unix имеют обобщенный слой преобразователя имен. Преобразователь может управляться для использования файла hosts или сетевой информационной службы (NIS) путем настройки переключателя службы имен .
В то время как DNS-поиск считывает данные DNS, обновления DNS записывают их. Как рабочие станции, так и серверы под управлением Windows пытаются отправлять запросы на динамическое обновление DNS на DNS-серверы.
Рабочие станции под управлением Windows пытаются регистрировать свои имена и IP-адреса на DNS-серверах, чтобы другие машины могли находить их по имени. До Windows Vista (и Windows Server 2008) эта регистрация выполнялась службой DHCP-клиента . Таким образом, необходимо запустить службу DHCP-клиента на машинах до Vista, даже если DHCP не используется для настройки машины, чтобы динамически регистрировать имя и адрес машины для поиска DNS. Служба DHCP-клиента регистрирует данные имени и адреса всякий раз, когда они изменяются (либо вручную администратором, либо автоматически путем предоставления или отзыва аренды DHCP). В Windows Vista (и Windows Server 2008) Microsoft перенесла функциональность регистрации из службы DHCP-клиента в службу DNS-клиента .
Серверы под управлением Microsoft Windows также пытаются регистрировать другую информацию, помимо своих имен и IP-адресов, например, местоположение служб LDAP и Kerberos , которые они предоставляют.
Операционные системы Microsoft Windows Server могут запускать службу DNS Server . Это монолитный DNS-сервер, который предоставляет множество типов DNS-сервисов, включая кэширование, динамическое обновление DNS, передачу зон и уведомление DNS. Уведомление DNS реализует механизм push-уведомлений для оповещения выбранного набора вторичных серверов для зоны при ее обновлении.
Служба Microsoft "DNS Server" впервые была представлена в Windows NT 3.51 как дополнение к коллекции служб BackOffice от Microsoft , но в то время была отмечена как предназначенная только для целей тестирования. Она стала печально известной из-за несовместимости с файлами конфигурации BIND , в частности из-за отсутствия поддержки подстановочных знаков DNS и различий в реализации IPv6 . С момента ее появления Microsoft позаботилась об улучшении взаимодействия с BIND и другими реализациями с точки зрения формата файла зоны, передачи зоны и других деталей протокола DNS.
По состоянию на 2004 год это был четвертый по популярности DNS-сервер (считая BIND версии 9 отдельно от версий 8 и 4) для публикации DNS-данных. [2]
Как и другие DNS-серверы, DNS-сервер Microsoft поддерживает различные бэкэнды баз данных . DNS-сервер Microsoft поддерживает два таких бэкэнда. Данные DNS могут храниться либо в главных файлах (также известных как файлы зон ), либо в самой базе данных Active Directory . В последнем случае, поскольку Active Directory (а не DNS-сервер) обрабатывает фактическую репликацию базы данных на нескольких компьютерах, базу данных можно изменять на любом сервере («репликация с несколькими главными серверами»), а добавление или удаление зоны будет немедленно распространяться на все остальные DNS-серверы в соответствующей «области репликации» Active Directory. (Сравните это с BIND, где при внесении таких изменений список зон в файле /etc/named.conf должен быть явно обновлен на каждом отдельном сервере.)
DNS-сервер Microsoft можно администрировать с помощью графического пользовательского интерфейса , «Консоли управления DNS», или интерфейса командной строки , утилиты dnscmd . Новинкой в Windows Server 2012 является полнофункциональный поставщик PowerShell для управления DNS-сервером. [3]
До Windows Server 2003 и Microsoft Windows 2000 Service Pack 3 наиболее распространенной проблемой, с которой сталкивались DNS-серверы Microsoft, было загрязнение кэша . Хотя DNS-сервер Microsoft имел механизм для надлежащей обработки загрязнения кэша, по умолчанию этот механизм был отключен. [4]
В 2004 году распространенной проблемой была особенность версии Windows Server 2003 DNS-сервера Microsoft использовать EDNS0 , с которой не могли справиться многие брандмауэры . [5]