Blog of Khlebalin Dmitriy

(Записки из мира IT…)

Настройка синхронизации времени в домене Active Directory.


Вообще служба времени является достаточно важной службой в работе всех систем в целом. Порой многие админы откладывают ее настройку на потом или вообще никак не настраивают ее в дальнейшем. И все бы ничего, но порой это начинает приводить к проблемам (например отказе некоторых сервисов, аутентификации по Kerberos в домене и прочим багам). В данном посте, я приведу некоторые настройки собственные и наших коллег по цеху и в двух словах расскажу о нюансах с которыми я столкнулся в жизни. Итак приступим:

  • топологии синхронизации времени среди участников Active Directory
  • оптимальной с моей точки зрения конфигурации сервера времени корневого эмулятора PDC
  • полезных командах для настройки и диагностики синхронизации времени
  • особенностях, которые нужно учитывать для виртуализированных контроллеров домена

Топология синхронизации времени среди участников Active Directory

Среди компьютеров, участвующих в Active Directory работает следующая схема синхронизация времени.

  • Контроллер корневого домена в лесу AD, которому принадлежит FSMО-роль эмулятора PDC (назовем его корневым PDC), является источником времени для всех остальных контроллеров этого домена.
  • Контроллеры дочерних доменов синхронизируют время с вышестоящих по топологии AD контроллеров домена.
  • Рядовые члены домена (сервера и рабочие станции) синхронизируют свое время с ближайшим к ним доступным контроллером домена, соблюдая топологию AD.

Корневой PDC может синхронизировать свое время как со внешним источником, так и с самим собой, последнее задано конфигурацией по умолчанию и является абсурдом, о чем периодически намекают ошибки в системном журнале.

Синхронизация клиентов корневого PDC может осуществятся как с его внутренних часов, так и с внешнего источника. В первом случае сервер времени корневого PDC объявляет себя как «надежный» (reliable).

Далее будет приведена оптимальная конфигурация сервера времени корневого PDC, при которой сам корневой PDC периодически синхронизирует свое время от достоверного источника в интернете, а время обращающихся к нему клиентов синхронизирует со своими внутренними часами.

Конфигурация NTP-сервера на корневом PDC

Конфигурирование сервера времени (NTP-сервера) может осуществляться как с помощью утилиты командной строки w32tm, так и через реестр. Где возможно, будут показаны оба варианта.

Включение синхронизации внутренних часов с внешним источником

  • [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters]
    «Type»=»NTP»
  • w32tm /config /syncfromflags:manual

Подробности — в библиотеке TechNet.

Объявление NTP-сервера в качестве надежного

  • [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config]
    «AnnounceFlags»=dword:0000000a
  • w32tm /config /reliable:yes

Подробности — в библиотеке TechNet.

Включение NTP-сервера

NTP-сервер по умолчанию включен на всех контроллерах домена, однако его можно включить и на рядовых серверах.

  • [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer]
    «Enabled»=dword:00000001

Задание списка внешних источников для синхронизации

  • [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters]
    «NtpServer»=»time.nist.gov,0x8 ntp1.imvp.ru,0x8 ntp2.imvp.ru,0x8 time.windows.com,0x8 ru.pool.ntp.org,0x8»
  • w32tm /config /manualpeerlist:»time.nist.gov,0x8 ntp1.imvp.ru,0x8 ntp2.imvp.ru,0x8 time.windows.com,0x8 ru.pool.ntp.org,0x8″

Флаг 0×8 на конце означает, что синхронизация должна происходить в режиме клиента NTP, через предложенные этим сервером интервалы времени. Для того, чтобы задать свой интервал синхронизации, необходимо использовать флаг 0×1. Все остальные флаги описаны в библиотеке TechNet.

Задание интервала синхронизации с внешним источником

Время в секундах между опросами источника синхронизации, по умолчанию 900с = 15мин. Работает только для источников, помеченных флагом 0×1.

  • [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient]
    «SpecialPollInterval»=dword:00000384

Установка минимальной положительной и отрицательной коррекции

Максимальная положительная и отрицательная коррекция времени (разница между внутренними часами и источником синхронизации) в секундах, при превышении которой синхронизация не происходит. Рекомендую значение 0xFFFFFFFF, при котором коррекция сможет производиться всегда.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config]
«MaxPosPhaseCorrection»=dword:FFFFFFFF
«MaxNegPhaseCorrection»=dword:FFFFFFFF

Все необходимое одной строкой

w32tm.exe /config /manualpeerlist:»time.nist.gov,0x8 ntp1.imvp.ru,0x8 ntp2.imvp.ru,0x8 time.windows.com,0x8 pool.ntp.org,0x8» /syncfromflags:manual /reliable:yes /update

Полезные команды

  • Применение внесенных в конфигурацию службы времени изменений
    w32tm /config /update
  • Принудительная синхронизация от источника
    w32tm /resync /rediscover
  • Отображение состояния синхронизации контроллеров домена в домене
    w32tm /monitor
  • Отображение текущих источников синхронизации и их статуса
    w32tm /query /peers

Особенности виртуализированных контроллеров домена

Контроллеры домена, работающие в виртуализированной среде, требуют к себе особенного отношения.

  • Средства синхронизации времени виртуальной машины и хостовой ОС должны быть выключены. Во всех адекватных системах виртуализации (Microsoft, vmWare и т. д.) присутствуют компоненты интеграции гостевой ОС с хостовой, которые значительно повышают производительность и управляемость гостевой системой. Среди этих компонентов всегда есть средство синхронизации времени гостевой ОС с хостовой, которое очень полезно для рядовых машин, но противопоказано для контроллеров домена. Потому как в этом случае весьма вероятен цикл, при котором контроллер домена и хостовая ОС будут синхронизировать друг друга. Последствия печальны.
  • Для корневого PDC синхронизация с внешним источником должна быть настроена всегда. В виртуальной среде часы не настолько точны как в физической, потому как виртуальная машина работает с виртуальным процессором и прерываниями, для которых характерно как замедление, так и ускорение относительно «обычной» частоты. Если не настроить синхронизацию виртуализированного корневого PDC с внешним источником, время на всех компьютерах предприятия может убегать/отставать на пару часов в сутки. Не трудно представить неприятности, которые может принести такое поведение.

В данном посте Максим Ефремов рассказал о настройке NTP в Win2008, Vista в семерке это делается аналогично.

Если у Вас домен, то он сам синхронизирует время на рабочих станциях. Только, для того чтоб он сам не искал с кем-бы ему синхронизироваться, надо в реестре:
«HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters»
Установить значение параметра LocalNTP равным 1.
На рабочих станциях (на всех) один раз прописать «net time \\имя_сервера /set»
Ах да, после изменений в реестре еще надо перезапустить службу: «net w32time stop» и «net w32time start» поочереди.

Если скажем, вы хотите чтоб время синхронизировалось каждый час, то сделайте следуеще:
1. В реестре, по тому же адресу, удалить параметр «Period».
2. Вместо него создать параметр с тем же именем, только типа REG_DWORD.
3. Для нового параметра задать значение 24

На компах с 2000 и выше «левые» программы не нужны, все решается стандартными средствами.

Например, на компе подключенном к Инету:
1. net time /setsntp:»192.5.41.209 192.5.41.41″
2. Рестарт time service

На контроллере домена:
1. net time /setsntp:»АйПи_компа_подключенного_к_инету»
2. Рестарт time service

Да, но все вышенаписанное, при правильной настройке, нормально работает в виндовых платформах. Но в определенный момент, я столкнулся с тем, что сервак телефонии Авая, так и не смог синхронизироваться с виндовым сервером времени, как я ни старался. Зато с сервером времени развернутым на линухе (или на юнихе, я уже не вспомню точно) синхронихировался за 2 секунды и без проблем.

По сему для себя мы сделали вывод, что при наличии в компании смешанной инфраструктуры (windows+nix) актуальней будет использовать NTP сервер на nix платформе (в моем случае это будет freebsd), а далее соответственно как сами настроите. О настройке  NTP сервака на freebsd в моих будущих постах.

Всем удачи в работе !!!

P.S. Здесь же будут полезны вот эти сайты:

http://it.ingens.ru/2011/11/ntp-gpo-time-syncronization-configure.html

http://it.nppiris.ru/windows/windows-2003-2008-domen-time/

http://sys-admin.kz/systadm/57-sysadm/94-settings-ntp-server.html

но самой подробной статьей для меня оказалась вот эта: http://windowsnotes.ru/windows-server-2008/nastrojka-ntp-servera-v-windows/ 

за что ее автору большое спасибо.

Траблешутинг проблемы хорошо описан здесь: http://forum.sysman.ru/index.php?showtopic=27556&attemtp=1

P.S. Здесь еще будет полезна краткая сводка команд:

w32tm /config /update /manualpeerlist:»ntp.mobatime.ru» /syncfromflags:MANUAL /reliable:YES

Конфигурация NTP-сервера на корневом PDC

Конфигурирование сервера времени (NTP-сервера) может осуществляться как с помощью утилиты командной строки w32tm, так и через реестр. Где возможно, я приведу оба варианта.

Включение синхронизации внутренних часов с внешним источником

  • [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters] «Type»=»NTP»
  • w32tm /config /syncfromflags:manual

Подробности — в библиотеке TechNet.

Объявление NTP-сервера в качестве надежного

  • [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config] «AnnounceFlags»=dword:0000000a
  • w32tm /config /reliable:yes

Подробности — в библиотеке TechNet.

Включение NTP-сервера

NTP-сервер по умолчанию включен на всех контроллерах домена, однако его можно включить и на рядовых серверах.

  • [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer] «Enabled»=dword:00000001

Задание списка внешних источников для синхронизации

  • [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters] «NtpServer»=»time.nist.gov,0x8 ntp1.imvp.ru,0x8 ntp2.imvp.ru,0x8 time.windows.com,0x8 ru.pool.ntp.org,0x8»
  • w32tm /config /manualpeerlist:»time.nist.gov,0x8 ntp1.imvp.ru,0x8 ntp2.imvp.ru,0x8 time.windows.com,0x8 ru.pool.ntp.org,0x8″

Флаг 0×8 на конце означает, что синхронизация должна происходить в режиме клиента NTP, через предложенные этим сервером интервалы времени. Для того, чтобы задать свой интервал синхронизации, необходимо использовать флаг 0×1. Все остальные флаги описаны в библиотеке TechNet.

Задание интервала синхронизации с внешним источником

Время в секундах между опросами источника синхронизации, по умолчанию 900с = 15мин. Работает только для источников, помеченных флагом 0×1.

  • [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient] «SpecialPollInterval»=dword:00000384

Установка минимальной положительной и отрицательной коррекции

Максимальная положительная и отрицательная коррекция времени (разница между внутренними часами и источником синхронизации) в секундах, при превышении которой синхронизация не происходит. Рекомендую значение 0xFFFFFFFF, при котором коррекция сможет производиться всегда.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config] «MaxPosPhaseCorrection»=dword:FFFFFFFF «MaxNegPhaseCorrection»=dword:FFFFFFFF

Все необходимое одной строкой

w32tm.exe /config /manualpeerlist:»time.nist.gov,0x8 ntp1.imvp.ru,0x8 ntp2.imvp.ru,0x8 time.windows.com,0x8 pool.ntp.org,0x8″ /syncfromflags:manual /reliable:yes /update

Полезные команды

  • Применение внесенных в конфигурацию службы времени изменений w32tm /config /update
  • Принудительная синхронизация от источника w32tm /resync /rediscover
  • Отображение состояния синхронизации контроллеров домена в домене w32tm /monitor
  • Отображение текущих источников синхронизации и их статуса w32tm /query /peers

Проверяем что не включена Локальная политика контроллера домена

1) Отключаем здесь настройки NTP клиента и сервера
2) Проверяем команда gpresult.

Для настройки вашего доменного контроллера с ролью “Эмулятора PDC” на синхронизацию с внешним источником, необходимо сначала выполнить команду

w32tm /stripchart /computer:3.pool.ntp.org /samples:5 /dataonly

которая произведет 5 сравнений с источником, а затем:

w32tm /config /manualpeerlist:3.pool.ntp.org /syncfromflags:manual /reliable

команду выполнять с повышенными правами

Проверяем внешний источник контроллера: W32TM /Query /Source

Всем хорошей работы!!!

Реклама

03.11.2011 - Posted by | ms windows 2008

Sorry, the comment form is closed at this time.

%d такие блоггеры, как: