Сервер времени w32tm и как настроить сервер NTP и синхронизацию времени в домене Active Directory

Сервер времени w32tm и как настроить сервер NTP и синхронизацию времени в домене Active Directory

Добрый день уважаемые читатели и гости блога pyatilistnik.org, как много люди говорят о времени, что оно быстро или медленно бежит, и все понимают, что оно бесценно и важно. Так и в инфраструктуре Active Directory, она является одним из важнейших факторов, правильного функционирования домена. В домене все друг другу доверяют, и один раз авторизовавшись и получив все тикеты от Kerberos, пользователь ходит куда угодно, ограничиваясь лишь своими доступными правами. Так вот если у вас не будет точного времени на ваших рабочих станциях к контроллеру домена, то можете считать, что у вас начинаются серьезные проблемы, о которых мы поговорим ниже и рассмотрим как их устранить с помощью настройки NTP сервера в Windows.

Синхронизация времени в Active Directory

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

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

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

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

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

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

Вводим netdom query fsmo. В моем примере, роль PDC и NTP сервера, принадлежит контроллеру dc7

Сервер времени w32tm и как настроить сервер NTP и синхронизацию времени в домене Active Directory

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

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

w32tm /query /configuration

EventLogFlags: 2 (Локально) AnnounceFlags: 10 (Локально) TimeJumpAuditOffset: 28800 (Локально) MinPollInterval: 6 (Локально) MaxPollInterval: 10 (Локально) MaxNegPhaseCorrection: 172800 (Локально) MaxPosPhaseCorrection: 172800 (Локально) MaxAllowedPhaseOffset: 300 (Локально)

FrequencyCorrectRate: 4 (Локально) PollAdjustFactor: 5 (Локально) LargePhaseOffset: 50000000 (Локально) SpikeWatchPeriod: 900 (Локально) LocalClockDispersion: 10 (Локально) HoldPeriod: 5 (Локально) PhaseCorrectRate: 7 (Локально) UpdateInterval: 100 (Локально)

NtpClient (Локально) DllName: C:Windowssystem32w32time.dll (Локально) Enabled: 1 (Локально) InputProvider: 1 (Локально) CrossSiteSyncFlags: 2 (Локально) AllowNonstandardModeCombinations: 1 (Локально) ResolvePeerBackoffMinutes: 15 (Локально) ResolvePeerBackoffMaxTimes: 7 (Локально) CompatibilityFlags: 2147483648 (Локально) EventLogFlags: 1 (Локально) LargeSampleSkew: 3 (Локально) SpecialPollInterval: 3600 (Локально) Type: NT5DS (Локально)

NtpServer (Локально) DllName: C:Windowssystem32w32time.dll (Локально) Enabled: 1 (Локально) InputProvider: 0 (Локально) AllowNonstandardModeCombinations: 1 (Локально)

VMICTimeProvider (Локально) DllName: C:WindowsSystem32mictimeprovider.dll (Локально) Enabled: 1 (Локально) InputProvider: 1 (Локально)

Сервер времени w32tm и как настроить сервер NTP и синхронизацию времени в домене Active Directory

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

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

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

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

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

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

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

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

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

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

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

Настройка NTP сервера и клиента групповой политикой

Раз уж у нас с вами домен Active Directory, то глупо не использовать групповые политики, для массовой настройки серверов и рабочих станций, я покажу как настроить ваш NTP сервер в windows и клиента. Открываем оснастку “Редактор групповых политик”. Перед тем как настроить наш NTP сервер в Windows, нам необходимо создать WMI фильтр, который будет применять политику, только к серверу мастера PDC.

Сервер времени w32tm и как настроить сервер NTP и синхронизацию времени в домене Active Directory

Вводим имя запроса, пространство имен, будет иметь значение “rootCIMv2” и запрос “Select * from Win32_ComputerSystem where DomainRole = 5”. Сохраняем его.

Сервер времени w32tm и как настроить сервер NTP и синхронизацию времени в домене Active Directory

Затем вы создаете политику на контейнере Domain Controllers.

Сервер времени w32tm и как настроить сервер NTP и синхронизацию времени в домене Active Directory

В самом низу политики применяете ваш созданный WMI фильтр.

Сервер времени w32tm и как настроить сервер NTP и синхронизацию времени в домене Active Directory

Сервер времени w32tm и как настроить сервер NTP и синхронизацию времени в домене Active Directory

