Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта статья поможет решить проблему, из-за которой параметры передачи зоны DNS сбрасываются после изменения области репликации зоны.
Исходный номер базы знаний: 4050194
Симптомы
Рассмотрим следующий сценарий:
Домен с именем contoso.com содержит два контроллера домена, DC1.contoso.com и DC2.contoso.com.
Оба контроллера домена — это DNS-серверы, на которых размещается
Contoso.com
зона.Область репликации зоны имеет следующее значение:
Для всех контроллеров домена в домене (для совместимости Windows 2000):
contoso.com
Зона contoso.com в DC1 и DC2 настроена на разрешение передачи зоны на вторичные серверы.
Для области репликации зоны задано следующее значение:
Для всех DNS-серверов, работающих на контроллерах домена в этом домене:
contoso.com
Это изменение реплицируется в DC2, а затем зона contoso.com перезагрузится службой DNS на DC2.
В этом сценарии параметры передачи зоны в DC2 удаляются. Следующие изменения происходят:
Флажок "Разрешить передачу зоны" снят.
Список серверов, на которые ранее разрешена передача зоны. Значения сервера также удаляются из реестра.
Примечание.
При возникновении этой проблемы параметры передачи зоны в DC1 не затрагиваются.
Причина
Эта проблема возникает, так как существующий объект зоны удаляется из раздела, а новый объект создается в соответствующей секции при изменении области репликации. Это изменение реплицируется во всех контроллерах домена.
Когда поток опроса в DC2 извлекает изменение из новой секции, параметры реестра сбрасываются. Передача зоны отключена, так как для параметра SecureSecondaries задано значение 3. Кроме того, все настроенные серверы в списке передачи зоны удаляются из-за удаления значения SecondaryServers . С точки зрения DNS этот процесс напоминает создание новой зоны в другой секции.
Решение
Перед изменением области репликации обратите внимание на параметры передачи зоны. Перенастройка параметров передачи зоны после изменения области репликации.
Для резервного копирования и восстановления параметров можно также использовать следующие скрипты.
Примечание.
Эти скрипты предоставляются на основе как есть. Рекомендуется тщательно протестировать эти скрипты перед их использованием в рабочей среде.
Скрипт резервного копирования
Сохраните следующий код в виде файла с именем BackupZoneTransferSettings.ps1.
# Begin Script
param([string]$ZoneName = "test2.com")
#Build the vars
$TargetRoot = "HKCU:\DNSZoneConfigMigration\"
$TargetKeyPath = $TargetRoot
$SourceRoot = "HKLM:\Software\Microsoft\Windows Nt\CurrentVersion\DNS Server\Zones\"
$SourceKeyPath = $SourceRoot + $ZoneName
#Copy the Item
#Check for the presence of the item
Get-Item HKCU:\DNSZoneConfigMigration -ErrorAction SilentlyContinue >$null
if($?)
{
"DNSZoneConfigMigration key present already!"
}
else
{
New-Item -Path HKCU:\DNSZoneConfigMigration -ErrorAction SilentlyContinue >$null
}
if($?)
{
Copy-Item -Path $SourceKeyPath -Destination $TargetKeyPath -ErrorAction SilentlyContinue >$null
if($?)
{
"Key backed up in registry (Current User Hive) successfully!"
}
else
{
"Key Backup Failed.Error Code is " + $Error[0].Exception.Message
}
}
else
{ "Unable to Create Backup Key.Error code is " + + $Error[0].Exception.Message + ".Exiting"
}
# End Script
Скрипт восстановления
Сохраните следующий код в виде файла с именем RestoreZoneTransferSettings.ps1.
# Begin Script
param([string]$ZoneName = "test2.com")
#Build the vars
$SourceRoot = "HKCU:\DNSZoneConfigMigration\"
$SourceKeyPath = $SourceRoot + $ZoneName
$DestinationRoot = "HKLM:\Software\Microsoft\Windows Nt\CurrentVersion\DNS Server\Zones\"
$DestinationKeyPath = $DestinationRoot + $ZoneName
#Copy the ItemProperty Values
Copy-ItemProperty -Path $SourceKeyPath -Destination $DestinationKeyPath -Name "SecureSecondaries" -ErrorAction SilentlyContinue >$null
if($?)
{
"SecureSecondaries Value Successfully Restored for " + $ZoneName
Copy-ItemProperty -Path $SourceKeyPath -Destination $DestinationKeyPath -Name "SecondaryServers" -ErrorAction SilentlyContinue >$null
if($?)
{
"SecondaryServers Value Successfully Restored for " + $ZoneName "Restore Successful! Deleting the backup" Remove-Item -Path $SourceKeyPath
if(-Not $?)
{
"Unable to Delete Backup Key. Delete Manually. Error :" + $Error[0].Exception.Message
}
}
else
{
"Failed to restore SecondaryServers value. " + $Error[0].Exception.Message
}
}
else
{
"Failed to restore SecureSecondaries value. " + $Error[0].Exception.Message
}
# End Script
Скрипт резервного копирования выполняет резервное копирование параметров передачи зоны для определенной зоны. (Для удобства резервное копирование хранится в реестре HKEY_CURRENT_USER
под hive.)
Примечание.
Командлет Set-ExecutionPolicy PowerShell можно запустить, чтобы разрешить неподписанные скрипты.
Вторая команда (выделенная) на следующем снимке экрана создает резервную копию параметров передачи зоны для зоны с именем "test3.com".
Где параметры резервируются в реестре
Выполнение скрипта для восстановления параметров передачи зоны (скрипт восстановления восстанавливает только эти два значения)
Параметры передачи зоны в реестре перед операцией восстановления
Параметры передачи зоны в реестре после операции восстановления
Примечание.
После запуска скрипта восстановления необходимо перезапустить службу DNS, чтобы применить изменения.
Дополнительная информация
Хранилище параметров передачи зоны
Параметры передачи зоны хранятся в реестре на DNS-сервере в следующем пути:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server\Zones\<domain name>
Если для передачи зоны заданы определенные серверы или IP-адреса, заполняются следующие значения:
- SecureSecondaries имеет значение 0x2. Это соответствует параметру "Только для следующих серверов ".
- Многостроовое значение, которое называется SecondaryServers , создается с помощью IP-адресов серверов.
Настройки
Реестр
Примечание.
Параметры передачи зоны не хранятся в Active Directory. Поэтому параметры не реплицируются в рамках репликации Active Directory.
Поток опроса DS
Служба DNS поддерживает поток опроса DS, который периодически опрашивает секции и извлекает список всех зон. Дополнительные сведения см. в статье "Как часто служба DNS-сервера проверяет AD для новых или измененных данных"
По умолчанию служба DNS опрашивает Active Directory за изменения каждые 180 секунд (3 минуты). Этот процесс можно контролировать с помощью раздела реестра DsPollingInterval или параметра dnscmd /dspollinginterval.
Примечание.
Параметр принимает значения от 0 до 3600 секунд. Однако значения от 1 до 29 не допускаются. Минимально допустимое значение — 30 секунд.
Дополнительные сведения см . в разделе "Конфигурация Dnscmd".