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

ntpВ операционных системах Windows за синхронизацию времени отвечает служба времени Windows, она же w32time. Эта служба обеспечивает работу серверной, и клиентской частей. Иными словами один и тот же компьютер может выступать в роли сервера и клиента одновременно.

Служба времени Windows не имеет графического интерфейса. Настройка производится через CMD утилитой w32tm, ручной правкой реестра, или через групповые политики.

Утилита  w32tm меняет параметры в разделе

HKLM\SYSTEM\CurrentControlSet\Services\W32Time

Групповые политики создают раздел в

HKLM\SOFTWARE\Policies\Microsoft\W32Time

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

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

w32tm_param_wg

и для доменного компьютера

w32tm_param_dom

Ключ NtpServer определяет список серверов времени, с которыми будет происходить синхронизация. По умолчанию указан адрес time.windows.com,0x9.  При указании более одного сервера времени, адреса нужно разделять пробелами.

Параметр 0x9, является суммой 0x1 и 0x8.

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

Специальный интервал опроса указан в ключе

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval

и составляет 3600 секунд. То есть синхронизация происходит каждый час.

Ключ Type определяет тип синхронизации, и имеет следующие значения:

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

В случае с компьютером из рабочей группы, используется тип NTP, то есть синхронизация времени происходит с сервером time.windows.com, указанном в ключе NtpServer.

Доменный компьютер использует тип NT5DS. В данном случае синхронизация времени происходит с контроллером домена, на котором авторизовался компьютер. Контроллеры синхронизируют свое время с контроллером, являющимся владельцем роли PDC Emulator. Владелец роли PDC Emulator, также использует тип NT5DS и синхронизирует свое время с локальным часами, получившими время от CMOS схемы, расположенной на материнской плате. Минус в том, что время полученное от CMOS схемы постоянно «съезжает» относительно реального. Чтобы такого не происходило, на корневом контроллере с ролью PDC Emulator, меняют тип на NTP и в  NtpServer указывают список внешних серверов времени.

ad_ntp

На корневом контроллере домена, с ролью PDC Emulator, откроем CMD и выполним команду

c:\>w32tm /config /manualpeerlist:"0.ru.pool.ntp.org,0x9 1.ru.pool.ntp.org,0x9 2.ru.pool.ntp.org,0x9 3.ru.pool.ntp.org,0x9" /syncfromflags:MANUAL /update

/manualpeerlist — задает список адресов источников времени. Этот список будет добавлен в значение уже известного ключа NtpServer.

/syncfromflags — определяет источник синхронизации. Этот параметр меняет значение ключа Type. Возможные варианты:

MANUAL — синхронизация с узлами из заданного вручную списка. Аналогичен значению NTP.
DOMHIER — синхронизация с контроллером домена Active Directory в доменной иерархии. Аналогичен значению NT5DS.
NO — без синхронизации. Аналогичен значению NoSync.
ALL — синхронизация как с узлами, заданными вручную, так и с узлами домена. Аналогичен значению AllSync.

/update — уведомляет службу времени, что конфигурация изменилась, чтобы изменения вступили в силу.

Может ли компьютер выступать в роли сервера времени, определяется следующим ключом

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\Enabled

У контроллера данный ключ имеет значение 1, у компьютера 0. Иными словами любой контроллер домена выступает в качестве сервера времени.

За то, как служба времени будет корректировать время на клиенте, отвечает ключ

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxAllowedPhaseOffset

У компьютера, находящегося в рабочей группе, значение ключа MaxAllowedPhaseOffset равно 1-ой секунде. У доменного компьютера 300 секунд.  Если разница во времени между клиентом и сервером времени будет больше, чем значение ключа MaxAllowedPhaseOffset, то служба времени сразу поменяет время на клиенте, на время, установленное на сервере времени. Если разница во времени меньше, то корректировка часов будет происходить постепенно. Это сделано, чтобы предотвратить сбои служб, чувствительных к сдвигам времени. С другой стороны 300 секунд, это 5 минут, или максимально допустима разница во времени, для протокола Kerberos.

Чтобы изменить настройки службы времени через групповые политики, нужно создать фильтр WMI, для нацеливания политики на корневой контроллер домена, с ролью PDC Emulator. Для этого нужно открыть оснастку «Управление групповой политикой», нажать на раздел «Фильтры WMI» правой кнопкой мыши и выбрать «Создать». В поле имя нужно написать название фильтра, например, «PDC Emulator». Далее нужно нажать кнопку «Добавить» и вставить WMI запрос

Select * from Win32_ComputerSystem where DomainRole = 5

затем нужно нажать «Ok» и «Сохранить».

wmi_pdc

Создадим политику, нажмем правой кнопкой мыши на раздел «Domain Controllers» и выберем «Создать объект групповой политики…», назовем его «PDC Emulator Time Sources». Нажмем правой кнопкой мыши по созданному объекту, выберем «Изменить». Откроем раздел «Конфигурация компьютера->Политики->Административные шаблоны->Система->Служба времени Windows->Поставщики времени». Выберем параметр «Настроить NTP-клиент Windows». В поле NtpServer вставим адреса серверов времени

0.ru.pool.ntp.org,0x9 1.ru.pool.ntp.org,0x9 2.ru.pool.ntp.org,0x9 3.ru.pool.ntp.org,0x9

В поле Type нужно выбрать значение «NTP», затем нажать «Ок» и закрыть окно «Редактор управления групповыми политиками».

gpo_ntp_cl

После этого нужно выбрать созданную политику «PDC Emulator Time Sources» и в поле «Фильтр WMI» выбрать созданный ранее фильтр «PDC Emulator»

f_wmi_pdc

Диагностика

Принудительно синхронизировать время можно командой

c:\>w32tm /resync

Посмотреть текущий источник времени можно командой

c:\>w32tm /query /source

Эта команда показывает текущий источник времени, время синхронизации и прочую информацию

c:\>w32tm /query /status

Эта команда показывает данные о всех источниках времени

c:\>w32tm /query /peers

Разницу во времени между компьютером и источником времени можно посмотреть командой

c:\>w32tm /monitor

Для просмотра текущей конфигурации используется команда

c:\>w32tm /query /configuration

Перезапустить службу времени можно командой

c:\>net stop w32time && net start w32time

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

c:\>net stop w32time
c:\>w32tm /unregister
c:\>w32tm /register
c:\>net start w32time

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

c:\>NET TIME \\DC1.4SKILL.LOC /SET /Y

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

 

 

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *