Windows ntp client настройка

Обновлено: 05.07.2024

Сегодня пришлось повозиться на держателе домена (windows 2003) и корректно настроить ntp. Ниже будет информацию, которая мне помогла.

Процедура по восстановлению работоспособности сервиса w32tm

1. Находим все DC и того, кто из них PDC эмулятор

2. Проверяем доступность сервера времени с PDC эмулятора

portqry –n ntp.mydomain.ua –e 123 –p UDP Querying target system called: ntp.mydomain.ua Attempting to resolve name to IP address… Name resolved to 10.10.72.17
UDP port 123 (ntp service): LISTENING or FILTERED

Должно быть именно так “LISTENING or FILTERED”.

Эта утилита входит в комплект Support Tools для Windows 2003 Server. К сожалению, на Windows 2008 R2 она не работает.

3. В regedit открываем параметры ntp сервера

Там должен быть записан ip адрес или полное имя нашего ntp сервера и запись должна обязательно заканчиваться строкой “,0x1”. Кавычки, понятное дело, нужно убрать. Для уверенности в том, что тут нету ошибки, можно пропинговать указанный ntp-сервер.

4. Там же, следует перейти к параметру Type:

и убедиться, что там прописано NTP, а не NT5DS

5. Теперь следует проверить еще одно значение: AnnounceFlags

тут должна быть 5

6. Перезапускаем сервис времени:

7. Синхронизируемся:

8. На остальных контроллерах домена рекомендуется переустановить службу времени

Команда: "w32tm /unregister && w32tm /register" удаляет службу времени, а затем снова ее устанавливает, причем, что важно, удаляется, а затем создается заново вся ветка параметров в реестре.

9. Рекомендуется перезапустить контроллер домена, являющийся pdc эмулятором, да и все остальные тоже.

10. Если на pdc эмуляторе ошибки все равно наблюдаются, то стоит попробовать изменить формат клиентских запросов

Меняем значение с 0x1 на 0x8

11. Перезапускаем сервис времени

12. Рекомендуется проверить все политики, имеющие отношение к настройкам сервиса времени:

Default Domain Controllers group policy, Default Domain group policy и другие в которых изменены любые значения в разделе

Computer configuration/Administrative Templates /System/Windows Time service/Time Providers

Убедитесь, что все значения там в состоянии “not configured”. При необходимости, играть с параметрами следует позже.

Если что-то меняли в политике, то перезапускаем сервис времени: net stop w32time && net start w32time

13. Если так ничего не помогло, то нужно обнулить параметры сервиса времени и на pdc эмуляторе:

net stop w32time w32tm /unregister w32tm /register

После чего нужно будет настраивать все параметры заново, начиная с п.3.

Если вдруг, на этапе удаления напишет про запрет доступа, то нужно перезагрузиться.

Включение лога сервиса времени

В особо тяжелых случаях может помочь включение лога для сервиса. Для настройки этого используются три параметра в реестре по пути:

Если нижеприведенных ключей там нету, а их нету по умолчанию, то их следует создать

  • FileLogSize, Type: DWORD, Data: 10000000 - максимальный размер лог-файла в байтах.
  • FileLogName, Type: REG_SZ (String), Data: C:\Test\w32time_log.txt - адрес нахождения лог-файла
  • FileLogEntries, Type: REG_SZ (String), Value: 0-116 - уровень детализации лога. Максимальный диапазон: 0-300.

Вместо изменения значений в реестре, можно то же самое сделать из командной строки:

Чтобы выключить логи отладки можно ввести команду:

Если Вы перенесли роль PDC Emulator на другой сервер, необходимо дополнительно выполнить настройку старого сервера командой

и перезапустить службу времени:

Первое решение проблемы "no time data was available"

Еще раз обращу внимание, что проблема была в доменных политиках.

Команда w32tm /resync выдавала ошибку

The computer did not resync because no time data was available.

