Поделиться через


Политика географического расположения DNS-сервера не работает должным образом

Применимо к: Windows Server 2019, все выпуски Windows Server 2019 Datacenter: Выпуск Azure — предварительная версия

Симптомы

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

Конфигурация зоны DNS похожа на следующую структуру.

Подсеть Адресное пространство IPv4 Имя область зоны
NorthAmericaSubnet 192.168.3.0/24 NorthAmericaZoneScope
CentralAmericaSubnet 192.168.6.0/24 CentralAmericaZoneScope
SouthAmericaSubnet 192.168.7.0/24 SouthAmericaZoneScope

Организация использует следующие командлеты Windows PowerShell для регистрации записей адреса узла (A):

Add-DnsServerResourceRecord -ZoneName "contoso.com" -A -Name "www" -IPv4Address "192.168.3.40" -ZoneScope "NorthAmericaZoneScope"
Add-DnsServerResourceRecord -ZoneName "contoso.com" -A -Name "www" -IPv4Address "192.168.6.40" -ZoneScope "CentralAmericaZoneScope"
Add-DnsServerResourceRecord -ZoneName "contoso.com" -A -Name "www" -IPv4Address "192.168.7.40" -ZoneScope "SouthAmericaZoneScope"

Для определения политик организация использует следующие командлеты PowerShell:

Add-DnsServerQueryResolutionPolicy -Name "NorthAmericaPolicy" -Action ALLOW -ClientSubnet "eq,NorthAmericaSubnet" -ZoneScope "NorthAmericaZoneScope,1" -ZoneName "contoso.com"
Add-DnsServerQueryResolutionPolicy -Name "CentralAmericaPolicy" -Action ALLOW -ClientSubnet "eq,CentralAmericaSubnet" -ZoneScope "CentralAmericaZoneScope,1" -ZoneName "contoso.com"
Add-DnsServerQueryResolutionPolicy -Name "SouthAmericaPolicy" -Action ALLOW -ClientSubnet "eq,SouthAmericaSubnet" -ZoneScope "SouthAmericaZoneScope,1" -ZoneName "contoso.com"

Желаемый результат заключается в том, что клиент пытается найти запрошенный ресурс сначала в локальной зоне область, а затем в зоне по умолчанию область. Однако после настройки этих политик клиенты из определенных подсетей не смогут успешно разрешать записи, размещенные в область зоны по умолчанию (contoso.com). Например, клиенты не могут разрешить hostA.contoso.com. При получении таких запросов DNS-сервер возвращает сообщение "Сбой сервера".

Причина

В этой ситуации входящие полномочные запросы оцениваются по соответствующему набору политик уровня зоны на основе их очередности. Кажется интуитивно понятным, что любой запрос, не соответствующий политике, будет автоматически обслуживаться из зоны по умолчанию область. Однако это не так. Вместо этого любой несоединяющийся запрос вызывает сбой разрешения имен. То есть, если DNS-сервер получает запрос на разрешение имен для hostA.contoso.com от клиента, указанного в политике подсети клиента, DNS-сервер проверяет только соответствующую зону область.

Разрешение

Чтобы настроить политики так, чтобы DNS-сервер проверял зону по умолчанию область в дополнение к область локальной зоны, используйте более точную инструкцию DnsServerQueryResolutionPolicy, например следующую:

Add-DnsServerQueryResolutionPolicy -Name "NorthAmericaPolicy" -Action ALLOW -ClientSubnet "eq,NorthAmericaSubnet" -ZoneScope "NorthAmericaZoneScope,1" -ZoneName "contoso.com" -FQDN "www.contoso.com"

Примечание.

Необходимо создать инструкцию для каждой DnsServerQueryResolutionPolicy записи, которую область содержать соответствующая зона.