Тут открываем политику “Настроить NTP-клиент Windows”. Задаем параметры

  • NtpServer: 0.ru.pool.ntp.org,0x1 1.ru.pool.ntp.org,0x1 2.ru.pool.ntp.org,0x1 3.ru.pool.ntp.org,0x1
  • Type: NTP
  • CrossSiteSyncFlags: 2. Двойка означает, если этот параметр равен 2 (Все), можно использовать любого участника синхронизации. Это значение игнорируется, если не задано значение NT5DS. Значение по умолчанию: 2 (десятичное) (0x02 (шестнадцатеричное))
  • ResolvePeerBackoffMinutes: 15. Это значение, выраженное в минутах, определяет интервал ожидания службы W32time перед попыткой разрешения DNS-имени в случае неудачи. Значение по умолчанию: 15 минут
  • Resolve Peer BAckoffMaxTimes: 7. Это значение определяет число попыток разрешения DNS-имени, предпринимаемых службой W32time перед перезапуском процесса обнаружения. При каждом неудачном разрешении DNS-имени интервал ожидания перед следующей попыткой удваивается. Значение по умолчанию: семь попыток.
  • SpecilalPoolInterval: 3600. Это значение параметра NTP-клиента, выраженное в секундах, определяет частоту опроса настроенного вручную источника времени, который использует особый интервал опроса. Если для параметра NTPServer установлен флаг SpecialInterval, клиент использует значение, заданное как SpecialPollInterval, вместо значений MinPollInterval и MaxPollInterval, чтобы определить частоту опроса источника времени. Значение по умолчанию: 3600 секунд (1 час).
:/>  Чтение и запись данных в excel файл из power shell

Сервер времени w32tm и как настроить сервер NTP и синхронизацию времени в домене Active Directory

Делаем отдельную групповую политику для клиентских рабочих машин, вот с такими параметрами.

  • NtpServer: Адрес вашего контроллера домена с ролью PDC.
  • Type: NT5DS
  • ResolvePeerBackoffMinutes: 15

Сервер времени w32tm и как настроить сервер NTP и синхронизацию времени в домене Active Directory

Далее идем на клиента и обновляем групповые политики gpupdate /force и вводим команду w32tm /query /status

Сервер времени w32tm и как настроить сервер NTP и синхронизацию времени в домене Active Directory

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

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

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

Начиная с Windows 2000 все операционные системы Windows включают в себя службу времени W32Time. Эта служба предназначена для синхронизации времени в пределах организации. W32Time отвечает за работу как клиентской, так и серверной части службы времени, причем один и тот же компьютер может быть одновременно и клиентом и сервером NTP (Network Time Protocol).

По умолчанию служба времени в Windows сконфигурирована следующим образом:

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

Такая схема работает в большинстве случаев и не требует вмешательства. Однако структура сервиса времени в Windows может и не следовать доменной иерархии, и надежным источником времени можно назначить любой компьютер. В качестве примера я опишу настройку NTP-сервера в Windows Server 2008 R2, хотя со времен Windows 2000 процедура не особо изменилась.

Запуск NTP сервера

Сразу отмечу, что служба времени в Windows Server (начиная с 2000 и заканчивая 2012) не имеет графического интерфейса и настраивается либо из командной строки, либо путем прямой правки системного реестра. Лично мне ближе второй способ, поэтому идем в реестр.

Итак, первым делом нам надо запустить сервер NTP. Открываем ветку реестра
HKLMSystemCurrentControlSetservicesW32TimeTimeProvidersNtpServer.
Здесь для включения сервера NTP параметру Enabled надо установить значение 1.

Сервер времени w32tm и как настроить сервер NTP и синхронизацию времени в домене Active Directory

Затем перезапускаем службу времени командой net stop w32time && net start w32time

Сервер времени w32tm и как настроить сервер NTP и синхронизацию времени в домене Active Directory

После перезапуска службы NTP сервер уже активен и может обслуживать клиентов. Убедиться в этом можно с помощью команды  w32tm /query /configuration. Эта команда выводит полный список параметров службы. Если раздел NtpServer содержит строку Enabled :1 , то все в порядке, сервер времени работает.

Сервер времени w32tm и как настроить сервер NTP и синхронизацию времени в домене Active Directory

Для того, чтобы NTP-сервер мог обслуживать клиентов, не забудьте на файерволле открыть UDP порт 123 для входящего и исходящего траффика.

Основные настройки NTP сервера

NTP сервер включили, теперь надо его настроить. Открываем ветку реестра HKLMSystemCurrentControlSetservicesW32TimeParameters. Здесь в первую очередь нас интересует параметр Type, который задает тип синхронизации. Он может принимать следующие значения:

NoSync — NTP-сервер не синхронизируется с каким либо внешним источником времени. Используются часы, встроенные в микросхему CMOS самого сервера;
NTP — NTP-сервер синхронизируется с внешними серверами времени, которые указаны в параметре реестра NtpServer;
NT5DS —  NTP-сервер производит синхронизацию согласно доменной иерархии;
AllSync — NTP-сервер использует для синхронизации все доступные источники.

Значение по умолчанию для компьютера, входящего в домен — NT5DS, для отдельно стоящего компьютера —  NTP.

:/>  Как распечатать документ в очереди

И параметр NtpServer, в котором указываются NTP-сервера, с которыми будет синхронизировать время данный сервер. По умолчанию в этом параметре прописан NTP-сервер Microsoft (time.windows.com, 0x1), при необходимости можно добавить еще несколько NTP-серверов, введя их DNS имена или IP адреса через пробел. Список доступных серверов времени можно посмотреть например здесь.

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

0x1 –  SpecialInterval, использование специального интервала опроса ;
0x2 – режим UseAsFallbackOnly;
0x4 – SymmetricActive, симметричный активный режим;
0x8 – Client, отправка запроса в клиентском режиме.

При использовании флага SpecialInterval, необходимо установленное значение интервала в ключе SpecialPollInterval. При значении флага UseAsFallbackOnly службе времени сообщается, что данный сервер будет использоваться как резервный и перед синхронизацией с ним будут выполнятся обращения к другим серверам списка. Симметричный активный режим используется NTP-серверами по умолчанию, а клиентский режим можно задействовать в случае проблем с синхронизацией. Подробнее о режимах синхронизации можно посмотреть здесь, либо не морочиться и просто ставить везде ,0x1 (как советует Microsoft).

Сервер времени w32tm и как настроить сервер NTP и синхронизацию времени в домене Active Directory

Еще один важный параметр AnnounceFlags находится в разделе реестра HKLMSystemCurrentControlSetservicesW32TimeConfig. Он отвечает за то, как о себе заявляет NTP-сервер и может принимать следующие значения:

0x0 (Not a time server) — сервер не объявляет себя через NetLogon, как источник времени. Он может отвечать на NTP запросы, но соседи не смогут распознать его, как источник времени;
0x1 (Always time server) — сервер будет всегда объявлять о себе вне зависимости от статуса;
0x2 (Automatic time server) — сервер будет объявлять о себе только, если он получает надежное время от другого соседа (NTP или NT5DS);
0x4 (Always reliable time server) — сервер будет всегда заявлять себя, как надежный источник времени;
0x8 (Automatic reliable time server) — контроллер домена автоматически объявляется надежным если он PDC-эмулятор корневого домена леса. Этот флаг позволяет главному PDC леса заявить о себе как об авторизованном источнике времени для всего леса даже при отсутствии связи с вышестоящими NTP-серверами. Ни один другой контроллер или рядовой сервер (имеющие по умолчанию флаг 0x2) не может заявить о себе, как надежном источнике времени, если он не может найти источник времени для себя.

Значение AnnounceFlags составляет сумму составляющих его флагов, например:

10=2+8 — NTP-сервер заявляет о себе как о надежном источнике времени при условии, что сам получает время из надежного источника либо является PDC корневого домена. Флаг 10 задается по умолчанию как для членов домена, так и для отдельно стоящих серверов.

5=1+4 — NTP-сервер всегда заявляет о себе как о надежном источнике времени. Например, чтобы заявить рядовой сервер (не домен-контроллер) как надежный источник времени, нужен флаг 5.

Сервер времени w32tm и как настроить сервер NTP и синхронизацию времени в домене Active Directory

Ну и настроим интервал между обновлениями. За него отвечает уже упоминавшийся выше ключ SpecialPollInterval, находящийся в ветке реестра HKLMSystemCurrentControlSetservicesW32TimeTimeProvidersNtpClient. Он задается в секундах и по умолчанию его значение равно 604800, что составляет 1 неделю. Это очень много, поэтому стоит уменьшить значение SpecialPollInterval до разумного значения, скажем до  1 часа (3600).

Сервер времени w32tm и как настроить сервер NTP и синхронизацию времени в домене Active Directory

После настройки необходимо обновить конфигурацию сервиса. Сделать это можно командой w32tm /config /update. И еще несколько команд для настройки, мониторинга и диагностики службы времени:

– при помощи этой опции можно узнать, насколько системное время данного компьютера отличается от времени на контроллере домена или других компьютерах. Например: w32tm /monitor /computers:time.nist.gov
– при помощи этой команды можно заставить компьютер синхронизироваться с используемым им сервером времени.
–  показывает разницу во времени между текущим и удаленным компьютером, причем может выводить результат в графическом виде. Например, команда w32tm /stripchart /computer:time.nist.gov /samples:5 /dataonly произведет 5 сравнений с указанным источником и выведет результат в текстовом виде.

– это основная команда, используемая для конфигурирования службы NTP. С ее помощью можно задать список используемых серверов времени, тип синхронизации и многое другое. Например, переопределить значения по умолчанию и настроить синхронизацию времени с внешним источником, можно командой w32tm /config /syncfromflags:manual /manualpeerlist:time.nist.gov /update
— показывает текущие настройки службы. Например команда покажет текущий источник времени, а w32tm /query /configuration  выведет все параметры службы.

Ну и на крайний случай 🙁
— удаляет службу времени с компьютера.
– регистрирует службу времени на компьютере.  При этом создается заново вся ветка параметров в реестре.

Проверяем текущее состояние службы времени и статус последней успешной синхронизации с NTP-сервером:

Как проверить доступность NTP-сервера с помощью w32tm?

Отсылается 5 запросов на UDP порт 123 NTP-сервера следующим образом:

w32tm /stripchart /computer:DC01.ad.holding.com /dataonly /samples:5

Ответ от NTP-сервера получим примерно такой:

How to sync the time to a public time server using NTP

You need to use the w32tm command.

First check the current settings :

Сервер времени w32tm и как настроить сервер NTP и синхронизацию времени в домене Active Directory

What about the 0x1 parameter ?

  • 0x01 – Use special poll interval Special Interval
  • 0x02 – Use As Fall back Only
  • 0x04 – Send request as Symmetric Active mode
  • 0x08 – Send request as Client mode

To set a new External Time Server like pool.ntp.org use this command :

:/>  ИСПРАВЛЕНИЕ: Произошла ошибка во время синхронизации Windows с - gadgetshelp,com

net stop w32time

w32tm /config /manualpeerlist:pool.ntp.org /syncfromflags:MANUAL

net start w32time

w32tm /resync

This is the configuration :

Сервер времени w32tm и как настроить сервер NTP и синхронизацию времени в домене Active Directory

These are all the command line switches :

w32tm /tz
Display the current time zone settings.

Now that you set the server to properly sync you can use this one as internal NTP server for other devices.

Keep in mind to set the firewall UDP 123 rules to accept.

More info see here

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

Почему синхронизация времени — это важно?

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

Кроме простого и удобного сайта мы предлагаем всем желающим бесплатный сервер по синхронизации точного времени. С помощью наших баз данных и технологий можно настроить автоматическую синхронизацию времени на компьютерах и ноутбуках на Windows и Linux (Ubuntu), а также смартфонах, планшетах и других гаджетах на Android и iOS. Таким образом, при подключении к интернету время на любом из устройств будет автоматически настраиваться с точность до секунды.

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

Точное время на компьютере

Базовой задачей любого современного устройства — от смартфона до компьютера — является подсчет времени. Без этой фундаментальной функции выполнение компьютером какой-либо задачи невозможно в принципе. Аппаратная и программная составляющая устройств построена на том, чтобы сначала отсчитывать время, а только потом выполнять возложенную на них задачу.

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

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

Автоматическая синхронизация времени NTP

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

Для передачи необходимых данных операционная система использует специальный сетевой протокол NTP — “Network Time Protocol” или “Протокол сетевого времени”. Данным протоколом учитывается длительность задержки между отправкой запроса на сервер и получением ответа от него. Благодаря этому принципу функционирования NTP даже при низкой скорости работы интернета на пользовательском компьютере будет установлено точное время с погрешностью не более 10 миллисекунд (1/100 секунды).

Что такое сервер синхронизации времени?

Сервер синхронизации времени (или сервер точного времени, NTP-сервер) — сервер, в задачу которого входит формирование и отправка пакета данных, в котором и содержится информация о текущем времени того региона, где физически расположен компьютер.

Здесь автоматически напрашивается вопрос: “Откуда сам NTP-сервер получает данные о времени в той или иной точке земного шара?” Все очень просто — NTP-сервер получает нужные данные от государственных служб точного времени или других источников. Последние, в свою очередь, сверяются по времени с реально действующими “Эталонами времени” — сложными комплексами, состоящими из множества технических систем и приборов измерения времени.

Синхронизация времени через TimeServer

В настоящий момент существует большое количество бесплатных NTP-серверов. Одним из самых популярных в России и во многих других странах мира является сервер точного времени TimeServer. Основные преимущества сервера:

  • Возможность синхронизации со временем всех стран и городов мира.
  • Минимально возможная погрешность (сервер осуществляет синхронизацию времени с атомным эталоном времени).
  • Высокая скорость обработки данных независимо от количества подключенных к серверу компьютеров.

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

Приведем пошаговую инструкцию настройки синхронизации времени с NTP-сервером TimeServer.