0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Для системного администратора

Для системного администратора

headermask image

В данной статье мы рассмотрим как настроить NTP в Windows Server 2012. В статье не рассматриваются подробная настройка синхронизации времени в доменном окружении, а настройка единичного контроллера домена с ролью эмулятора PDC, который единственный сервере в окружении выполняет синхронизацию с внешним источником времени.

Настройка очень проста. Все что нужно сделать это выполнить следующие команды в PowerShell:

w32tm /config /manualpeerlist:pool.ntp.org /syncfromflags:MANUAL
Stop-Service w32time
Start-Service w32time

Если контроллер виртуализирован средствами Hyper-V нужно не забыть отключить синхронизацию времени средствами Hyper-V. Откройте настройки виртуальной машины -> Management -> Integration Services и снимите чекбокс с Time Synchronization.

На этом все! Хотите узнать больше? Что-то не работает? Тогда разберем более подробно…

W32tm это основная используемая нами команда. Есть ещё варианты, использующие "net time", но на самом деле использовать эту конструкцию нет необходимости. В некоторых статья также упоминается прямое редактирование реестра, однако в Microsoft советуют не делать этого в любом случае, а только если нет совершенно никакой другой альтернативы. Но если вам очень хочется редактировать реестр, нужная вам ветка находиться тут:  HKLMSystemCurrentControlSetServicesW32Time.

Какой NTP сервер использовать? Или лучше несколько?

pool.ntp.org это round-robin рандомных NTP серверов.  Для конечных пользователей этого адреса более чем достаточно. Однако в случае необходимости вы можете указать вручную несколько серверов:

w32tm /config /manualpeerlist:"ntp1.sp.se ntp2.sp.se" /syncfromflags:MANUAL

Просто добавьте нужные вам сервера с пробелом между ними.

Не забудьте про файервол

Если у вас есть файервол между хостом и интернетом, он может быть настроен на запрет udp/123 по которому работает протокол NTP. Вот как это выглядит на моей Cisco ASA FW:

NTP_2012_1

Поэтому я создал отдельное правило, разрешающее данный трафик.

NTP_2012_2

Подробная информация и логирование

Данная команда показывает полезную информацию о настройке синхронизации, списке серверов и времени последней синхронизации.

Обычно когда сервер не может получить время с NTP сервера в лог записывается следующая информация:

Log Name: System
Source: Microsoft-Windows-Time-Service
Event ID: 47
Level: Warning
Description: Time Provider NtpClient: No valid response has been received from manually configured peer pool.ntp.org after 8 attempts to contact it. This peer will be discarded as a time source and NtpClient will attempt to discover a new peer with this DNS name. The error was: The peer is unreachable.

Когда все нормально сообщение выглядит следующим образом:

Log Name: System
Source: Microsoft-Windows-Time-Service
Event ID: 35
Level: Information
Description: The time service is now synchronizing the system time with the time source pool.ntp.org (ntp.m|0×0|0.0.0.0:123->85.10.240.253:123).

Вы все ещё испытывает какие то проблемы?  Вы можете легко включить вывод отладочной информации в логфайл, который в моем случае лимитирован 10-тью мегабайтами и включает все отладочные записи.

w32tm /debug /enable /file:C:Tempw32tmdebug.log /size:10485760 /entries:0-300

После завершения отладки выключаем её:

В случае проблем в логе вы увидите большое количество информации. У меня, когда все работает об этом сигнализирует следующая запись:

— Reachability:  peer pool.ntp.org (ntp.m|0×0|0.0.0.0:123->129.70.132.35:123) is reachable.
— Logging information: NtpClient is currently receiving valid time data from pool.ntp.org (ntp.m|0×0|0.0.0.0:123->129.70.132.35:123).

А когда мой файервол блокировал пакеты я получал следующие сообщения.

