Проблема
В любой сети на базе 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 Server, Configure DNS Zones, DNS Aging and Scavenging.
Пошаговая инструкция
Шаг 1. Установка роли DNS-сервера (если ещё не установлена)
Если DNS-сервер ещё не развёрнут, установите его через Server Manager или PowerShell.
Графический интерфейс:
- Откройте Server Manager → Управление → Добавить роли и компоненты.
- На вкладке Роли сервера отметьте DNS-сервер, добавьте необходимые компоненты и завершите мастер.
PowerShell:
Install-WindowsFeature -Name DNS -IncludeManagementTools
Шаг 2. Создание зоны прямого просмотра (Forward Lookup Zone)
Прямая зона преобразует DNS-имена в IP-адреса и содержит записи узлов (A/AAAA) и служб (SRV).
- Откройте DNS Manager (
dnsmgmt.msc). - Разверните сервер, щёлкните правой кнопкой по Зоны прямого просмотра → Создать новую зону.
- Тип зоны Основная. Если это первый DNS-сервер в домене, оставьте галочку Хранить зону в Active Directory (если сервер является контроллером домена это обеспечит репликацию).
- Выберите область репликации: Для всех DNS-серверов в этом лесу (рекомендуется).
- Имя зоны: ваше доменное имя (например,
company.local). - Динамическое обновление: Разрешить только безопасные динамические обновления (рекомендуется для зон, интегрированных в AD).
- Завершите мастер.
Альтернативно через PowerShell:
powershell
Add-DnsServerPrimaryZone -Name "company.local" -ReplicationScope Forest -DynamicUpdate Secure
Шаг 3. Создание зоны обратного просмотра (Reverse Lookup Zone)
Обратная зона преобразует IP-адреса в DNS-имена (PTR-записи). Это необходимо для некоторых приложений и для корректной работы утилит трассировки и аудита.
- В DNS Manager щёлкните правой кнопкой по Зоны обратного просмотра → Создать новую зону.
- Тип зоны — Основная, с хранением в Active Directory (если применимо).
- Выберите Зона обратного просмотра IPv4 (или IPv6, если нужно).
- Введите идентификатор сети: для подсети
192.168.1.0/24укажите192.168.1. Имя зоны сгенерируется автоматически (1.168.192.in-addr.arpa). - Динамическое обновление — Разрешить только безопасные динамические обновления.
PowerShell:
Add-DnsServerPrimaryZone -NetworkId "192.168.1.0/24" -ReplicationScope Forest -DynamicUpdate Secure
Шаг 4. Настройка динамических обновлений для существующих зон
Если зона уже создана, проверьте, что динамические обновления включены корректно:
- В DNS Manager щёлкните правой кнопкой по зоне → Свойства.
- На вкладке Общие в поле Динамическое обновление выберите Только безопасные.
- Нажмите Применить.
Для зон, не интегрированных в AD, безопасное динамическое обновление недоступно только Разрешить любые динамические обновления (не рекомендовано в продуктивной среде).
Шаг 5. Настройка серверов пересылки (Forwarders)
Серверы пересылки используются для разрешения внешних имён, которые не найдены в локальных зонах. Обычно это публичные DNS (Cloudflare 1.1.1.1, Google 8.8.8.8) или DNS-серверы провайдера.
- В DNS Manager щёлкните правой кнопкой по имени сервера → Свойства → вкладка Пересылка.
- Нажмите Изменить, добавьте IP-адреса серверов пересылки (рекомендуется минимум два).
- Убедитесь, что галочка Использовать корневые подсказки, если нет доступных серверов пересылки не установлена (если вы полностью полагаетесь на пересылку).
PowerShell:
Add-DnsServerForwarder -IPAddress "1.1.1.1","8.8.8.8" -PassThru
Set-DnsServerForwarder -UseRootHint $false
Шаг 6. Настройка старения и очистки устаревших записей (Aging and Scavenging)
Без этого механизма записи, удалённые из AD, остаются в DNS, что приводит к неправильному разрешению имён и мусору в зонах.
- В DNS Manager щёлкните правой кнопкой по имени сервера → Свойства → вкладка Дополнительно.
- Установите флаг Включить автоматическую очистку устаревших записей и выберите период (рекомендуется 7 дней).
- Нажмите ОК.
- Для каждой зоны откройте Свойства → кнопка Очистка. Установите флаг Удалять устаревшие записи ресурсов и задайте интервал очистки (например, 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. Проверка и тестирование
После настройки выполните диагностику:
- Проверьте, что сервер разрешает локальные имена:
nslookup dc01.company.local 127.0.0.1 - Проверьте обратное разрешение:
nslookup 192.168.1.10 127.0.0.1 - Убедитесь, что сервер резолвит внешние имена:
nslookup google.com 127.0.0.1 - Просмотрите логи 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 и фильтрацией запросов в зависимости от требований безопасности.







