Главная

Friday, 5 May 2023

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

Всем привет.

Сегодня напомню себе, а попутно и вам, настройку NTP сервера в Windows. Оригинал находил на сайте http://windowsnotes.ru, точную ссылку не помню.

Итак, операционные системы семейства Windows содержат службу времени W32Time. Эта служба предназначена для синхронизации времени в пределах организации. W32Time отвечает за работу как клиентской, так и серверной части службы времени, причем один и тот же компьютер может быть одновременно и клиентом и сервером NTP (NTP - Network Time Protocol). 

По умолчанию служба времени в Windows сконфигурирована следующим образом: 

• При установке операционной системы Windows запускает клиента NTP, который синхронизируется с внешним источником времени; 

• При добавлении компьютера в домен тип синхронизации меняется. Все клиентские компьютеры и рядовые сервера в домене используют для синхронизации времени контроллер домена, проверяющий их подлинность; 

• При повышении рядового сервера до контроллера домена на нем запускается NTP-сервер, который в качестве источника времени использует контроллер с ролью PDC-эмулятор; 

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

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

Запуск самого NTP сервера 

Служба времени в Windows Server не имеет графического интерфейса и настраивается либо из командной строки, либо путем прямой правки системного реестра. Рассмотрим второй способ: 

Необходимо запустить сервер NTP. Открываем ветку реестра: 

HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpServer. 

Для включения сервера NTP параметру Enabled надо установить значение 1. Затем перезапускаем службу времени командой net stop w32time && net start w32time. 

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

Для того, чтобы NTP-сервер мог обслуживать клиентов, в брандмауэре необходимо открыть UDP порт 123 для входящего и исходящего трафика. 

Основные настройки NTP сервера 

Открываем ветку реестра: 

HKLM\System\CurrentControlSet\services\W32Time\Parameters. 

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

NoSync - NTP-сервер не синхронизируется с каким либо внешним источником времени. Используются системные часы, встроенные в микросхему CMOS самого сервера (в свою очередь эти часы могут синхронизироваться от источника NMEA по RS-232 например); 

NTP - NTP-сервер синхронизируется с внешними серверами времени, которые указаны в параметре реестра NtpServer; 

NT5DS -  NTP-сервер производит синхронизацию согласно доменной иерархии; 

AllSync - NTP-сервер использует для синхронизации все доступные источники. 

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

В параметре NtpServer указываются NTP-сервера, с которыми будет синхронизировать время данный сервер. По умолчанию в этом параметре прописан NTP-сервер Microsoft (time.windows.com, 0×1), при необходимости можно добавить еще несколько NTP-серверов, введя их DNS имена или IP адреса через пробел. В конце каждого имени можно добавлять флаг (например 0×1) который определяет режим для синхронизации с сервером времени.  

Допускаются следующие значения режима: 

0×1 – SpecialInterval, использование временного интервала опроса; 

0×2 – режим UseAsFallbackOnly; 

0×4 – SymmetricActive, симметричный активный режим; 

0×8 – Client, отправка запроса в клиентском режиме. 

Еще один важный параметр AnnounceFlags находится в разделе реестра: 

HKLM\System\CurrentControlSet\services\W32Time\Config. 

Он отвечает за то, как о себе заявляет NTP-сервер. Чтобы заявить рядовой сервер (не домен-контроллер) как надежный источник времени, нужен флаг 5. 

Если настраиваемый сервер в свою очередь является клиентом NTP (получает время от GPS-приемника по NTP, например), можно настроить интервал между обновлениями. Этот параметр может быть актуальным и для клиентских РС. За время обновления отвечает ключ 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  выведет все параметры службы. 
  • net stop w32time - останавливает службу времени, если запущена. 
  • w32tm /unregister — удаляет службу времени с компьютера. 
  • w32tm /register – регистрирует службу времени на компьютере.  При этом создается заново вся ветка параметров в реестре. 
  • net start w32time - запускает службу. 

Вроде все. Успехов. 

No comments:

Post a Comment

А что вы думаете по этому поводу?