— Logging error: NtpClient has been configured to acquire time from one or more time sources, however none of the sources are currently accessible and no attempt to contact a source will be made for 1 minutes. NTPCLIENT HAS NO SOURCE OF ACCURATE TIME.

Принудительная синхронизация

Если вам необходимо принудительно синхронизировать клиента, запустите команду:

w32tm /resync
Sending resync command to local computer
The command completed successfully.

Если вы получили следующую ошибку, значит компьютер не может достичь NTP сервера.

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

Начнем с начала

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

Stop-Service w32time
w32tm /unregister
w32tm /register

Этот пост November 12, 2012 at 3:38 pm опубликовал molse в категории Windows Server 2012, Сетевые протоколы. Желающие могут оформить RSS подписку на комменты. Both comments and trackbacks are currently closed.

2 комментов оставлено (Add 1 more)

сервис службы времени(как и любой другой) можно перезапустить командлетом Restart-Service w32time

Ахтунг товарищи !
если разница между серверо ntp и клиентом больше ,вроде 15 часов. /resynce даст ошибку!
те для теста лучше выставить дату(это тоже критично!) и время руками но с погрешность на пару минут.

Синхронизация времени на компьютере с интернетом — автоматизация настройки

Существует несколько способов, как синхронизировать время на компьютере с интернетом Windows 10. Но не все из них дают постоянный эффект. Некоторые варианты позволяют восстановить часы лишь на определенный период, по истечении которого система начинает работать неправильно и автоматически осуществляется перевод на несколько часов в одну или другую сторону.

Принцип синхронизации времени

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

Читайте так же:
Регулировка клапанов техас 532

Стандартный способ настройки синхронизации

Как синхронизировать

Если на Windows 10 синхронизация времени через интернет проводится единовременно, то для этого необходимо соблюдать следующую последовательность действий:

  1. Навести курсор на время и нажать левую кнопку мыши.
  2. Открыть раздел «Настройки даты и время».
  3. В открывшемся окне найти блок «Синхронизация часов».
  4. Нажать на кнопку «Синхронизировать».

После этого на компьютере будет выставлено значение с сервера Виндовс.

Как уменьшить интервал обновления времени

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

Чтобы запустить реестр, необходимо в окне командной строки ввести «regedit» и нажать Enter. Далее нужно открыть ветку HKEYLM и перейти по пути: SYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpClient. Далее нужно найти параметр SpecialPollInterval, который по стандарту будет равен 604800, что равно количеству секунд в одной неделе. Этот параметр нужно изменить на другой, который будет меньше, например, на 3600, что равно одному часу. Это значит, что система сможет автоматически проводить обновление каждый час. Когда нужное значение введено, требуется указать в командную строку следующую комбинацию: net stop w32time && net start w32time.

 Ввод периода обновления в секундах

Устанавливать более частое обновление не рекомендуется. Причина в том, что из-за слишком частых отправок запросов защитная система сервера может заблокировать IP-адрес пользователя. Также не следует выставлять период более суток, так как это будет влиять на точность показа времени системных часов.

Автоматизация функции

Если вручную процедуру синхронизации приходится часто проводить, то можно автоматизировать это действие. Потребуется включить опцию «Установить время автоматически» в настройках «Дата и время». Тогда сервера будут проводить проверки точности часов на ПК без участия пользователя.

Обратите внимание! Даже если основной сайт для получения точных данных отключен или недоступен, то система автоматически будет подключаться к дополнительным серверам.

Средства командной строки

Чтобы избавиться от необходимости поиска необходимых средств для управления функциями компьютера, можно воспользоваться командной строкой. Она позволит выполнить действие без дополнительных кликов. Все что потребуется — ввести несколько команд.

Чтобы синхронизировать время таким способом, необходимо открыть командную строку, нажать на строку поиска (находится рядом с кнопкой «Пуск») и ввести «Командная строка».

Обратите внимание! Вызвать командную строку можно сочетанием клавиш WIN+R.

