| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| ad._dns-сервер_не_запускается_2008_r2 [2025/01/20 09:11] – jp | ad._dns-сервер_не_запускается_2008_r2 [2025/01/20 09:18] (current) – jp |
|---|
| ===== AD. DNS-сервер не запускается (2008 R2) ===== | ===== AD. DNS-сервер не запускается (2008 R2) ===== |
| |
| Представим, что мы создали и включили в качестве контроллера домена новый сервер под управлением Windows Server 2008 R2. Active Directory работает нормально и репликация с новым контроллером домена происходит успешно. Однако, DNS-сервер на новом КД отказывается запускаться со следующей ошибкой: | Представим, что мы создали и включили в качестве контроллера домена новый сервер под управлением //Windows Server 2008 R2//. //Active Directory// работает нормально и репликация с новым контроллером домена происходит успешно. Однако, DNS-сервер на новом КД отказывается запускаться со следующей ошибкой, которую можно найти в разделе логов //приложения// в event log: |
| |
| <WRAP prewrap> | <WRAP prewrap> |
| </WRAP> | </WRAP> |
| |
| Это событие может сбить нас с толку. Оно не имеет отношения к ошибке запуска DNS. Если оно пишется в лог один раз после рестарта - это нормальное событие, т.к. DNS ожидает синхронизации AD. | Это событие может сбить нас с толку. Оно не имеет отношения к ошибке запуска //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 | Причиной проблем с запуском 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-скрипт поиска проблемных записей, который можно запустить, чтобы их обнаружить. |
| | |
| | <WRAP prewrap> |
| | <code> |
| | $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 |
| | </code> |
| | </WRAP> |
| | |
| | Если скрипт обнаружит такие записи - их придётся удалить, чтобы решить проблему. Через какое-то время после удаления проблемных записей - DNS-сервер должен запуститься. |
| | |
| | {{tag>ActiveDirectory Microsoft PowerShell DNS}} |