За работу сервера и клиента
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 для входящего и исходящего трафика.