В открывшемся окне нужно ввести «cmd» и нажать Enter. Теперь пользователь сможет изменить настройки сервера, откуда будут загружаться данные о точном значении. Для этого вводятся три команды:

  1. установка определенного сервера, с которым будет синхронизироваться компьютер:
    w32tm/config/manualpeerlist: [адрес сервера синхронизации]/syncfromflags:manual/reliable:yes
  2. подтверждение изменений настроек для службы Виндовс:
    w32tm/config/update
  3. перезапуск службы для корректной работы:
    net stop w32time && net start w32time

Но существует и облегченный способ применения такого метода синхронизации.

Облегченный метод

Открытая политика операционной системы Windows позволяет расширять ее функционал при помощи сторонних приложений. Поэтому при возникновении сложностей при настройке параметров синхронизации можно использовать дополнительное ПО.

 Одна из программ изменения времени Atomic Clock Sync

Все что потребуется — найти программу, установить ее и указать в ней необходимые данные, после чего все действия, описанные выше, будут произведены без вмешательства пользователя. Такие программы могут действовать даже лучше встроенных инструментов Виндовс. При определении времени будет учитываться задержка, которая имеется из-за необходимости передачи пакетов данных через интернет.

Недокументированные настройки

Но не все возможности открываются для пользователей. Так есть настройки, которыми можно воспользоваться только при помощи специальных программ или вручную, открывая реестр. Одной из таких возможностей является установка периода обновления для синхронизации с сервером.

Локальная сеть

Установка единого времени возможна и в локальной сети, когда компьютеры подключены друг к другу. Тогда одно из устройств выступает в качестве сервера ориентира. Способ синхронизации в локальной сети будет аналогичным, что и при подключении к интернет-серверу. Для начала работы потребуется запустить сервер NTP на ПК, который будет устанавливать значение для остальных подсоединенных устройств.

Обратите внимание! Главный компьютер, с которого раздается время по сети, рекомендуется синхронизировать с сервером Виндовс через интернет.

Для этого нужно открыть реестр и пройти по пути: HKLMSystemCurrentControlSetservicesW32TimeTimeProvidersNtpServer. Здесь нужно изменить значение напротив Enabled на 1, после чего принудительно перезапустить службу Виндовс в командной строке при помощи net stop w32time, а после ввести net start w32time.

 Окно ввода значения 1

Компьютер, на котором была проведена эта процедура, становится ориентиром для остальных устройств, подключенных к локальной сети. Он должен всегда быть активным, а также потребуются постоянные проверки работоспособности этого ПК. Узнать, активен ли сервер в данный момент, можно с любого из компьютеров, подключенных к сети. Для этого нужно ввести команду w32tm/query/configuration. Если система работает, то высветится значение «1».

Читайте так же:
Как отрегулировать клапана на k20a

Популярные серверы

Кроме стандартных серверов онлайн, предоставляемых Виндовс, можно работать и с другими источниками корректного времени. Среди серверов можно отметить три представителя самых используемых.

NTP-Servers

На главной странице одноименного сайте с доменом .net пользователь сразу увидит, сколько составляет задержка на его компьютере с серверами от NTP-servers. Найти активные сервера можно на соответствующей вкладке. Регистрироваться на сайте не потребуется. Лучше всего подойдет для жителей России.

 Список серверов NTP-Servers

Сервера представляют собой аппаратно-программный комплекс, который располагается в российском городе Саратове. Все предоставляемые адреса делятся на два яруса. Первый — эталоны времени, второй — сервера, которые синхронизированы с первым ярусом. Из-за предельно малой задержки разницы в показателях нет.

NTP Pool Project

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

Обратите внимание! Так как ресурс продолжает развиваться, ему требуются новые сервера, которыми могут поделиться сами пользователи.

Time in UA

Сервис точного времени, ориентированный на жителей Украины. Работа осуществляется по стандартным протоколам NTP и SNTP. Всего предлагают три адреса для получения данных.

