Windows server 2019 синхронизация времени

Обновлено: 04.07.2024

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

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

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

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

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

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

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

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

EventLogFlags: 2 (Локально)

AnnounceFlags: 10 (Локально)

JumpAuditOffset: 28800 (Локально)

MinPollInterval: 6 (Локально)

MaxPollInterval: 10 (Локально)

MaxNegPhaseCorrection: 172800 (Локально)

MaxPosPhaseCorrection: 172800 (Локально)

MaxAllowedPhaseOffset: 300 (Локально)

FrequencyCorrectRate: 4 (Локально)

PollAdjustFactor: 5 (Локально)

LargePhaseOffset: 50000000 (Локально)

SpikeWatchPeriod: 900 (Локально)

LocalDispersion: 10 (Локально)

HoldPeriod: 5 (Локально)

PhaseCorrectRate: 7 (Локально)

UpInterval: 100 (Локально)

DllName: C:Windowssystem32w32.dll (Локально)

Enabled: 1 (Локально)

InputProvider: 1 (Локально)

CrossSiteSyncFlags: 2 (Локально)

AllowNonstandardModeCombinations: 1 (Локально)

ResolvePeerBackoffMinutes: 15 (Локально)

ResolvePeerBackoffMaxs: 7 (Локально)

CompatibilityFlags: 2147483648 (Локально)

EventLogFlags: 1 (Локально)

LargeSampleSkew: 3 (Локально)

SpecialPollInterval: 3600 (Локально)

Type: NT5DS (Локально)

DllName: C:Windowssystem32w32.dll (Локально)

Enabled: 1 (Локально)

InputProvider: 0 (Локально)

AllowNonstandardModeCombinations: 1 (Локально)

DllName: C:WindowsSystem32vmicprovider.dll (Локально)

Enabled: 1 (Локально)

InputProvider: 1 (Локально)

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

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

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

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

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

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

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

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

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

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

Полезные команды

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

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

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

Переходим в ветку: Конфигурация компьютера > Политики > Административные шаблоны > Система > Служба времени Windows > Поставщики времени.

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

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

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

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

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

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

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

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 Service-> Providers

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

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

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

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

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

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

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

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

Set NTP Server Windows 2016 or Windows 2019

What is NTP?

Wen it comes to synchronizing in most enviornments, Network Protocol (NTP) is the protocol that is used to ensure accurate across your environent. In most environments, NTP servers, special servers, are configured that provide an external source for which your internal servers can synchronize with.

There are a few NTP values to be aware of:

How is synchronized in a Windows Server domain

In a Windows domain, Microsoft has default configuration in place that takes care of a good portion of the NTP configuration. Starting with Windows 2000 Server, Windows clients are configured as NTP Clients. When configured as an NTP client, Windows computers only attempt to the domain controller for NTP synchronization or a manually specified NTP server.

Microsoft has made the domain controller the default in a Windows domain since it makes sense that clients already have a secure channel established with DCs for other types of communications. Additionally, accurate and synchronized between domain controllers and clients is especially important for all kinds of things such as logins, group policy synchronization and other tasks/operations.

The order of operations or hierarchy in a Windows domain is as follows:

An important point to consider and that comes into play when thinking why we set ntp server in Windows 2016 or Windows 2019 is the itative domain controller must have a reliable source to synchronize with as well. This is generally an external server outside of the domain hierarchy.

Now that we know how the domain hierarchy for is configured, how is the external source configured on your domain controller that is configured as the reliable source of ?

Configuring Windows Service with W32tm.exe

When it comes to Windows Server environments like Windows Server 2016 or Windows Server 2019, there is a special Windows service that controls the synchronization of your Windows hosts. This is the Windows Service.

Microsoft provides a command line to interact with the Windows Service called W32tm.exe. This has been included in Windows operating systems since Windows XP/Windows 2003 and later. It can be used to configure Windows service parameters as well as diagnose service problems. This is generally the of choice when it comes to configuring, monitoring, and administering Windows .

Using the W32tm.exe utility is fairly straightforward. It can be used from a normal command prompt as well as from a PowerShell prompt. There are several command parameters included that allow not only configuring the NTP servers you want to query, but also parameters that allow viewing the low level registry configuration as well as the synchronization us.

However, there are a few commands I would like to show you for the purposes of configuring your Domain controller that is to be the reliable source (PDC Emulator) for your domain.

Configuring the source for your domain with the w32tm utility

If you want to view the us of the NTP synchronization on your server after you have configured the values and restarted the w32 service, you can use the following command:

Querying the NTP synchronization us of your Windows Server 2016 or 2019 domain controller

You can also check the values configured in your registry key hkey local machine system currentcontrolset services w32 config using the commands below. You can drill into the configuration parameters using the /dumpreg /subkey command.

Viewing the NTP registry values that are configured for your Windows Server

Final Thoughts

As shown, you can easily set NTP Server Windows 2016 or Windows 2019 using the w32tm command utility that allows interacting with the service in Windows Server.

After configuring the source, the other domain controllers will synchronize with this server and then the Windows clients joined to the domain will synchronize with the domain controllers that have the corrected from the itative server.

Настройка NTP сервера в Windows

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

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

• При установке операционной системы Windows запускает клиента NTP и синхронизируется с внешним источником времени;

• При добавлении компьютера в домен тип синхронизации меняется. Все клиентские компьютеры и рядовые сервера в домене используют для синхронизации времени контроллер домена, проверяющий их подлинность;

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

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

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

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

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

Итак, первым делом нам надо запустить сервер NTP. Открываем ветку реестра

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

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

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

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

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

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

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

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

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

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

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

Ну и на крайний случай .

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.

Windows 95 стала доступна в виде приложения на современных платформах

Для начала определяю какой контроллер домена Windows Server 201x имеет роль PDC (если я этого не знаю )) ), если контроллеров домена несколько, как в моём случае. Для этого на любом компьютере или сервере, входящем в домен! , запускаю командную строку от имени Администратора:

Настройка доменного сервера времени NTP в Windows Server 2012R2/2016 через GPO

1. Для начала создадим WMI-фильтр, который будет применять нашу новую политику только к серверу с ролью эмулятора PDC

Select * from Win32_ComputerSystem where DomainRole = 5

Настройка доменного сервера времени NTP в Windows Server 2012R2/2016 через GPO

Здесь нам нужно включить три политики:
Enable Windows NTP Client: Enabled
Enable Windows NTP Server: Enabled
Configure Windows NTP Client: Enabled

Настройка доменного сервера времени NTP в Windows Server 2012R2/2016 через GPO

Пункт Configure Windows NTP client имеет следующие настройки:

Настройка доменного сервера времени NTP в Windows Server 2012R2/2016 через GPO


Я использовал следующий список серверов точного времени:

3. Создав политику не забываем применить к ней фильтр WMI:

Настройка доменного сервера времени NTP в Windows Server 2012R2/2016 через GPO

4. Пришло время обновить политики на сервере времени и синхронизировать время. Запускаем командную строку от имени Администратора.

Синхронизация времени Active Directory с внешним источником

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

Прежде всего вспомним, как происходит синхронизация времени в Active Directory. В качестве эталона времени выступает контроллер, владеющий ролью эмулятора PDC. Это FSMO-роль и эмулятором PDC может являться только один контроллер в каждом домене. С ним синхронизируют время остальные контроллеры домена. Доменные ПК и рядовые серверы сверяют часы с ближайшим контроллером домена.

ad-pdc-ntp-001.jpg

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

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

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

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

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

В выводе будут показаны все хозяева операций, нас интересует только эмулятор PDC.

ad-pdc-ntp-002.jpg

Затем перейдем на указанный контроллер и узнаем источник времени для него, для этого выполните команду:

Если в выводе вы увидите:

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

то вы имеете дело с виртуальной машиной, которая синхронизирует время с хостом.

и установите для параметра Enabled значение 0.

ad-pdc-ntp-003.jpg

После данного изменения следует перезапустить Службу времени Windows или перезагрузить компьютер.

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

и для параметра Type укажем строковое значение NTP. А для параметра NtpServer зададим адреса серверов точного времени, после каждого из которых, через запятую укажем 0x8, если мы хотим работать как стандартный NTP-клиент или 0x1 если будем использовать собственные параметры, например:

Параметр Enabled установим в значение 1.

Затем перейдем в

и установим для параметра AnnounceFlags значение A.

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

и для параметра SpecialPollInterval укажите десятичное значение в секундах.

и зададим максимальное время опережения и отставания часов, после которых синхронизация производиться не будет. Для этого используются параметры MaxPosPhaseCorrection (опережение) и MaxNegPhaseCorrection (отставание) для которых также следует задать десятичное значение в секундах. По умолчанию стоит 48 часов. Это значит, что если время на эмуляторе PDC уйдет от точного источника более чем на 48 часов в любую сторону, то синхронизация производиться не будет.

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

Выполнив настройки перезапустите Службу времени Windows, это также можно сделать в командной строке:

После чего еще раз выполним

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

ad-pdc-ntp-004.jpg

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

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