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-записи.
Add-DnsServerQueryResolutionPolicy
команда изменена, чтобы игнорировать их.)Команды 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, поддерживающие политики, для конкретных нужд, например, для политик рекурсии для поддержки (ограниченного) сценария развертывания с разделением функций.