Настройка DNS-сервера на Windows Server: прямое и обратное разрешение

Проблема

В любой сети на базе Windows Server доменные службы Active Directory критически зависят от DNS. Без правильно настроенного DNS-сервера контроллеры домена не смогут зарегистрировать свои SRV-записи, клиенты не найдут серверы аутентификации, а репликация между сайтами остановится. Часто администраторы устанавливают роль DNS-сервера «заодно» с повышением до контроллера домена, оставляя все параметры по умолчанию. В результате прямое разрешение (имя → IP) работает, а обратное (IP → имя) нет; внешние имена не резолвятся; рекурсивные запросы разрешены всем желающим; а очистка устаревших записей не настроена, что приводит к появлению «фантомных» хостов в зонах. Windows server dns настройка для полноценной работы это не просто галочка «Установить роль», а несколько обязательных шагов по созданию зон прямого и обратного просмотра, настройке пересылки, защите от отравления кеша и включению механизма старения и очистки записей.

Решение

Выполним полную настройку DNS-сервера на Windows Server 2019/2022 с учётом рекомендаций Microsoft. Будут охвачены: создание первичной зоны прямого просмотра, настройка обратной зоны, включение динамических обновлений с защитой, настройка серверов пересылки и корневых подсказок, а также проверка работоспособности. Используем как графические оснастки (DNS Manager), так и PowerShell для автоматизации. Официальные источники: Overview of DNS in Windows ServerConfigure DNS ZonesDNS Aging and Scavenging.

Пошаговая инструкция

Шаг 1. Установка роли DNS-сервера (если ещё не установлена)

Если DNS-сервер ещё не развёрнут, установите его через Server Manager или PowerShell.

Графический интерфейс:

  1. Откройте Server Manager → Управление → Добавить роли и компоненты.
  2. На вкладке Роли сервера отметьте DNS-сервер, добавьте необходимые компоненты и завершите мастер.

PowerShell:

Install-WindowsFeature -Name DNS -IncludeManagementTools

Шаг 2. Создание зоны прямого просмотра (Forward Lookup Zone)

Прямая зона преобразует DNS-имена в IP-адреса и содержит записи узлов (A/AAAA) и служб (SRV).

  1. Откройте DNS Manager (dnsmgmt.msc).
  2. Разверните сервер, щёлкните правой кнопкой по Зоны прямого просмотра → Создать новую зону.
  3. Тип зоны  Основная. Если это первый DNS-сервер в домене, оставьте галочку Хранить зону в Active Directory (если сервер является контроллером домена это обеспечит репликацию).
  4. Выберите область репликации: Для всех DNS-серверов в этом лесу (рекомендуется).
  5. Имя зоны: ваше доменное имя (например, company.local).
  6. Динамическое обновление: Разрешить только безопасные динамические обновления (рекомендуется для зон, интегрированных в AD).
  7. Завершите мастер.

Альтернативно через PowerShell:

powershell

Add-DnsServerPrimaryZone -Name "company.local" -ReplicationScope Forest -DynamicUpdate Secure

Шаг 3. Создание зоны обратного просмотра (Reverse Lookup Zone)

Обратная зона преобразует IP-адреса в DNS-имена (PTR-записи). Это необходимо для некоторых приложений и для корректной работы утилит трассировки и аудита.

  1. В DNS Manager щёлкните правой кнопкой по Зоны обратного просмотра → Создать новую зону.
  2. Тип зоны — Основная, с хранением в Active Directory (если применимо).
  3. Выберите Зона обратного просмотра IPv4 (или IPv6, если нужно).
  4. Введите идентификатор сети: для подсети 192.168.1.0/24 укажите 192.168.1. Имя зоны сгенерируется автоматически (1.168.192.in-addr.arpa).
  5. Динамическое обновление — Разрешить только безопасные динамические обновления.

PowerShell:

Add-DnsServerPrimaryZone -NetworkId "192.168.1.0/24" -ReplicationScope Forest -DynamicUpdate Secure

Шаг 4. Настройка динамических обновлений для существующих зон

Если зона уже создана, проверьте, что динамические обновления включены корректно:

  1. В DNS Manager щёлкните правой кнопкой по зоне → Свойства.
  2. На вкладке Общие в поле Динамическое обновление выберите Только безопасные.
  3. Нажмите Применить.

Для зон, не интегрированных в AD, безопасное динамическое обновление недоступно только Разрешить любые динамические обновления (не рекомендовано в продуктивной среде).

Шаг 5. Настройка серверов пересылки (Forwarders)

Серверы пересылки используются для разрешения внешних имён, которые не найдены в локальных зонах. Обычно это публичные DNS (Cloudflare 1.1.1.1, Google 8.8.8.8) или DNS-серверы провайдера.

  1. В DNS Manager щёлкните правой кнопкой по имени сервера → Свойства → вкладка Пересылка.
  2. Нажмите Изменить, добавьте IP-адреса серверов пересылки (рекомендуется минимум два).
  3. Убедитесь, что галочка Использовать корневые подсказки, если нет доступных серверов пересылки не установлена (если вы полностью полагаетесь на пересылку).

PowerShell:

Add-DnsServerForwarder -IPAddress "1.1.1.1","8.8.8.8" -PassThru
Set-DnsServerForwarder -UseRootHint $false

Шаг 6. Настройка старения и очистки устаревших записей (Aging and Scavenging)

Без этого механизма записи, удалённые из AD, остаются в DNS, что приводит к неправильному разрешению имён и мусору в зонах.

  1. В DNS Manager щёлкните правой кнопкой по имени сервера → Свойства → вкладка Дополнительно.
  2. Установите флаг Включить автоматическую очистку устаревших записей и выберите период (рекомендуется 7 дней).
  3. Нажмите ОК.
  4. Для каждой зоны откройте Свойства → кнопка Очистка. Установите флаг Удалять устаревшие записи ресурсов и задайте интервал очистки (например, 7 дней) и интервал бездействия (также 7 дней).

PowerShell (включение очистки для зоны):

Set-DnsServerScavenging -ScavengingState $true -ScavengingInterval 7.00:00:00
Set-DnsServerZoneAging -Name "company.local" -Aging $true -RefreshInterval 7.00:00:00 -NoRefreshInterval 7.00:00:00

Шаг 7. Проверка и тестирование

После настройки выполните диагностику:

  1. Проверьте, что сервер разрешает локальные имена: nslookup dc01.company.local 127.0.0.1
  2. Проверьте обратное разрешение: nslookup 192.168.1.10 127.0.0.1
  3. Убедитесь, что сервер резолвит внешние имена: nslookup google.com 127.0.0.1
  4. Просмотрите логи DNS: Просмотр событий → Журналы приложений и служб → DNS Server. Обратите внимание на события Event ID 4 (зона загружена), 2 (сервер запущен) и 4010-4015 (ошибки пересылки).

Устранение распространённых проблем

СимптомВероятная причинаРешение
Прямые запросы работают, обратные нетНе создана обратная зона или для неё не включены динамические обновленияСоздайте зону обратного просмотра (шаг 3) и убедитесь, что динамические обновления включены.
Внешние имена не разрешаютсяНе настроены серверы пересылки или заблокирован исходящий порт 53Проверьте настройки пересылки (шаг 5). Убедитесь, что брандмауэр разрешает исходящий UDP/TCP порт 53.
Записи серверов AD не регистрируются автоматическиСлужба Netlogon не запущена или не настроенаПерезапустите Netlogon: net stop netlogon && net start netlogon. Проверьте, что сервер указывает на себя как на DNS-сервер в настройках TCP/IP.
Очистка устаревших записей не работаетНе включена ни на сервере, ни в зонеВключите очистку на уровне сервера и на уровне зоны (шаг 6). Убедитесь, что задача очистки выполняется (событие 2501 в журнале DNS).
Зона, интегрированная в AD, не реплицируется на другие контроллерыНеверный scope репликацииИзмените scope через PowerShell: Set-DnsServerZoneAging -Name "company.local" -ReplicationScope Forest.

Итог

Windows server dns настройка не заканчивается на установке роли полноценный DNS-сервер включает в себя две зоны (прямую и обратную), безопасные динамические обновления, серверы пересылки для внешних запросов и механизм старения записей. Выполнив все шаги, вы получите DNS-инфраструктуру, которая не только обслуживает Active Directory, но и обеспечивает быстрое разрешение внешних имён без перегрузки корневых серверов, а также автоматически избавляется от устаревших записей. Это базовая конфигурация, которую можно расширять политиками разрешения имён, DNSSEC и фильтрацией запросов в зависимости от требований безопасности.

Menu