Решено это было следующим образом:

  1. Start / Run / dsa.msc / OK.
  2. Right-click the Domain Controllers container and press Properties.
  3. Select the Group Policy tab.
  4. Select the Default Domain Controllers Policy and press Edit. If GPMC is implemented, press Open first.
  5. Expand Computer Configuration / Administrative Templates / System / Windows Time Service.
  6. Right-click Global Configuration Settings and press Properties.
  7. Select Not Configured.
  8. Press Apply and OK.
  9. Expand Windows Time Service.
  10. Double-click Enable Windows NTP Client.
  11. Select Not Configured.
  12. Press Apply and OK.
  13. Double-click Configure Windows NTP Client.
  14. Select Not Configured.
  15. Press Apply and OK.
  16. Double-click Enable Windows NTP Server.
  17. Select Not Configured.
  18. Press Apply and OK.
  19. Exit the Group Policy Editor.
  20. Close any open policy dialog boxes.
  21. Open a CMD.EXE window.
  22. Type gpupdate /force and press Enter.

Второе решение проблемы "no time data was available"

Во второй раз с этой же ошибкой с я столкнулся через пару лет. При попытке получить время от нашего cisco роутера, при помощи команды w32tm /resync, видел ошибку:

Sending resync command to local computer.
The computer did not resync because no time data was available.

Команда синхронизации отправлена на local computer.
Синхронизация не выполнена, поскольку нет доступных данных о времени.

При этом вышеописанные действия уже были совершены.

Служба win32time отсылала "симметрические пакеты": в снифере wireshark я видел что windows сервер отсылает пакеты "NTP Version 3, symmetric active", но никакого ответа от CISCO не получал.

В логах службы сообщалось "No response from peer", а в логах роутера:

В этой случае мне помогла команда:

и перезапуск службы времени.

После этого в wireshark увидел нормальный обмен пакетами:

  • windows сервер посылал пакеты "NTP Version 3, client"
  • cisco роутер отвечал пакетами "NTP Version 3, server"

Настраиваем период синхронизации времени

Инструкция работает на компьютерах которые не включены в домен.

Переходим к редактированию реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time \TimeProviders\NtpClient\SpecialPollInterval - ключ в реестре, задает период обновления синхронизации времени в системе в секундах. Вводим в десятичном формате необходимый период.

После этого перезагружаем компьютер или вводим команду w32tm /config /update

Проверить с какой периодичностью происходит синхронизация времени:

  • Кликаем по часам в панели задач
  • Переходим к "изменение настроек даты и времени", вкладка "Время по Интернету"
  • Жмем кнопку "Изменить параметры"
  • Убеждаемся что установлена галочка возле "Синхронизировать с сервером времени в Интернете"
  • Выбираем нужный сервер, жмем кнопку "Обновить сейчас" и ждем пока не появиться надпись "Время было успешно синхронизировано", если же увидели надпись "Ошибка при выполнении синхронизации" то выбираем другой сервер.
  • После успешной синхронизации жмем кнопку "ОК" и на вкладке "Время по Интернету" смотрим когда будет "Следующее выполнение синхронизации"

Указание часового пояса через групповые политики

  • Открываем политику для контейнера где находиться компьютер
  • Переходим к Конфигурация компьютера - Настройка - Конфигурация Windows - Реестр
  • Левый клик по правой белой области в области "Реестр" и выбираем пункт меню "Создать" - "Мастер реестра"
  • Выбираем компьютер на котором установлен нужный часовой пояс (у меня это локальный)
  • В Браузере реестра переходим к "HKLM \ System \ CurrentControlSet \ Control \ TimeZoneInformation"
  • Отмечаем все ключи в этой папке и жмем "готово"
  • Все теперь на локальных компьютерах автоматически будет устанавливаться необходимый часовой пояс и после перезагрузки устанавливаться правильной время

Полезные команды связанные со службой времени ntp:

Помните что после любых изменений в конфигурации ntp-службы нужно ее перезапускать, команда:

Задача: настроить Windows системы для получения показателей точного времени с определённых NTP серверов.

Наши NTP серверы будут поддерживать протокол версий 3 (три) и 4 (четыре).
Служба точного времени работает на порту udp:123. Обеспечиваем видимость наших NTP серверов по указанному порту.
Авторизацию при запросе клиентом точного времени у NTP сервера проводить не будем; отношения в сети достаточно доверительные, да и парк активных устройств разномастен - далеко не все могут поддерживать что-то ещё, кроме простого запроса показателей времени.

