Проверка DNS scope для подсетей: полный гайд по Windows Server, DHCP и BIND

Полный гайд по проверке DNS scope для подсетей: настройка Zone Scopes и политик в Windows Server, опции DHCP, суффиксы поиска на клиентах и Views в BIND.

2026.06.11                  


Проверка DNS scope для подсетей: полный гайд по Windows Server, DHCP и BINDПроверка DNS scope для подсетей: полный гайд по Windows Server, DHCP и BIND Термин «DNS scope» (область DNS) может трактоваться по-разному в зависимости от того, что именно вы ищете: настройки DNS внутри DHCP-области (Scope), функции DNS Zone Scopes (для разделения зон, например, Split-Brain DNS) или DNS-суффиксы на клиентской машине.

Ниже представлен подробный гайд для всех основных сценариев: от серверов Windows Server и BIND до клиентских машин.


Вариант 1. Windows Server: DNS Zone Scopes и DNS Policies

Начиная с Windows Server 2016, в DNS появилась функция Zone Scopes (области зон), которая позволяет хранить разные записи для одной и той же зоны в зависимости от подсети клиента (часто используется для безопасности и маршрутизации).


Через PowerShell (рекомендуется)

Чтобы посмотреть, какие области (scopes) созданы для конкретной зоны и какие подсети к ним привязаны через политики:

1. Посмотреть все Scope для зоны:
   Get-DnsServerZoneScope -ZoneName "example.com"

2. Посмотреть записи внутри конкретного Scope:
   Get-DnsServerResourceRecord -ZoneName "example.com" -ZoneScope "InternalSubnet_Scope"

3. Посмотреть политики (Policies), которые привязывают IP-подсети к этим Scope:
   Get-DnsServerQueryResolutionPolicy | Where-Object {$_.ZoneName -eq "example.com"} | Format-List Name, Action, Fqdn, ZoneScope, Condition

Через графический интерфейс (GUI)

  1. Откройте DNS Manager (dnsmgmt.msc).
  2. Разверните Forward Lookup Zones и найдите нужную зону (например, example.com).
  3. Кликните по зоне правой кнопкой мыши -> Properties.
  4. Перейдите на вкладку Scopes. Здесь вы увидите список областей.
  5. Чтобы посмотреть привязку к подсетям, закройте свойства зоны, кликните правой кнопкой мыши по самой зоне -> Properties -> вкладка Policies (или узел Policies в корне сервера, если политика глобальная). В условиях (Conditions) политики будет указан Client Subnet.

Вариант 2. Windows Server: DHCP Scope Options (Параметры DNS для пула IP)

Если под «scope» вы подразумеваете классическую область DHCP (DHCP Scope), то настройки DNS для конкретной подсети хранятся в параметрах этой области (Scope Options).


Через PowerShell

1. Посмотреть все DHCP-области:
   Get-DhcpServerv4Scope

2. Вывести DNS-серверы (Option 006) и DNS-домен (Option 015) для конкретной подсети (например, 192.168.10.0):
   Get-DhcpServerv4OptionValue -ScopeId 192.168.10.0 | Where-Object {$_.OptionId -in 6, 15}

Через GUI

  1. Откройте DHCP (dhcpmgmt.msc).
  2. Разверните IPv4 -> выберите нужную область (Scope).
  3. Кликните правой кнопкой мыши по Scope Options -> Configure Options.
4. Во вкладке General прокрутите вниз до:
  • 006 DNS Servers — какие DNS-серверы выдаются клиентам этой подсети.
  • 015 DNS Domain Name — какой DNS-суффикс выдается.

Вариант 3. Клиентская сторона (Как посмотреть свой DNS Scope/Суффикс)

Если вам нужно посмотреть, какие DNS-серверы и суффиксы поиска (DNS Suffix Search List) назначены вашему компьютеру для текущей подсети.

В Windows

1. Базовый просмотр (через cmd/PowerShell):
   ipconfig /all

Ищите строки Connection-specific DNS Suffix (локальный суффикс) и DNS Servers.


2. Просмотр глобального списка суффиксов поиска (Search Scope):
   Get-DnsClientGlobalSetting | Format-List SuffixSearchList

3. Просмотр DNS-серверов для конкретного адаптера:
   Get-DnsClientServerAddress -InterfaceAlias "Ethernet" -AddressFamily IPv4

В Linux

1. Системы на базе systemd (Ubuntu, CentOS 7+):
   resolvectl status
   # или
   systemd-resolve --status

Смотрите секции DNS Servers и DNS Domain для конкретного сетевого интерфейса.


2. Через NetworkManager:
   nmcli dev show | grep DNS

3. Классический файл (если не используется systemd-resolved):
   cat /etc/resolv.conf

Вариант 4. BIND (Linux DNS-сервер): Views и ACL

Если вы администрируете BIND, то аналогом «scope для подсетей» являются Views (представления) и ACL (списки контроля доступа).

1. Проверка синтаксиса и вывод конфигурации в читаемом виде:
   named-checkconf -p /etc/named.conf

В выводе ищите блоки acl "internal_networks" { ... }; и view "internal" { ... };.


2. Просмотр конкретных зон внутри View:
   rndc showzone example.com

Если зона загружена в нескольких View (например, internal и external), rndc покажет, из какого именно View она отвечает для IP-адреса, с которого вы сделали запрос.


Важно: что выбрать?

  • Если вы настраиваете Split-Brain DNS (чтобы из внешней подсети в site.com резолвился один IP, а из внутренней — другой) — используйте Вариант 1 (Zone Scopes + Policies).
  • Если вам нужно узнать, какие DNS-серверы получают клиенты из определенного пула IP — используйте Вариант 2 (DHCP Options).
  • Если вы пытаетесь понять, почему клиент не может найти хост по короткому имени — проверяйте Вариант 3 (DNS Suffix Search List).

Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.


Статью подготовил: Денис Аверко @Nymexis г. Омск

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта