Настройка службы времени - W32timе в операционных системах Windows, кажется тривиальной задачей. Но как показывает практика, многие системные администраторы сталкиваются с трудностями при настройке службы W32Time. В данной статье я не буду рассказывать как настроить службу времени в операционных системах Windows для синхронизации с точным источником времени, так как этот материал очень хорошо представлен на сайте TechNet. Я хотел бы рассказать с какими проблемами можно столкнуться при настройке службы времени, и как решить их.
Начнем с контроллера домена. Не секрет что все клиентские компьютера в доменне по умолчанию синхронизируются с основным контроллером домена (PDC), в каждом домене леса может быть только один контроллер домена, выполняющий роль хозяина эмулятора PDC.
Мы сконфигурировали контроллер домена так, чтобы он синхронизировался с источником точного времени. При просмотре событий мы обнаружили, что PDC не хочет синхронизироваться с сервером точного времени:
Мы сконфигурировали контроллер домена так, чтобы он синхронизировался с источником точного времени. При просмотре событий мы обнаружили, что PDC не хочет синхронизироваться с сервером точного времени:
Тип события: Предупреждение Источник события: W32Time Категория события: Отсутствует Код события: 12 Дата: 02.02.2011 Время: 13:53:39 Пользователь: Н/Д Компьютер: SERVER Описание: NTP-клиент поставщика времени: этот компьютер использует доменную структуру для определения своего источника времени, но для этого домена в корне леса находится PDC-эмулятор, поэтому нет компьютера, расположенного выше в доменной иерархии, который можно использовать как источник времени. … |
С чего в таком случае начинать? Сперва проверим, правильно мы сконфигурировали службу времени. В командной строке выполним команду w32tm /query /configuration:
Обратите внимание на секцию [TimeProviders], а именно значение параметра Type должен быть NTP, и в параметре NtpServer должны бать перечислены источники точного времени. Все это можно посмотреть в ветке реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Parameters
Теперь проверим, доступен контроллеру домена источник точного времени, в нашем случаи это ntp0.mao.kiev.ua. Воспользуемся утилитой PortQry, и проверим сервера по порту 123 и протоколу UDP (именно этот протокол и порт используется для синхронизации времени)
Как видно из приведенного скриншота, сервер доступен. Если же источник точного времени не доступен, то вероятней всего на шлюзе закрыт доступ для PDC по 123 порту и протоколу UDP.
Если тест на проверку доступности порта прошел удачно, а PDC упорно не хочет синхронизировать время с внешним источникам, переходим к следующему этапу. Включим дебаг службы W32Time, при этом не забываем перезапускать саму службу
(net stop W32Time && net start W32Time). Я приведу отрывок из лог
149698 10:43:20.9531250s - ---------- Log File Opened -----------------149698 10:43:20.9531250s - Entered W32TmServiceMain W2K3SP1149698 10:43:20.9531250s - CurSpc:15625000ns BaseSpc:15625000ns SyncToCmos:Yes149698 10:43:20.9531250s - PerfFreq:3579545c/s149698 10:43:20.9531250s - Time zone OK.
149698 10:43:20.9531250s - ReadConfig: Found provider 'NtpClient':149698 10:43:20.9531250s - ReadConfig: 'Enabled'=0x00000001149698 10:43:20.9531250s - ReadConfig: 'DllName'='C:\WINDOWS\system32\w32time.dll'
149698 10:43:20.9531250s - ReadConfig: 'InputProvider'=0x00000001149698 10:43:20.9531250s - ReadConfig: Found provider 'NtpServer':149698 10:43:20.9531250s - ReadConfig: 'Enabled'=0x00000001149698 10:43:20.9531250s - ReadConfig: 'DllName'='C:\WINDOWS\system32\w32time.dll'
149698 10:43:20.9531250s - ReadConfig: 'InputProvider'=0x00000000149698 10:43:20.9531250s - ReadConfig (policy): Found provider 'NtpClient':149698 10:43:20.9531250s - ReadConfig (policy): 'Enabled'=0x00000001149698 10:43:20.9531250s - ReadConfig (policy): Found provider 'NtpServer':149698 10:43:20.9531250s - ReadConfig (policy): 'Enabled'=0x00000001149698 10:43:20.9531250s - ReadConfig: 'PhaseCorrectRate'=0x00000001149698 10:43:20.9531250s - ReadConfig: 'UpdateInterval'=0x00007530149698 10:43:20.9531250s - ReadConfig: 'FrequencyCorrectRate'=0x00000004149698 10:43:20.9531250s - ReadConfig: 'PollAdjustFactor'=0x00000005149698 10:43:20.9531250s - ReadConfig: 'LargePhaseOffset'=0x00138800149698 10:43:20.9531250s - ReadConfig: 'SpikeWatchPeriod'=0x0000005A149698 10:43:20.9531250s - ReadConfig: 'HoldPeriod'=0x00000005149698 10:43:20.9531250s - ReadConfig: 'MinPollInterval'=0x0000000A149698 10:43:20.9531250s - ReadConfig: 'MaxPollInterval'=0x0000000F149698 10:43:20.9531250s - ReadConfig: 'AnnounceFlags'=0x0000000A149698 10:43:20.9531250s - ReadConfig: 'LocalClockDispersion'=0x0000000A149698 10:43:20.9531250s - ReadConfig: 'MaxNegPhaseCorrection'=0x0000D2F0149698 10:43:20.9531250s - ReadConfig: 'MaxPosPhaseCorrection'=0x0000D2F0149698 10:43:20.9531250s - ReadConfig: 'EventLogFlags'=0x00000002149698 10:43:20.9531250s - ReadConfig: 'MaxAllowedPhaseOffset'=0x0000012C
Из этого лога видно,
149698 10:43:20.9531250s - ReadConfig (policy): Found provider 'NtpClient':149698 10:43:20.9531250s - ReadConfig (policy): 'Enabled'=0x00000001149698 10:43:20.9531250s - ReadConfig (policy): Found provider 'NtpServer':149698 10:43:20.9531250s - ReadConfig (policy): 'Enabled'=0x00000001
что служба времени настроена при помощи групповой политики, а именно:
Задаем значение этих параметров групповой политики – «Не задана». Затем обновляем групповую политику, если эта политика доменная. Если политика локальная, то достаточно перезапустить службу W32Timе. Осталось теперь выполнить синхронизацию времени
– W32tm /resync.
Бывают случаи, когда на PDC запущены несколько служб, которые «слушают» 123 порт. При помощи команды netstat можно посмотреть какие службы запущены, и какой порт они «слушают». Вот пример команда: netstat -a -b -v -p udp > c:\upd.txt,которая выведет в файл информацию обо всех службах, которые используют протокол UDP. Проанализировав файл, можно найти какие службы используют локальный адрес 0.0.0.0:123.(или :ntp) Отключите все кроме W32Time.
Перейдем к рабочим станциям. Как я говорил выше, все клинские компьютера в домене синхронизируют время с PDC. Если не изменять параметр Type (по умолчанию он равен NT5DS)в ветке реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Parameters,
проблем с синхронизацией быть не должно. Этот параметр можно задать при помощи групповой политики:
Но не изменяйте этот параметр в Default Domain Policy. Создайте отдельную политику, и прилинкуйте ее к контейнеру, где расположены рабочие станции.
И последний момент. При передачи роли PDC другому контроллеру домена, рабочие станции упорно не хотят синхронизировать время с новым PDC. Для это на новом держателе роли PDC выполните в командной строке:
- w32tm /config /syncfromflags:domhier /reliable:no /update
- net stop w32time && net start w32time
Ну вот пока все, осталось пожелать успехов в нашем не легком деле :) !
----------------------------------
----------------------------------
P.S. Если Вам понравилась статья, или статья была Вам интересна – кликните на рекламе :)
Комментариев нет:
Отправить комментарий