Обратите внимание! Являются участниками проекта NTP Pool Project, о котором рассказывалось выше.

Предотвращение проблем

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

  • Часы через какой-то промежуток начинают отставать. Проблема может быть в батарее CMOS. Если она ослабела, то ее нужно заменить на новую.
  • Время меняется после перезагрузки компьютера. В таком случае приоритетным источником данных является BIOS, именно там и нужно изменить настройки времени и даты.
  • Синхронизация не помогает изменить время. Тогда необходимо поменять интервал обновления.
  • Часы сбрасывают изменения во времени. Скорее всего проблема в неправильно выставленном часовом поясе или дате.

 Время в BIOS

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

Настройка синхронизации времени windows 7 cmd

Hадо на компьютеpе иметь точное вpемя. Использовать
синхpонизацию из вкладки «Вpемя Интеpнета» меню часов
(Свойства: Дата и вpемя) не подходит — в ноpмальном
pежиме оно pассчитано на автоматическую синхpонизацию
1 pаз в неделю и тpебует постоянное подключение к Интеpнету.
До постоянного подключения к Интеpнету мы еще не доpосли,
тут телефонный модем и ДиалUР, да и синхpонизации
pаз в неделю недостаточно.
Потому галочка «Выполнить синхp. с сеpвеpом в Интеpнете»
в этом меню у меня не стоит.

Да, можно в pучную делать синхpонизацию, поставив эту
галочку и нажимая кнопку «Обновить сейчас». Hо хочется
это дело автоматизиpовать. Т.е., пpи дозвоне модемом
и соединении с Инетом некотоpых пpогpамм, котоpым нужно
очень точное вpемя, запускается некий bat файл, в котоpом
записаны команды синхpонизации для случая командной стpоки.
Такой bat файл написан и вот эти команды в нем:
——————————————————————-
w32tm /config /syncfromflags:manual /manualpeerlist:time-a.nist.gov
Sleep-m 20
w32tm /config /update
——————————————————————-
PS. Sleep-m это мой небольшой exe_шник, делающий
в bat-файле паузу на количество секунд указанных
в атpибуте; в данном случае 20 сек.
Да, «голь на выдумки хитpа», пpишлось в свое вpемя
сочинить такой exe_шник, т.к. тот, кто помнит pазвитие
команд стаpенького добpого DOS, знает, что с некотоpой
его веpсии не стало команды «Pause xx», а осталась
только команда пpосто «Pause». Вот и пpишлось
сочинить аналог «Pause xx». 🙂

В данном случае пауза на 20 сек. (цифpа подобpана
экспеpиментально и зависит от скоpости Интеpнета)
нужна после пеpвой команды пеpед выполнением втоpой,
чтобы пеpвая команда не только была запущена, но и
успел бы пpидти pезультат ее действия от сеpвеpа
точного вpемени в Интеpнете. Жаль, у команды w32tm
нет (во всяком случае мне такое неизвестно) кодов
возвpата ошибок pезультата ее выполнения — можно
бы было вместо паузы сделать цикл, что более
пpавильно.

Все это pаботает, уже тpетий день, вpемя синхpонизиpуется!
Hо есть одно HО — после выполнения этих команд
пpинудительно ставится галка в пункте меню:
«Выполнить синхp. с сеpвеpом в Интеpнете». После чего
внутpенняя система синхpонизации вpемени Win-XP уже
пpи отключенном Интеpнете начинает со стpашной
силой ломится на удаленный сеpвеp точного вpемени,
указанный в окошке поле этой галочки, для того, чтобы
немедленно выполнить автоматическую синхpонизацию.
И в системном жуpнале Win-XP плодится куча кpасных
записей от службы вpемени W32Time. 🙁

Как из того же bat файла, после выполнения им
синхpонизации, сказать Win-XP, чтобы он не ставил
эту пpоклятую галочку, не ломился на сеpвеp точно
вpемени и заткнулся бы со своими ошибками?

Может у кого есть и дpугие способы синхpонизовать
часы с Инетом не тpогая внутpеннюю систему
синхpонизации в Win-XP? Hапpимеp, с помощью каких
то небольших пpогpамм, написанных специально для
этой цели. Знаю, что такие есть, в свое вpемя их
пpименяли в Win-2000, но как назывались и где
взять уже не помню.

Читайте так же:
Регулировка карбюратора подвесного лодочного мотора sea pro

Пока. Arkady. 18 Сен 07 10:47 Loc.

Hello, Arkady!
You wrote to All on Tue, 18 Sep 2007 10:46:12 +0600:

AG> Hадо на компьютеpе иметь точное вpемя. Использовать
AG> синхpонизацию из вкладки «Вpемя Интеpнета» меню часов
AG> (Свойства: Дата и вpемя) не подходит — в ноpмальном
AG> pежиме оно pассчитано на автоматическую синхpонизацию
AG> 1 pаз в неделю и тpебует постоянное подключение к Интеpнету.
AG> До постоянного подключения к Интеpнету мы еще не доpосли,
AG> тут телефонный модем и ДиалUР, да и синхpонизации
AG> pаз в неделю недостаточно.
AG> Потому галочка «Выполнить синхp. с сеpвеpом в Интеpнете»
AG> в этом меню у меня не стоит.

AG> Да, можно в pучную делать синхpонизацию, поставив эту
AG> галочку и нажимая кнопку «Обновить сейчас». Hо хочется
AG> это дело автоматизиpовать. Т.е., пpи дозвоне модемом
AG> и соединении с Инетом некотоpых пpогpамм, котоpым нужно
AG> очень точное вpемя, запускается некий bat файл, в котоpом
AG> записаны команды синхpонизации для случая командной стpоки.
AG> Такой bat файл написан и вот эти команды в нем:
AG> ——————————————————————-
AG> w32tm /config /syncfromflags:manual /manualpeerlist:time-a.nist.gov
AG> Sleep-m 20
AG> w32tm /config /update
AG> ——————————————————————-

AG> Может у кого есть и дpугие способы синхpонизовать
AG> часы с Инетом не тpогая внутpеннюю систему
AG> синхpонизации в Win-XP? Hапpимеp, с помощью каких
AG> то небольших пpогpамм, написанных специально для
AG> этой цели. Знаю, что такие есть, в свое вpемя их
AG> пpименяли в Win-2000, но как назывались и где
AG> взять уже не помню.

net time /?
даю подсказку — ping возвращает errorlevel + шедулер каждые 5 минут

Страна Админа

За 2020 год из пары десятков тысяч посетителей, набралось всего пару десятков перечислений от 50 до 300 рублей.

Пустяк в денежном выражении, но большая ценность для автора. Посмотрим что год грядущий нам готовит ))

Сумма абсолютно не важна — главное участие.

NTP в домене Windows

Текст:

Казалось бы, по теме синхронизации времени в домене Windows написаны десятки подробных статей статей, например, качественная How the Windows Time Service Works.

Но пытаясь объяснить поведение ОС при изменении части настроек столкнулся с большими затруднениями — в статьях оказалось много пробелов, а местами и неточностей. На опыты и уяснение их результатов ушло несколько дней. Надеюсь статья поможет вам сэкономить время и посвятить его более приятным занятиям.

Начнем. Зачем нам в домене нужно точное время на всех компьютерах?

Во-первых из-за Kerberos. Компьютер начинает проверку своей подлинности на контроллере с посылки Authentication Service Request (AS_REQ). Составной частью пакета является зашифрованная отметка времени. На котроллере домена отметка времени сравнивается с текущим временем системы и при разнице более 300 секунд запрос отклоняется. Эта мера безопасности затрудняет передачу измененных AS_REQ.

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

