четверг, 30 апреля 2015 г.

Настройка NTP-сервера времени на ОС Windows

За работу сервера и клиента NTP отвечает "Служба времени Windows" ("W32Time").
Для настройки сервера на ОС Windows проделайте следующие шаги:

1. Устанавливаем автоматический запуск сервиса "W32Time". Для этого в ветке реестра
"HKLM\System\CurrentControlSet\Services\W32Time" задаём для параметра "Start" значение 2.

2. Затем открываем "HKLM\System\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer" и устанавливаем "Enabled" в единицу.

3. Правим следующие параметры:
- ветка: "HKLM\System\CurrentControlSet\Services\W32Time\Parameters", параметр "Type" может принимать следующие значения:
NoSync - NTP-сервер не синхронизируется с каким-либо внешним источником времени. Используются часы, встроенные в микросхему CMOS самого сервера;
NTP - NTP-сервер синхронизируется с внешними серверами времени, которые указаны в параметре реестра "NtpServer";
NT5DS - NTP-сервер производит синхронизацию согласно доменной иерархии;
AllSync - NTP-сервер использует для синхронизации все доступные источники;

- параметр "NtpServer", где указывается хост, с которым будет синхронизировать время данный сервер. При необходимости можно добавить несколько хостов, введя их DNS имена или IP адреса через пробел. В конце каждого имени через запятую можно добавлять флаг, который определяет режим для синхронизации с сервером времени.
Допускаются следующие значения:
0x1 - SpecialInterval, использование специального интервала опроса;
0x2 - режим UseAsFallbackOnly;
0x4 - SymmetricActive, симметричный активный режим;
0x8 - Client, отправка запроса в клиентском режиме.
При использовании флага "SpecialInterval", необходимо установленное значение интервала в ключе "SpecialPollInterval". При значении флага "UseAsFallbackOnly" службе времени сообщается, что данный сервер будет использоваться как резервный, и перед синхронизацией с ним будут выполняться обращения к другим серверам списка. Симметричный активный режим используется NTP-серверами по умолчанию, а клиентский режим можно задействовать в случае проблем с синхронизацией;

- ветка "HKLM\System\CurrentControlSet\Services\W32Time\Config", параметр "AnnounceFlags" отвечает за то, как о себе заявляет 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;

- ветка "HKLM\System\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient", параметр "SpecialPollInterval" задается в секундах и по умолчанию его значение равно 604800, что составляет одну неделю. Это довольно много, поэтому стоит уменьшить значение, скажем, до часа (3600).

4. После сделанных настроек можно запускать службу времени: "net start w32time". Если сервис уже работал, примените конфигурацию командой "w32tm /config /update" и перезапустите: "net stop w32time && net start w32time".

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


6. При запущенном фаерволе не забудьте открыть UDP порт 123 для входящего и исходящего трафика.

1 комментарий:

  1. Спасибо за подробное описание значения "AnnounceFlags" - когда больше одного контроллера - в большинстве статей толком не расписано про него.

    ОтветитьУдалить