Windows
Настройка NTP сервера на Windows ОС
Last updated
Was this helpful?
Настройка NTP сервера на Windows ОС
Last updated
Was this helpful?
Начиная с Windows 2000 все операционные системы Windows включают в себя службу времени W32Time. Служба отвечает за работу как клиентской, так и серверной части службы времени, причем один и тот же компьютер может быть одновременно и клиентом и сервером NTP (Network Time Protocol).
По умолчанию служба времени в Windows сконфигурирована следующим образом:
• При установке операционной системы Windows запускает клиента NTP и синхронизируется с внешним источником времени; • При добавлении компьютера в домен тип синхронизации меняется. Все клиентские компьютеры и рядовые сервера в домене используют для синхронизации времени контроллер домена, проверяющий их подлинность; • При повышении рядового сервера до контроллера домена на нем запускается NTP-сервер, который в качестве источника времени использует контроллер с ролью PDC-эмулятор; • PDC-эмулятор, расположенный в корневом домене леса, является основным сервером времени для всей организации. При этом сам он также синхронизируется с внешним источником времени.
Такая схема работает в большинстве случаев и не требует вмешательства. Однако структура сервиса времени в Windows может и не следовать доменной иерархии, и надежным источником времени можно назначить любой компьютер.
Запуск NTP сервера
Служба времени в Windows Server не имеет графического интерфейса и настраивается либо из командной строки, либо путем прямой правки системного реестра. Воспользуемся вторым способом, поэтому идем в реестр.
Первым делом надо запустить сервер NTP. Открываем реестр - ПКМ на Пуск -> Выполнить, пишем regedit, реестр откроется В нём открываем ветку HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpServer. Здесь для включения сервера NTP параметру Enabled надо установить значение 1
Затем перезапускаем службу времени в командной строке ( Кнопка Win пишем cmd открываем Командная строка от имени администратора) командой:
После перезапуска службы NTP сервер уже активен и может обслуживать клиентов. Убедиться в этом можно с помощью команды:
Эта команда выводит полный список параметров службы. Если раздел NtpServer содержит строку Enabled :1, то все в порядке, сервер времени работает, также для правильного отображения времени нужно установить соответствующий часовой пояс - Пуск - Параметры (Иконка шестерёнка) - Время и язык - Список часовой пояс и в нём выбрать нужный (например, (UTC +11:00) Сахалин).
Для того, чтобы NTP-сервер мог обслуживать клиентов, нужно создать в Брандмауэре разрешающие правила для входящего и исходящего траффика UDP порт 123, для этого нужно нажать клавишу Windows и найти Брандмауэр Защитника Windows
Слева Дополнительные параметры - в открывшемся диалоговом окне ПКМ на правила для входящих подключений - создать правило для порта - Далее
Выбрать Протокол UDP и указать порт 123 - Далее - Разрешить подключение - Далее - Далее - Имя NTP - Готово
Повторить создания правила для исходящего подключения (всё также как и для входящего)
Теперь отправляемся на клиентскую машину Windows устанавливаем часовой пояс (как и на сервере).
Указываем IP адрес нашего сервера (на котором установлена NTP служба), следующем образом:
Основные настройки NTP сервера
NTP сервер включили, теперь надо его настроить. Открываем ветку реестра HKLM\System\CurrentControlSet\services\W32Time\Parameters. Здесь в первую очередь нас интересует параметр Type, который задает тип синхронизации. Он может принимать следующие значения:
NoSync — NTP-сервер не синхронизируется с каким либо внешним источником времени. Используются часы, встроенные в микросхему CMOS самого сервера; NTP — NTP-сервер синхронизируется с внешними серверами времени, которые указаны в параметре реестра NtpServer; NT5DS — NTP-сервер производит синхронизацию согласно доменной иерархии; AllSync — NTP-сервер использует для синхронизации все доступные источники.
Значение по умолчанию для компьютера, входящего в домен — NT5DS, для отдельно стоящего компьютера — NTP.
И параметр NtpServer, в котором указываются NTP-сервера, с которыми будет синхронизировать время данный сервер. По умолчанию в этом параметре прописан NTP-сервер Microsoft (time.windows.com, 0x1), при необходимости можно добавить еще несколько NTP-серверов, введя их DNS имена или IP адреса через пробел.
В конце каждого имени можно добавлять флаг (напр. ,0x1) который определяет режим для синхронизации с сервером времени. Допускаются следующие значения:
0x1 – SpecialInterval, использование специального интервала опроса ; 0x2 – режим UseAsFallbackOnly; 0x4 – SymmetricActive, симметричный активный режим; 0x8 – Client, отправка запроса в клиентском режиме.
При использовании флага SpecialInterval, необходимо установленное значение интервала в ключе SpecialPollInterval. При значении флага UseAsFallbackOnly службе времени сообщается, что данный сервер будет использоваться как резервный и перед синхронизацией с ним будут выполнятся обращения к другим серверам списка. Симметричный активный режим используется NTP-серверами по умолчанию, а клиентский режим можно задействовать в случае проблем с синхронизацией.
Еще один важный параметр AnnounceFlags находится в разделе реестра HKLM\System\CurrentControlSet\services\W32Time\Config. Он отвечает за то, как о себе заявляет 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.
Ну и настроим интервал между обновлениями. За него отвечает уже упоминавшийся выше ключ SpecialPollInterval, находящийся в ветке реестра HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpClient. Он задается в секундах и по умолчанию его значение равно 604800, что составляет 1 неделю. Это очень много, поэтому стоит уменьшить значение SpecialPollInterval до разумного значения, скажем до 1 часа (3600)
После настройки необходимо обновить конфигурацию сервиса. Сделать это можно командой w32tm /config /update. И еще несколько команд для настройки, мониторинга и диагностики службы времени:
w32tm /monitor – при помощи этой опции можно узнать, насколько системное время данного компьютера отличается от времени на контроллере домена или других компьютерах. Например: w32tm /monitor /computers:time.nist.gov w32tm /resync – при помощи этой команды можно заставить компьютер синхронизироваться с используемым им сервером времени. w32tm /stripchart– показывает разницу во времени между текущим и удаленным компьютером, причем может выводить результат в графическом виде. Например, команда w32tm /stripchart /computer:time.nist.gov /samples:5 /dataonly произведет 5 сравнений с указанным источником и выведет результат в текстовом виде.
w32tm /config – это основная команда, используемая для конфигурирования службы NTP. С ее помощью можно задать список используемых серверов времени, тип синхронизации и многое другое. Например, переопределить значения по умолчанию и настроить синхронизацию времени с внешним источником, можно командой w32tm /config /syncfromflags:manual /manualpeerlist:time.nist.gov /update w32tm /query — показывает текущие настройки службы. Например команда w32tm /query /source покажет текущий источник времени, а w32tm /query /configuration выведет все параметры службы.
Ну и на крайний случай w32tm /unregister — удаляет службу времени с компьютера. w32tm /register – регистрирует службу времени на компьютере. При этом создается заново вся ветка параметров в реестре.