Пользователям операционных систем Windows XP/2003/2008 придётся проделать ряд манипуляций.

Указать на применяемые NTP серверы (где ntp.local, ntp1.local и так далее - наши NTP серверы):

Далее, отдать в командной строке указания о выборе приоритетного NTP сервера, перезапуске службы точного времени и принудительной синхронизации времени в NTP сервером:

В результате должны получить нечто вроде этого:

Команда синхронизации отправлена на local computer.
Команда выполнена успешно.

Для локализации проблемы в командной строке можно выполнить запрос информации о используемом NTP сервере:

Для определения величины расхождения локального времени и времени любого компьютера в сети, можно использовать следующую команду:

Иногда помогает вульгарная перерегистрация службы времени Windows:

Как вариант, можно настроить синхронизацию времени с помощью графического интерфейса.

Можно указать на применяемые NTP серверы с помощью утилиты regedit.exe:

Запуск утилиты редактирования системного реестра Windows.

Запуск утилиты редактирования системного реестра Windows.

Необходимо пройти в ветку (если её нет - создать) "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers":

Переход к ветке параметров синхронизации системного времени Windows.

Переход к ветке параметров синхронизации системного времени Windows.

Создать или изменить строковые параметры с именами "0" и "1" указав в них доменные имена или IP адреса наших NTP серверов:

Корректировка параметров синхронизации системного времени Windows.

Корректировка параметров синхронизации системного времени Windows.

В диалоговом окне настроки параметров даты и времени снять "галочку" инициирования сервиса синхронизации времени, тем самым останавливая соответствующую системную службу:

Отключение службы синхронизации системного времени Windows.

Отключение службы синхронизации системного времени Windows.

Заново активировать систему синхронизации времени и попытаться его синхронизировать с указанными серверами:

Включение службы синхронизации системного времени Windows.

Включение службы синхронизации системного времени Windows.

[ уже посетило: 360450 / +3 ] [ интересно! / нет ]


Поблагодарить автора ( сделайте свой денежный вклад в хорошее настроение )

date

09.07.2020

directory

Active Directory, Групповые политики

comments

комментариев 36

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

Настройка синхронизации времени в домене с помощью групповых политик состоит из двух шагов:

1) Создание GPO для контроллера домена с ролью PDC
2) Создание GPO для клиентов (опционально)

Настройка политики синхронизации NTP на контролере домена PDC

Этот шаг предполагает настройку контроллера домена с ролью эмулятора PDC на синхронизацию времени с внешним NTP сервером. Т.к. теоретически роль эмулятора PDC может перемещаться между контроллерами домена, нам нужно сделать политику, которая применялась бы только к текущему владельцу роли PDC. Для этого в консоли управления Group Policy Management Console (GPMC.msc), создадим новый WMI фильтр групповых политик. Для этого в разделе WMI Filters создадим фильтр и именем PDC Emulator и WMI запросом: Select * from Win32_ComputerSystem where DomainRole = 5


Затем создайте новую GPO и назначьте ее на контейнер Domain Controllers.


Перейдите в режим редактирования политики и разверните следующий раздел политик: Computer Configuration->Administrative Templates->System->Windows Time Service->Time Providers

Нас интересуют три политики:

  • Configure Windows NTP Client: Enabled (настройки политики описаны ниже)
  • Enable Windows NTP Client: Enabled
  • Enable Windows NTP Server: Enabled



В настройках политики Configure Windows NTP Client укажите следующие параметры:

Совет. Не забудьте настроить межсетевой экран таким образом, чтобы сервер PDC мог получить доступ к внешним NTP серверам по протоколу NTP (UDP порт 123).


Примените созданный ранее фильтр PDC Emulator к данной политике.


Совет. Найти имя сервера с ролью PDC можно с помощью команды: netdom query fsmo

Осталось обновить политики на контроллере PDC:
gpupdate /force

Вручную запустите синхронизацию времени:
w32tm /resync

