Как настроить NTP сервер и синхронизацию времени в домене Active Directory | Настройка серверов windows и linux

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

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

Включение NTP-сервера

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

Все доступные способы синхронизации

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

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

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

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

Конфигурация 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 (Локально)

[TimeProviders]

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:WindowsSystem32vmictimeprovider.dll (Локально)
Enabled: 1 (Локально)
InputProvider: 1 (Локально)

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

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

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

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

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

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

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

Настройка надежного источника времени

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

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

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

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

1. Измените тип сервера на NTP. Для этого выполните следующие действия:

 а. Нажмите кнопку “Пуск”, выберите команду “Выполнить”, введите в командную строку regedit и нажмите кнопку “ОК”.

01

б. Найдите и выделите следующий подраздел реестра:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParameters

02

03

в. На правой панели щелкните правой кнопкой мыши параметр “Type” и выберите команду “Изменить”.

04

г. В появившемся окне “Изменение” строкового параметра в поле “Значение” введите NTP и нажмите кнопку “ОК”.

05

2. Присвойте параметру “AnnounceFlags” значение “5”. Для этого выполните перечисленные ниже действия.

а. Найдите и выделите следующий раздел реестра:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfig

б. В правой области щелкните правой кнопкой мыши параметр “AnnounceFlags” и выберите команду “Изменить”. В появившемся окне “Изменение” параметра DWORD в поле “Значение” введите “5″ и нажмите кнопку “ОК”.

:/>  Операционная система не устанавливается на жесткий диск

06

3. Задайте интервал опроса. Для этого выполните следующие действия:

а. Найдите и выделите следующий раздел реестра:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpClient

б. На правой панели щелкните правой кнопкой мыши параметр “SpecialPollInterval” и выберите команду “Изменить”. В появившемся окне “Изменение” параметра DWORD в поле “Значение” введите время_в_секундах и нажмите кнопку “ОК”.

07

Примечание. TimeInSeconds — это интервал времени (в секундах) между двумя 
опросами. Рекомендуется установить его равным 900. При этом опрос будет
выполняться каждые 15 минут.

4. Включите сервер NTP. Для этого выполните следующие действия:

а. Найдите и выделите следующий подраздел реестра:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpServer

б. В правой области щелкните правой кнопкой мыши параметр “Enabled” и выберите команду “Изменить”. В появившемся окне “Изменение” параметра DWORD в поле “Значение” введите “1” и нажмите кнопку “ОК”.

08

5. Укажите источники времени. Для этого выполните следующие действия:

а. Найдите и выделите следующий раздел реестра:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParameters

б. На правой панели щелкните правой кнопкой мыши параметр “NtpServer” и выберите команду “Изменить”. В появившемся окне изменения параметра в поле “Значение” введите “Peers” и нажмите кнопку “ОК”.

09

6. Задайте параметры, определяющие максимальную величину коррекции времени. Для этого выполните следующие действия:

а. Найдите и выделите следующий подраздел реестра:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfig

б. На правой панели щелкните правой кнопкой мыши параметр “MaxPosPhaseCorrection” и выберите команду “Изменить”. В диалоговом окне “Изменение” параметра DWORD в разделе “Система исчисления” установите значение “Десятичная”.

в. В появившемся окне “Изменение” параметра DWORD в поле “Значение” введите время_в_секундах и нажмите кнопку “ОК”.

Примечание. Время_в_секундах может иметь любое значение в разумных 
пределах (например, 1 час (3600) или 30 минут (1800)). Данное значение
выбирается, исходя из величины интервала опроса, состояния сети и типа
внешнего источника времени.

г. Найдите и выделите следующий подраздел реестра:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfig

д. На правой панели щелкните правой кнопкой мыши параметр “MaxNegPhaseCorrection” и выберите команду “Изменить”. В диалоговом окне “Изменение” параметра DWORD в разделе “Система исчисления” установите значение “Десятичная”.

е. В появившемся окне “Изменение” параметра DWORD в поле “Значение” введите время_в_секундах и нажмите кнопку “ОК”.

10

Примечание. Время_в_секундах может иметь любое значение в разумных 
пределах (например, 1 час (3600) или 30 минут (1800)). Данное значение
выбирается, исходя из величины интервала опроса, состояния сети и типа
внешнего источника времени.

7. Закройте редактор реестра.

8. Перезапустите службу времени. Для этого введите в командной строке следующую команду и нажмите клавишу “ВВОД”:

net stop w32time && net start w32time

11

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

w32tm /resync /rediscover

12

Для получения дополнительных сведений о команде w32tm введите в командной строке:

w32tm /?

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

Подробности — в библиотеке TechNet.

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

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

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

Помощь в решении проблемы

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

Устранить проблему Microsoft Fix it 50394

Примечания

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

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

:/>  BlackDiver.Net | Настройка синхронизации времени в домене Active Directory (через групповые политики)

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

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

ad-pdc-ntp-001.png

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

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

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

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

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

 netdom query fsmo

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

ad-pdc-ntp-002.pngЗатем перейдем на указанный контроллер и узнаем источник времени для него, для этого выполните команду:

w32tm /query /source

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

Local CMOS Clock

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

VM IC Time Synchronization Provider

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

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

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersVMICTimeProvider

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

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

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

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParameters

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

0.ru.pool.ntp.org,0x1 1.ru.pool.ntp.org,0x1 2.ru.pool.ntp.org,0x1

После чего в

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpServer

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

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

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfig

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

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

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpClient

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

:/>  Как узнать IP адрес компьютера

Вернемся в

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfig

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

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

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

net stop w32time
net start w32time

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

w32tm /query /source

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

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Топология синхронизации времени среди участников active directory

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

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

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

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

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

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

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfig]”MaxPosPhaseCorrection”=dword:FFFFFFFF”MaxNegPhaseCorrection”=dword:FFFFFFFF

Устранение неполадок


Для нормального функционирования службы времени Windows необходима работающая сетевая инфраструктура. В большинстве случаев ошибки в работе службы времени Windows вызваны следующими причинами.

Для устранения неполадок, вызванных сбоями в работе сети, корпорация Майкрософт рекомендует использовать средство Netdiag.exe, входящее в набор Windows Server 2003 Support Tools. За сведениями о параметрах командной строки, поддерживаемых приложением Netdiag.exe, обратитесь к справке по набору средств поддержки.

Если решить проблему не удается, включите журнал отладки службы времени Windows. Поскольку журнал отладки может содержать большой объем служебной информации, при использовании журнала отладки рекомендуется обращаться в службу поддержки продуктов Майкрософт.

NTP поддерживает несколько разных типов пакетов. Обычно клиенты NTP и клиенты SNTP (Simple Network Time Protocol) направляют серверу NTP пакеты запросов в клиентском режиме. Сервер NTP отвечает пакетом в серверном режиме. Чтобы настроить службу W32time для отправки пакетов серверу NTP не в клиентском, а в симметричном активном режиме, введите в командной строке следующую команду:

w32tm /config /manualpeerlist:<server>,0x4 /syncfromflags:MANUAL

Примечание. Используйте флаг 0x8, чтобы служба W32time вместо пакетов в симметричном активном режиме всегда передавала обычные клиентские запросы. Сервер NTP отвечает на эти обычные клиентские запросы в обычном порядке.

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