Назад | Перейти на главную страницу

Возможны ли политики DNS Windows 2016 / разделение DNS в зонах, интегрированных в AD со старыми контроллерами домена?

Windows Server 2016 поддерживает политики DNS., которые обеспечивают поддержку раздельного DNS среди других сценариев:

Вы можете настроить политики DNS, чтобы указать, как DNS-сервер отвечает на DNS-запросы. Ответы DNS могут быть основаны на IP-адресе клиента (местоположении), времени суток и некоторых других параметрах. Политики DNS позволяют использовать DNS с учетом местоположения, управление трафиком, балансировку нагрузки, раздельный DNS и другие сценарии.

Я читал Страница обзора политик DNS но я не могу нигде найти документацию о том, как это работает в интегрированной зоне AD, если еще не все контроллеры домена являются Server 2016.

Я не могу представить, что это будет работать так хорошо, поскольку серверы нижнего уровня не знают, как интерпретировать политики и действовать соответственно, но поскольку информация реплицируется в AD, я могу предвидеть ситуацию, когда старые контроллеры домена игнорируют новые атрибуты и отвечают каким-то образом «по умолчанию» (политика не применяется), в то время как новые контроллеры домена будут реагировать в соответствии с политикой.

Я думаю, что это будет нормально в определенных ситуациях, когда вы можете (или уже имеете) иметь клиентов, указывающих на подмножество контроллеров домена, поскольку это может предоставить способ использовать новые функции без одновременного обновления всех контроллеров домена.

Но я не могу найти никакой информации о том, действительно ли то, что я описал, работает, или вы вообще не можете использовать новые функции в смешанной среде, или что-то среднее между ними.


Предупреждение

Недавно я обнаружил, что -WhatIf, -Verbose, и -ErrorAction параметры в командлетах политики DNS нарушены; проголосуйте здесь, чтобы исправить это. И будьте осторожны!

Это вызвало мое любопытство - а также +1 за проницательный вопрос - поэтому я создал небольшую лабораторию, чтобы проверить это:

  • Win2012-DC: Windows Server 2012 R2 повышен до контроллера домена для нового test.local лес / домен.
  • Win2016-DC: Windows Server 2016, продвинутый как второй контроллер домена для вышеперечисленных test.local домен.

На сегодняшний день (29.10.2016) все полностью обновлено и обновлено. Функциональный уровень и для леса, и для домена - 2012 R2. Оба сервера также были настроены как DNS-серверы для этого тестового домена.

Таким образом, результаты выглядят такими, как вы и ожидали позже:

Старые контроллеры домена игнорируют новые атрибуты и реагируют "по умолчанию" (политика не применяется), в то время как новые контроллеры домена отвечают в соответствии с политикой.

Я просмотрел большинство сценариев, описанных в https://technet.microsoft.com/en-us/windows-server-docs/networking/dns/deploy/dns-policies-overview . Для краткости ниже приведены подробности двух конкретных сценариев:

Блокировать запросы для домена

Это выполняется без проблем на DC 2016, но DC 2012, очевидно, даже не распознает команду:

Add-DnsServerQueryResolutionPolicy -Name "BlackholePolicy" -Action IGNORE -FQDN "EQ,*.treyresearch.com"

При выдаче DNS-запроса для www.treyresearch.com по сравнению с DC 2016, ответ не дается, и время ожидания запроса истекло. Когда тот же запрос выдается против DC 2012, он не знает о политике и предоставляет ожидаемый ответ, состоящий из восходящей A-записи.

Балансировка нагрузки приложений с учетом геолокации

Команды PowerShell, указанные в статье для справки:

Add-DnsServerZoneScope -ZoneName "contosogiftservices.com" -Name "DublinZoneScope"
Add-DnsServerZoneScope -ZoneName "contosogiftservices.com" -Name "AmsterdamZoneScope"
Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "151.1.0.1" -ZoneScope "DublinZoneScope”
Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "141.1.0.1" -ZoneScope "AmsterdamZoneScope"
Add-DnsServerQueryResolutionPolicy -Name "AmericaLBPolicy" -Action ALLOW -ClientSubnet "eq,AmericaSubnet" -ZoneScope "SeattleZoneScope,2;ChicagoZoneScope,1; TexasZoneScope,1" -ZoneName "contosogiftservices.com" –ProcessingOrder 1
Add-DnsServerQueryResolutionPolicy -Name "EuropeLBPolicy" -Action ALLOW -ClientSubnet "eq,EuropeSubnet" -ZoneScope "DublinZoneScope,1;AmsterdamZoneScope,1" -ZoneName "contosogiftservices.com" -ProcessingOrder 2
Add-DnsServerQueryResolutionPolicy -Name "WorldWidePolicy" -Action ALLOW -FQDN "eq,*.contoso.com" -ZoneScope "SeattleZoneScope,1;ChicagoZoneScope,1; TexasZoneScope,1;DublinZoneScope,1;AmsterdamZoneScope,1" -ZoneName "contosogiftservices.com" -ProcessingOrder 3

Результаты здесь почти «хуже», чем выше: С www.contosogiftservices.com эффективно зарегистрированный только политикой, DC 2012 ничего не знает об этом и возвращает NXDOMAIN. (Нет www запись отображается в традиционной консоли управления DNS на сервере 2012 или 2016 гг.) Сервер 2016 отвечает в соответствии с настройками вышеуказанных политик.

Резюме

Я не вижу здесь ничего, что препятствовало бы использованию функций 2016 в домене с меньшим функциональным уровнем. Самым простым и наименее запутанным вариантом, вероятно, было бы просто прекратить использование любых оставшихся DC 2012 года в качестве DNS-серверов, если это возможно. При риске дополнительной сложности вы можете настроить серверы 2016, поддерживающие политики, для конкретных нужд, например, для политик рекурсии для поддержки (ограниченного) сценария развертывания с разделением функций.