Проверьте текущие настройки NTP:
w32tm /query /status

Совет. В том случае, если время не синхронизировалось, перезапустите службу времени Windows и сбросьте текущие настройки:
net stop w32time
w32tm.exe /unregister
w32tm.exe /register
net start w32time

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

В среде Active Directory по умолчанию клиенты домена синхронизируют свое время с контролерами домена (опция Nt5DS – синхронизировать время согласно иерархии домена). Как правило, эта схема работает и не требует перенастройки. Однако при наличии проблем с синхронизацией времени на клиентах домена, можно попробовать принудительно назначить сервер времени для клиентов с помощью GPO.

Для этого создайте новую GPO и назначьте ее на контейнеры (OU) с компьютерами. В редакторе GPO перейдите в раздел Computer Configuration -> Administrative Templates -> System -> Windows Time Service -> Time Providers и включите политику Configure Windows NTP Client.


Обновите настройки групповых политик на клиентах и проверьте, что клиенты успешно синхронизировали свое время с PDC.

Согласно протоколу NTP, синхронизация времени возможна следующими способами:

Для разового получения точного времени от NTP-сервера достаточно послать на него SNTP-запрос текущего времени.

Периодическое получение точного времени по запросу обеспечивается регулярным опросом NTP-сервера постоянно запущенной программой (демоном). В UNIX системах существует специальная программа ntpd или xntpd. Windows системы, в зависимости от версии, могут иметь (или не иметь) встроенные средства синхронизации (см. ниже).

Синхронизация по регулярным сигналам точного времени обеспечивается регулярной отправкой NTP-сервером так называемых широковещательных сигналов точного времени - NTP Broadcast. Однако данный метод применим лишь в локальных сетях, поскольку любые широковещательные пакеты не выйдут за пределы раутера сети.

Настройки программ синхронизации времени

Xntpd и ntpd (Berkeley-версия xntpd)

Для настройки демона xntpd (ntpd) достаточно прописать в его конфигурационном файле /etc/ntpd.conf следующие параметры:

server ntp.time.in.ua
server ntp2.time.in.ua

и разумеется не забыть разрешение запуска этого демона. Для FreeBSD это обеспечивается добавлением следующей сроки в файл /etc/rc.conf:

Дополнительные параметры запуска могут быть указаны в переменной ntpd_flags. Дополнительную информацию вы можете получить документацию к xntpd (ntpd) в Вашей системе (man ntpd).

Ntpdate

В UNIX-системах ntpdate используется для единоразовой коррекции системного времени. Обычно эта процедура выполняется при загрузке операционной системы и команда синхронизации может быть следующего вида:

ntpdate -bs ntp.time.in.ua ntp2.time.in.ua

Rdate

В UNIX-системах rdate является простой и легкой командой, которая разово устанавливает время по часам другой машины. В некоторых случаях она вполне может заменить ранее упомянутую ntpdate. Использование и понимание команды не требует больших усилий, строка запуска:

rdate -s ntp.time.in.ua

Timed

timed можно назвать предшественником xntpd, но во многих случаях его оказывается вполне достаточно. Рекомендуемая строка запуска выглядит так:

timed -F ntp.time.in.ua

Встроенные средства Windows 2000

Для запуска синхронизации ОС Windows 2000 необходимо выполнить следующие команды (из командной строки - cmd):

net time /SETSNTP:ntp.time.in.ua net start w32time

После успешного выполнения данных команд необходимо открыть список служб (Администрирование/Службы) и в свойствах Служба времени Windows установить (или убедиться, что параметр имеет верное значение) параметру Тип запуска значение Авто.

Windows 2003, Windows XP и Windows Vista

Для данных версий ОС Windows Вам достаточно открыть окно настройки времени (через Панель управления или часы в системном трее) и на вкладке "Время Интернета" выбрать опцию "Выполнять синхронизацию с сервером времени в Интернете" и в поле "Сервер" указать адрес

Для ОС Windows Vista на вкладке "Время Интернета" необходимо дополнительно нажать кнопку Изменить параметры для открытия окна изменения параметров NTP-сервера.