Если в первом случае, достаточно синхронизировать время внутри домена, то во втором необходима также синхронизация с внешним источником точного времени. Это может быть собственный NTP сервер, построенный на базе устройств спутниковой навигации GPS или ГЛОНАСС. Но обычно используются бесплатные NTP сервера доступные в Интернет.

В теории все получается просто, при вводе в домен на компьютерах автоматически настраиваются параметры и все клиентские станции начинают синхронизировать свое время с домен контроллером на котором они прошли аутентификацию. В свою очередь контроллеры домена синхронизируются с контроллером на котором находится FSMO роль PDC. По умолчанию, PDC синхонизируется с time.windows.com и его необходимо вручную настроить на нужный источник. Чтобы разобраться в текущей ситуации, можно последовательно выполнить команду

w32tm /query /peers

на рабочей станции, на домен контроллере с которого она берет время и на PDC.

Поняв текущую схему, можно переходить к изменениям настроек. Здесь нужно понимать, что есть сервис Windows Time (W32Time) и его субкомпонент который переводит часы на компьютере или изменяет их тактовую частоту. Сейчас мы будем говорить о настройках W32Time касающихся работы с NTP серверами.

Настройки расположены в двух разделах реестра:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32Time

HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftW32Time

При установке ОС создается только первый раздел, второй появляется при применении локальной или доменной политики и имеет приоритет. Из командной строки настройки Windows Time можно помотреть командой w32tm /query /configuration. Причем, настройки взятые из первого раздела будут отображаться с отметкой (Local), из второго с отметкой (Policy).

Настройки достаточно подробно описаны в Windows Time Service Tools and Settings. У меня, сложности вызвал, параметр HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParametersNtpServer

Читайте так же:
Регулировка холостого хода тнвд бош своими руками

Он представляет собой перечисление NTP серверов с которыми может синхронизироваться данный сервер. Каждый сервер представляет собой IP адрес или DNS имя, а также флаг, относящийся к данному NTP серверу. Флаг следует после имени сервера и отделяется от него запятой. Сервера в строке разделяются пробелами. (Внимание. Допустим только один пробел, двойной пробел считается концом строки и имена серверов после него не рассматриваются).

ntp1.vniiftri.ru,0x02 ntp2.vniiftri.ru,0x02 ntp3.vniiftri.ru,0x02 ntp4.vniiftri.ru,0x02

Используется два основных флага 0x01 и 0x02.

0x01 SpecialInterval

От этого флага зависит как будет Windows Time использоват параметры:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpClientSpecialPollInterval

Если данный флаг присутствует, то сервер NTP будет опрашиваться через заданный параметром SpecialPollInterval период времени (секунды).

При отсутствии флага будет использоваться динамический интервал, ограниченный параметрами MinPollInterval и MaxPollInterval (двоичный логарифм от секунд, например, значение параметра 6 значит опрос сервера будет происходит через 2 в степени 6 = 64 секунды).

Посмотреть интервалы опроса и время оставшееся до следующего опроса можно командой w32tm /query /peers — строки PeerPoll Interval и Time Remaining.

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

Имеются неожиданные последствия, если все сервера указать с данным флагом — они перейдут в статус Pending. Если выполнить команду w32tm /monitor то можно увидеть, что RefId изменился на ‘LOCL’ [0x4C434F4C]. То есть, сервер не стал синхронизироваться с внешними NTP и выбрал источником синхронизации Local CMOS Clock (идентификатор этого источника 0x4C434F4C). С таким сервером часть клиентов синхронизироваться не будет, например, UNIXы в зависимости от настроек.

0x02 UseAsFallbackOnly

По моему мнению, данный флаг сделан специально для запутывания процесса. Предполагается, что помеченные этим флагом сервера будут опрашиваться только в случае неудачного опроса основных серверов (без флага 0x02). Но на практике реакция на данный флаг непредсказуема.

Я рекомендую не указывать никаких флагов, а просто задать имена серверов разделенные пробелами:

ntp1.vniiftri.ru ntp2.vniiftri.ru ntp3.vniiftri.ru ntp4.vniiftri.ru

и управлять частотой опроса через параметры MinPollInterval и MaxPollInterval

Все настройки сделанные в реестре вручную либо через политику вступают в силу после рестарта сервиса W32Time.

Собственно все, про NTP, в реализации от Микрософт.

Теперь немного о субкомпоненте (clock discipline subcomponent) который переводит локальные часы системы или изменяет их тактовую частоту в соответствии с данными NTP.

Он также настраивается через реестр, выше была приведена статья с описанием настроек, к данному субкомпоненту относятся:

FrequencyCorrectRate
HoldPeriod
LargePhaseOffset
MaxAllowedPhaseOffset
MaxNegPhaseCorrection
MaxPosPhaseCorrection
PhaseCorrectRate
PollAdjustFactor
SpikeWatchPeriod
UpdateInterval

В большинстве случаев их изменение не требуется.

Но иногда таки приходится.

Например, параметр MaxAllowedPhaseOffset (по умолчанию 300 секунд) управляет способом перевода локальных часов. Если расхождение между локальным временем и NTP источником меньше MaxAllowedPhaseOffset то W32Time пытается скорректировать время изменением тактовой частоты часов. Если — больше то локальное время переводится согласно полученному от NTP сервера.

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

Лучше попробовать способ с изменением тактовой частоты, для этого в первую очередь нужно установить MaxAllowedPhaseOffset = 350. Это необходимое, но недостаточное условие. Также должно выполнятся соотношение:

|CurrentTimeOffset| / (PhaseCorrectRate*UpdateInterval) < SystemClockRate / 2

SystemClockRate получим командой w32tm /query /status /verbose строка вывода ClockRate: 0.0156250s переведем секунды в такты ОС (1ms = 10000 тактов): 0.0156250s*1000*10000 = 156250 тактов.

В XP w32tm /query еще не поддерживается и значение SystemClockRate можно взять из реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfigLastClockRate

Выполняем команду w32tm /query /configuration — берем строки вывода UpdateInterval: 100 и PhaseCorrectRate: 1 (можно взять эти же значения из реестра).

UpdateInterval — по единицам измерения данной величины в источниках от Микрософт есть противоречие. В вышеприведенной статье указано, что величина измеряется в тактах и ее нужно подставлять в формулу как есть. В описании групповой политики единица измерения указана 1/100 секунды. В микрософтовском примере значение UpdateInterval используется без пересчета (по моим опытам это действительно так). PhaseCorrectRate — скалярная величина используем ее как есть.

Подставляем в условие:

|3200 000 000| / (1*100) < 156250 / 2

32 000 000 < 78125 не выполняется.

Подберем значение UpdateInterval с которым условие будет выполняься = 40960. Сделаем запас и установим UpdateInterval = 45000.

|3200 000 000| / (1*45000) < 156250 / 2

71111 < 78125 второе условие выполнено.

Изменяем значение UpdateInterval в реестре, перезапускаем сервис W32Time. Устраняем причину неработоспособности NTP (если необходимо выполняем w32tm /resync) и . локальные часы начинают плавно синхронизироваться, путем корректировки тактовой частоты.

Комментарии

Сегодня столкнулся с

Опубликовано 25 апреля, 2016 — 16:03 пользователем manager

Сегодня столкнулся с проблемой — все сконфигурировано правильно, но время не синхронизируется.

Оказалось, что NTP сервера ntp*.vniiftri.ru блокируют трафик от определенных Интернет провайдеров.

Выявить такие ситуации можно анализируя сетевой трафик, например с помощью Network Monitor. Будет видно, что ваш сервер посылает правильный запрос, а в ответ ему ничего не приходит.

Читайте так же:
Как регулировать клапана на 16v

P.S. Аналогично time.windows.com и часть серверов ru.pool.ntp.org

