Настройка службы времени (NTP) в Windows 2003 / 2008 / 2008 R2
Настройка службы времени (NTP) в Windows 2003 / 2008 / 2008 R2
Путь: It > Windows > Настройка службы времени (NTP) в Windows 2003 / 2008 / 2008 R2
Служба времени Windows, несмотря на кажущуюся простоту является основой нормального функционирования AD.
Итак, в нормально настроенной среде служба времени функционирует так: пользователи получают точное время от ближайшего контроллера домена, на котором они зарегистрировались, все доменные контроллеры запрашивают об этом DC с ролью FSMO «Эмулятор PDC», а тот, в свою очередь, синхронизируется с внешним источником времени. Внешним источником как правило выступает один или несколько NTP-сервера институтов времени, например time.windows.com или NTP-сервер вашего провайдера.
Если у вас рассинхронизация контроллеров домена между собой и жалобы пользователей на то, что наше время отличается от точного, то вам сюда.
Настройка вашего доменного контроллера с ролью «Эмулятора PDC» на синхронизацию с внешним источником:
находим все DC и того, кто из них PDC эмулятор
netdom query fsmo
на PDC делаем следующее
w32tm /stripchart /computer:time.windows.com /samples:5 /dataonly
которая произведет 5 сравнений с источником, а затем
w32tm /config /manualpeerlist:time.windows.com /syncfromflags:manual /reliable:yes /update
которая непосредственно выполнит настройку.
Можно указать сразу несколько серверов, в этом случае необходимо раздели имена серверов пробелом и всех их заключит в ковычки: /manualpeerlist:"time.windows.com clock0.macomnet.ru"
. внимание, связь с источником осуществляется по протоколу NTP – 123 порт UDP.
Все эти изменения аналогичнв следующим значениям в реестре
#HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParametersNtpServer Там должен быть записан ip адрес или полной имя нашего ntp сервера и запись должна обязательно заканчиваться строкой “,0?1”. Кавычки, понятное дело, нужно убрать. Кстати, к этому суффиксу я вернусь позже. Для уверенности в том, что тут нету ошибки, неплохо бы попингать скопированный оттуда адрес или имя.
#HKLMSYSTEMCurrentControlSetServicesW32TimeParametersType убедиться, что там прописано NTP, а неNT5DS
#HKLMSYSTEMCurrentControlSetServicesW32TimeConfigAnnounceFlags тут должна быть 5
Если Вы перенесли роль PDC Emulator на другой сервер, необходимо дополнительно выполнить настройку старого сервера командой w32tm /config /syncfromflags:domhier /reliable:no /update и перезапустить службу времени —
net stop w32time
net start w32time
На остальных контроллерах домена рекомендуется сделать
w32tm /unregister
w32tm /register
Эта операция удаляет службу времени, а затем снова ее устанавливает, причем, что важно, удаляется, а затем создается заново вся ветка параметров в реестре.
Очень рекомендуется перезапустить контроллер домена, являющийся pdc эмулятором, да и все остальные тоже.
Если проблемы всё равно возникают, то стоит попробовать заменить значение 0х01 на 0х08 в параметре
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParametersNtpServer
чтобы стали посылаться стандартные клиентские запросы.
Перезапускаем сервис времени net stop w32time && net start w32time
Очень рекомендуется проверить все политики, имеющие отношение к настройкам сервиса времени, а именно:
Default Domain Controllers group policy
Default Domain group policy
ну и все другие, которые имеют отношение к домен контроллерам, серверам и рабочим станциям и в которых изменены любые значения в разделе
Computer configuration/Administrative Templates /System/Windows Time service/Time Providers
Убедитесь, что все значения там в состоянии “not configured”. При необходимости, играть с параметрами следует позже.
В особо тяжелых случаях может помочь включение лога для сервиса. Для настройки этого используются три параметра в реестре по пути
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfig
Если нижеприведенных ключей там нету, а их нету по умолчанию, то их следует создать
Value Name: FileLogSize
Data Type: DWORD
Value data: 10000000
Этот параметр определяет максимальный размер файла лога в байтах. Значение 10000000 байт ограничит файл приблизительно в 10 Mb.
Value name: FileLogName
Data Type: REG_SZ (String)
Value data: C:Testw32time_log.txt
Этот параметр определяет место и имя файла лога.
Value name: FileLogEntries
Data Type: REG_SZ (String)
Value: 0-116
Этот параметр определяет уровень детализации лога. Диапазон значений параметра 0-116. (Если ввести туда 0-300, то уровень детализации станет максимальным)
Вместо изменения значений в реестре, можно то же самое сделать из командной строки w32tm /debug /enable /file:C:Testw32time_log.txt /size:100000 /entries:0-300
Чтобы выключить логи отладки можно ввести команду w32tm /debug /disable
Несколько самых известных источников времени:
1. ntp2.usno.navy.mil
2. pool.ntp.org
3. clock0.macomnet.ru
Проверить что со временем все в порядке можно так:
Как известно, в Windows Server 2008 R2 стало невозможным настраивать источник времени командой net time, для этого необходимо использовать команду w32tm. Эта команда предназначена для настройки службы Windows Time и имеет широкий набор аргументов, описание которых можно увидеть, запустив ее с ключом /?. В этой статье я опишу несколько типичных вариантов использования команды w32tm.
w32tm /query /source — выводит источник времени, на который настроена служба Windows Time
w32tm /monitor — при запуске на контроллере домена (КД) показывает, насколько отличается время на других КД и на внешнем источнике времени, на который настроен PDC
w32tm /config /syncfromflags:manual /manualpeerlist:ru.pool.ntp.org — настройка в качестве источника времени пула ntp-серверов ru.pool.ntp.org
w32tm /config /update — эту команду необходимо выполнить, чтобы служба времени применила новые настройки
w32tm /resync — выполнение синхронизации времени
w32tm /unregister — отменяет регистрацию службы и удаляет настройки из реестра
w32tm /register — регистрирует службу и восстанавливает настройки по умолчанию
Настройки службы Windows Time хранятся в реестре в ветке
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32Time
Период синхронизации задается в ветке реестра
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesW32TimeTimeProvidersNtpClient
ключ SpecialPollInterval содержит интервал синхронизации в секундах
Tips:
Если у вас несколько контроллеров домена, при использовании виртуализированного контроллера домена необходимо обязательно отключать средство синхронизации времени гостевой ОС с хостовой — контроллеры домена используют свой собственный механизм синхронизации времени, использование вместе с ним синхронизации времени с хостовой машиной может привести к различным проблемам, вплоть до проблем с репликацией.
Если у вас один единственный контроллер в домене и он виртуализированный, то включить синхронизацию времени с хостовой машиной можно, однако обязательно настройте на хостовой машине синхронизацию с внешним источником времнени и уменьшите интервал синхронизации, например, до одного дня.
Виртуализированный корневой PDC должен быть обязательно настроен на получение времени от внешнего источника, в противном случае время на компьютерах в сети может отставать или спешить на значительное значение.
Управление временем — один из ключевых аспектов системного администрирования. Как правило, все клиентские серверы и рабочие станции синхронизируют время с доменом Active Directory, однако откуда берется точное время в AD? Это зависит от разных факторов. В стандартной конфигурации время синхронизируется с серверами Microsoft, а виртуальные машины обычно получают данные от хост-сервера.
Лучше всего задать единый источник данных о точном времени для всех компьютеров в корпоративной сети — сервер (или несколько серверов), с которым будут синхронизироваться все системы. Это может быть ресурс или пул ресурсов в Интернете, либо локальный сервер. Так или иначе, с источником точного времени стоит определиться заранее.
За синхронизацию компьютеров и серверов Windows отвечает сетвой протокол Network Time Protocol (NTP). NTP использует для своей работы протокол UDP порт по умолчанию 123. Что бы в дальнейшем можно было настроить работу этого сетевого протокола, необходимо проверить, не блокирует ли этот порт фаерволл.
Способы указания NTP Сервера.
1) Команда w32tm позволяет задать список пиров, предоставляющих информацию о точном времени для домена. Чтобы получить дополнительные сведения о команде w32tm, введите в командной строке указанную команду w32tm /?
Первым, что необходимо сделать, это выяснить в каком состоянии находятся контролеры домена в домене. Для этого запускаем в командной строке команду (если у вас права доменного администратора, то можете запустить командную строку на своей рабочей станции)
w32tm /monitor — команда позволяет посмотреть с каким сервером (серверами)/сервисом происходит синхронизация и какая разница во времени с эталонным севером.
w32tm /config /manualpeerlist:time.windows.com /syncfromflags:manual /reliable:yes /update — этой командой мы указываем с каким сервисом/сервером будет происходить синхронизация ( в данном примере с time.windows.com).
Эта команда выполняется на контроллере домена однократно и записывает указанные адреса в реестр ( по пути HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfigParametrs в параметре NTPServer должно быть прописано time.windows.com). Можно указать сразу несколько серверов, разделенных пробелами.
NoSync— Служба времени не синхронизируется с другими источниками.
NTP- Служба времени выполняет синхронизацию с серверами, указанными в записи реестра NtpServer.
NT5DS- Служба времени выполняет синхронизацию на основе иерархии домена.
AllSync- Служба времени использует все доступные механизмы синхронизации.
Значение CrossSiteSyncFlags выбираем 2.
CrossSiteSyncFlags. Определяет возможность выбора службой партнеров по синхронизации за пределами домена компьютера.
Нет 0
PdcOnly 1
Все 2
В значении ResolvePeerBackoffMinutes прописываем 15
ResolvePeerBackoffMinutes- указывает первоначальный интервал ожидания (в минутах) перед тем, как начать поиск узла одноранговой сети для синхронизации. Если службе времени Windows не удается успешно синхронизироваться с источником времени, будут выполняться повторные попытки с использованием указанных значений параметров ResolvePeerBackoffMinutes и ResolvePeerBackoffMaxTimes.
В значении ResolvePeerBackoffMaxTimes прописываем 7
ResolvePeerBackoffMaxTimes- указывает максимальное число раз удвоения интервала ожидания в случае, если повторяющиеся попытки поиска узла одноранговой сети для синхронизации не дали результата. Нулевое значение предполагает, что интервал ожидания всегда равен первоначальному, указанному в параметре ResolvePeerBackoffMinutes.
В значении SpecialPollInterval прописываем 3600
SpecialPollInterval- указывает интервал специального опроса (в секундах) для узлов одноранговой сети, настроенных вручную. Если специальный опрос включен, то служба времени Windows будет использовать его интервал вместо динамического значения, определяемого с помощью алгоритмов синхронизации, встроенных в службу времени Windows.
Если вы создали политику, то ее нужно применить на все контролеры домены.