Вопрос. У меня есть домен Windows AD, и одна его часть остается для меня загадкой: как домен Windows / DNS-сервер выполняет поиск доменов за пределами домена Windows?
В простой домашней сети маршрутизацию DNS-запросов легко понять:
Generic Example: Client machine -> (defined DNS or from DHCP) ->
->Router / Gateway -> (usually ISP DNS) -> DNS root servers -> Internet
Specific Example: 192.168.1.101 -> 192.168.1.1 -> 8.8.8.8 -> DNS root servers -> Internet
В отличие от этого, путь, который я сейчас вижу для своей сети AD, таков:
Client Machine -> Windows Domain / DNS -> ??????? -> DNS root servers -> Internet
Если я проверю сетевые настройки на своем доменном сервере, DNS будет настроен на альтернативный DNS-сервер (вторичный сервер домена), сам себя и петлю, и ничего больше.
Мой Интернет работает, поэтому каким-то образом сервер домена Windows достаточно умен, чтобы получать информацию DNS от вышестоящего сервера, но где и как это определяется?
Несколько способов, которыми ваши контроллеры домена могут запросить внешний сервер имен:
Я собираюсь угадать №1 или №2. Ваш вопрос включает только проверку сетевых настроек - вы проверяли диспетчер DNS на контроллерах домена?
Если все вышеперечисленное не заполнено, что-то происходит непреднамеренно, и вам, возможно, следует отслеживать исходящие DNS-запросы с помощью wirehark.
DNS состоит из двух совершенно разных частей. Одна часть отвечает за публикацию данных, а другая часть отвечает за прием DNS-запросов от клиентов и попытку ответить на эти запросы путем сбора данных. DNS-серверы, выполняющие роль публикации данных, часто называют «авторитетными» серверами, даже если это технически неправильное имя. Лично я предпочитаю название «DNS-сервер контента», но этот термин не очень широко используется. Серверы, которые принимают и отвечают на запросы от клиентов, часто называют «разрешающими» серверами.
На самом деле это очень похоже на то, как работают HTTP-серверы и HTTP-прокси: HTTP-серверы публикуют данные, а HTTP-прокси принимают запросы от клиентов (браузеров) и связываются с серверами для сбора данных, которые запрашивал клиент. Разница между веб-браузерами и DNS-клиентами заключается в том, что DNS-клиент не может самостоятельно связываться с DNS-серверами контента. Клиент DNS должен используйте сервер разрешения DNS, тогда как веб-браузер вполне может работать без HTTP-прокси.
Поскольку информация DNS хранится в иерархическом и распределенном виде, для ответа на один запрос вам потребуется информация с нескольких серверов контента DNS, которые, вероятно, расположены по всему миру. Когда DNS-клиент хочет узнать адрес «www.serverfault.com», он может просто отправить этот запрос на сервер разрешения DNS. Затем этот сервер разрешения DNS должен выполнять фактическую работу по установлению связи с DNS-серверами по всему миру.
Сначала разрешающий DNS-сервер отправляет весь запрос корневому серверу (который является DNS-сервером содержимого). У этого корневого сервера нет полного ответа, но он делает знать, какие серверы содержимого DNS имеют дополнительную информацию об именах в домене ".com". Таким образом, преобразователь DNS теперь отправляет весь запрос одному из DNS-серверов содержимого ".com". У этого сервера также нет полного ответа, но он знает, какие серверы содержимого DNS имеют больше информации об именах в servervault.com
домен. Разрешающий DNS-сервер будет продолжать запрашивать контент DNS-серверы по всему миру, пока не получит полный ответ для клиента. Конечно, разрешающий DNS-сервер будет кэшировать информацию на этом пути: он не будет связываться с корневыми DNS-серверами контента для каждого запроса в домене «.com», если он знает из своего кеша, где находятся DNS-серверы контента «.com».
«Сервер пересылки» - это просто разрешающий DNS-сервер, который отправляет клиентские запросы на другой (предварительно сконфигурированный) разрешающий DNS-сервер, вместо того, чтобы пытаться ответить на них сам, связываясь с DNS-серверами содержимого по всему миру. Домашние маршрутизаторы часто содержат разрешающий DNS-сервер, который настроен на использование разрешающего DNS-сервера провайдера в качестве пересылки.
Это может сбивать с толку, когда две разные роли (обслуживающая и разрешающая контент) объединяются на одном DNS-сервере. Примерно то же самое и с Active Directory. В Active Directory DNS используется для публикации информации о том, где можно найти определенные службы. Например, когда клиент в домене ad.example.com
хочет связаться с сервером смены пароля Kerberos для своего домена, он выдает DNS-запрос для записи SRV с именем _kpasswd._tcp.ad.example.com
. Этот DNS-запрос отправляется, как и любой другой DNS-запрос, на разрешающий DNS-сервер, настроенный в клиенте. Затем разрешающий DNS-сервер начинает работать, пытаясь ответить на запрос.
Здесь это может немного запутать. Сервер разрешения DNS может знать, что он является частью определенного домена Active Directory, что означает, что он может распознавать входящие запросы для имен в этом домене. Если распознаватель получит такой запрос, он не будет связываться с внешними DNS-серверами, но может ответить напрямую с информацией из базы данных Active Directory. Если входящий запрос не для имени в домене, преобразователь либо пытается ответить на вопрос сам, связавшись с DNS-серверами контента, либо (в случае, если он настроен на использование пересылки) просто отправляет запрос на другой DNS-сервер разрешения. . Скорее всего, именно это и происходит в вашем сценарии.
Что может еще больше запутать, так это динамические обновления. В любом нетривиальном домене сервисы не статичны. Контроллеры домена могут быть добавлены или удалены и т. Д. То же самое относится к рабочим станциям. Это означает, что информацию в DNS необходимо обновить, чтобы отразить это. Динамические обновления - это протокол, который позволяет клиенту изменять информацию, публикуемую в DNS. Клиент отправляет запрос своему разрешающему DNS-серверу, чтобы узнать, на какой контентный DNS-сервер он может отправить новую информацию. В случае интегрированной инфраструктуры DNS в Active Directory разрешающий DNS-сервер вполне может иметь доступ к самой базе данных: в этом случае разрешающий DNS-сервер сообщает клиенту, что он может обновить информацию самостоятельно.