Да, внутренние настройки —

Опубликовано 27 марта, 2018 — 09:28 пользователем Николай (не проверено)

Да, внутренние настройки — это хорошо, но и это очень важный момент:

«Допустим, что в вашем домене, по какой-либо причине, в течении длительного времени не было синхронизации с внешним NTP. Обнаружив проблему вы видите, что разница составляет 320 секунд.»

Проблема как раз в обнаружении проблемы. Я на простом домашнем компе написал батник, который синхронизирует время и засунул ярлык в автозагрузку. Когда внешне всё в порядке, то всё нормально синхронизируется. После этого службу даже можно остановить, чтобы не путалась под ногами. А если внешний сервер отвалится? w32tm об этом сообщит и завершит работу вроде бы штатно, при этом errorlevel=0. И окно cmd закроется, тем более, что оно у меня вообще свёрнуто. И я буду думать, что синхронизация продолжается. А как сделать так, чтобы неудачная попытка синхронизации изменяла поведение батника?

На вопрос так как он

Опубликовано 28 марта, 2018 — 17:52 пользователем manager

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

1. служба w32time остается включенной и настраивается на требуемый режим синхронизации, под ногами она совершенно не путается, это не какой-нибудь там windows search или diagnostic policy

2. в task scheduler регулярно запускается bat файл сверяющий время на локальном компьютере и ntp сервере при помощи команды w32tm /stripchart /computer:ntp1.vniiftri.ru /dataonly /samples:2

вывод там будет такой

The current time is 28.03.2018 17:40:53.
17:40:53, +00.3551899s

его можно распарсить и при расхождении во времени больше заданного выдавать оповещение

А как синхронизировать время

Опубликовано 12 апреля, 2018 — 10:32 пользователем Bob (не проверено)

А как синхронизировать время на сетевых устройствах (принтера, свитчи, камеры) с контроллером домена? Их в домен не добавить и реестра у них нет.

Клиентом может быть любое

Опубликовано 12 апреля, 2018 — 10:48 пользователем manager

Клиентом может быть любое устройство поддерживающее протокол NTP.

Вводить в домен не обязательно.

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

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

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

NTP-протокол синхронизации времени по сети даёт возможность настроить оборудование прямо через Интернет. Фактически процедура сводится в нескольким этапам: клиент запрашивает время на сервере и использует полученную информацию для часов на собственном оборудовании.

Особенности синхронизации времени с NTP-сервером

Кажущаяся простота процесса скрывает в себе много незаметных тонкостей и процедур. Так, например, существуют разные уровни NTP-сервера.

Серверы 1 уровня подключены непосредственно к атомным часам и обеспечивают максимально точную информацию. Серверы 2 и 3 уровней работают от серверов 1 уровня и могут выдавать информацию с небольшими погрешностями, которые неактуальны для обычных пользователей, но могут оказаться существенными для промышленных и специализированных систем.

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

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

Чтобы синхронизировать время с NTP-сервером, необходимо выбрать источник. Процедура стандартной настройки синхронизации времени с сервером точного времени состоит из следующих действий:

  • на межсетевом экране запускается стандартный NTP-порт с разрешением на входящие и исходящие соединения;
  • определяется рабочий пдс-сервер (запись в командной строке: C:>netdom /query fsmo);
  • останавливается работа службы Windows Time (запись в командной строке: C:>net stop w32time);
  • проводится настройка внешнего источника времени (запись в командной строке: C:> w32tm /config /syncfrom _(источник)_);
  • активируется доступ для клиентов к домену (запись в командной строке: C:>w32tm /config /reliable:yes);
  • запускается служба Windows Time (запись в командной строке: C:>net start w32time).

Служба времени после вышеуказанных действий начнёт синхронизацию времени с указанным внешним источником. Установленный внешний сервер точного времени можно посмотреть с помощью записи в командной строке C:>w32tm /query /configuration.

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector