ad._dns-сервер_не_запускается_2008_r2

AD. DNS-сервер не запускается (2008 R2)

Представим, что мы создали и включили в качестве контроллера домена новый сервер под управлением Windows Server 2008 R2. Active Directory работает нормально и репликация с новым контроллером домена происходит успешно. Однако, DNS-сервер на новом КД отказывается запускаться со следующей ошибкой, которую можно найти в разделе логов приложения в event log:

Имя сбойного приложения: dns.exe, версия: 6.1.7601.24437, отметка времени: 0x5caf51ed
Имя сбойного модуля: dns.exe, версия: 6.1.7601.24437, отметка времени 0x5caf51ed
Код исключения: 0xc0000005
Смещение ошибки: 0x000000000006145f
Идентификатор сбойного процесса: 0xed0
Время запуска сбойного приложения: 0x01db68cfe5d84d53
Путь сбойного приложения: C:\Windows\system32\dns.exe
Путь сбойного модуля: C:\Windows\system32\dns.exe
Код отчета: 24819156-d4c3-11ef-8704-00155d461b01

При этом, в логе может отображаться о том, что DNS ожидает завершения синхронизации AD DS.

DNS-сервер ожидает от доменных служб Active Directory (AD DS) сигнала о том, что первичная синхронизация каталога завершена. Службу DNS-сервера невозможно запустить до завершения первичной синхронизации, так как критические данные DNS могут быть еще не реплицированными на этот контроллер домена. Если журнал событий AD DS показывает, что имеются проблемы с разрешением DNS-имен в адреса, рассмотрите возможность добавления IP-адреса другого DNS-сервера для этого домена в список DNS-серверов в свойствах протокола IP этого компьютера. Такое событие будет записываться в журнал каждые две минуты, пока служба AD DS не сообщит об успешном завершении первичной синхронизации.

Это событие может сбить нас с толку. Оно не имеет отношения к ошибке запуска DNS. Если оно пишется в лог один раз после рестарта - это нормальное событие, т.к. DNS ожидает синхронизации AD.

Причиной проблем с запуском DNS-сервера, работающего под управлением Windows Server 2008 R2 - скорее всего является наличие проблемных записей CNAME в рутовых зонах. Данная проблема хорошо описана в документации Microsoft, которую можно найти по ссылке:

https://support.microsoft.com/en-us/topic/loading-dns-zones-fails-on-a-windows-server-2008-r2-based-dns-server-9ff164aa-5c2d-bf37-99a1-c1e2ad434897

Там же приведен PS-скрипт поиска проблемных записей, который можно запустить, чтобы их обнаружить.

$count = 0
$var = get-wmiobject -query "select * from win32_service where name = 'dns'" 
 if ($var -ne $null)
 {
     if ($var.state.tolower() -eq "running")
     {
         [array] $global:badcnamedomains = $null
         $var = get-wmiobject -namespace "root\microsoftdns" -query "select * from microsoftdns_zone"
         if ($var -ne $null)
         { 
             foreach ($var2 in $var)
             {
                 $query = "select * from microsoftdns_cnametype where containername = '" + $var2.name + "'" 
                 $var3 = get-wmiobject -namespace "root\microsoftdns" -query $query | where {$_.ownername -eq $var2.name}
                 if ($var3 -ne $null)
                 {
                     $count += 1
                     $global:badcnamedomains += $var3.domainname
                 }
             }
         }
         else
         {
             write-host "No zones returned"
         }
     }
     else
     {
         Write-Host "DNS Service is not running"
         break;
     }
 }

if ($count -gt 0)
 {
     write-host "Total number of zones found: $count"
     write-host "The zones are:"
     write-host $global:badcnamedomains 
 }
 elseif ($count -eq 0)
 {
     write-host "No zones found with the issue"
 }
 $count = $null
 $global:badcnamedomains = $null

Если скрипт обнаружит такие записи - их придётся удалить, чтобы решить проблему. Через какое-то время после удаления проблемных записей - DNS-сервер должен запуститься.

ad._dns-сервер_не_запускается_2008_r2.txt · Last modified: 2025/01/20 09:18 by jp