Тонкая настройка Windows 2003, Windows XP и Windows Vista

Стандартно, интервал обновления времени в Windows достаточно большой - 1 неделя. При достаточно низкой точности системных часов компьютера это слишком большой интервал. При такой настройке за 1 неделю часы Вашего компьютера могут получить погрешность величиной порядка минуты или даже десяка минут. Мы рекомендуем Вам уменьшить данный интервал обновления - до нескольких часов. Это изменение не увеличит ни Вашего трафика, ни нагрузки на NTP-сервер, однако позволит поддерживать точность хода часов Вашего компьютера.

Для этого Вам необходимо внести изменения в системном реестре Windows. Откройте редактор реестра (Пуск -> Выполнить -> "regedit") и найдите раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient. В этом разделе есть параметр - SpecialPollInterval, который как раз и отвечает за период обновления времени в секундах. Поменяйте значение этого параметра, например, на 3600, что будет соответствовать синхронизации времени каждый час. Для того, чтобы эти изменения вступили всилу, выполните команду (из командной строки - cmd)

w32tm /config /update

или перезагрузите компьютер.

Остальные версии Windows (95/98/ME)

Данная программа позволяет указывать несколько NTP-серверов, изменять параметры синхронизации (периодичность синхронизации, точность установки времени, запуск в системном трее) и т.п. Программа имеет достаточно понятный интерфейс и полноценную справку. Единственный совет - программа имеет возможность единоразовой синхронизации с сервером при запуске, завершая свое выполнение. Для отмены данного поведения программы (для возможности изменений настройки) достаточно при запуске исполняемого файла программы удерживать нажатой клавишу Shift клавиатуры.

Общие советы и рекомендации

  • при запуске NTP-демонов нет смысла запрещать обращения к вашему серверу за временем. Большой трафик такие обращения создать не могут, в то же время возможность удаленно контролировать время сервера не помешает Вам же самим;
  • не нужно стремиться за высоким номером стратума (stratum). Стратум имеет весьма отдаленное отношение к надежности или точности часов, изначально стратум вообще задумывался как средство подавления циклов в ntptrace, средство простое и надежное. Приведенные в настоящем тексте рекомендации при использовании нашего NTP-сервера обеспечивают stratum 2. Особое значение имеет стабильность времени, а не его точность с отдаленными NTP-серверами;
  • не ставьте большое количество NTP-серверов, особенно со схожими характеристиками. Переключение программ синхронизации с одного сервера на другой практически всегда означает коррекцию времени, порой достаточно существенную (на несколько десятков или сотен миллисекунд). Переключение на другой NTP-сервер должно происходить только в случае серьезных аварий сети. Даже из предоставляемых нами двух NTP-серверов мы рекомендуем использовать только один (основной, ntp.time.in.ua), а в случае возможности указывать в настройках программ синхронизации времени приоритетного сервера - обязательно выбрать один из серверов как приоритетный.

Надеемся, изложенные тут рекомендации и советы позволят Вам всегда иметь точное время на своём сервере или домашнем компьютере.

Windows10-01

Windows10-11

Windows10-12

Следующий этап, это настройка службы синхронизации времени

Windows10-13

Windows10-14

Windows10-15

Откроется окно настроек

Windows10-16

Windows10-17

Windows10-19

Windows10-20

Следующий шаг, это контроль работы службы, путем просмотра и анализирования журналов

Windows10-21

Windows10-22

Windows10-23

Нажимаем два раза левой клавишей мышки по событию, откроется окно детального описания

Windows10-24

В данном случае в журнале событие успешной синхронизации с внешним NTP сервером

Windows10-25

Теперь проверим на сколько точно работают наши часы

Windows10-26

Windows10-27

Пример выполнения программы

Windows10-29

В данном графике видно, что в 23:46:35 было выполнено первое из 3-х проверочных соединений с внешним сервером NTP, результат показал, что задержка ответа от сервера составляет +00,0007184 секунды, а разница во времени +01,9046067 секунды

Настройка завершена, тестирование показало приемлемые результаты и подтвердило работоспособность службы синхронизации времени в Windows 10.

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Читайте также: