Начиная с Windows 2000 все операционные системы Windows включают в себя службу времени W32Time. Эта служба предназначена для синхронизации времени в пределах организации. W32Time отвечает за работу как клиентской, так и серверной части службы времени, причем один и тот же компьютер может быть одновременно и клиентом и сервером NTP (Network Time Protocol).
По умолчанию служба времени в Windows сконфигурирована следующим образом:
• При установке операционной системы Windows запускает клиента NTP и синхронизируется с внешним источником времени;
• При добавлении компьютера в домен тип синхронизации меняется. Все клиентские компьютеры и рядовые сервера в домене используют для синхронизации времени контроллер домена, проверяющий их подлинность;
• При повышении рядового сервера до контроллера домена на нем запускается NTP-сервер, который в качестве источника времени использует контроллер с ролью PDC-эмулятор;
• PDC-эмулятор, расположенный в корневом домене леса, является основным сервером времени для всей организации. При этом сам он также синхронизируется с внешним источником времени.
Такая схема работает в большинстве случаев и не требует вмешательства. Однако структура сервиса времени в Windows может и не следовать доменной иерархии, и надежным источником времени можно назначить любой компьютер. В качестве примера я опишу настройку NTP-сервера в Windows Server 2008 R2, хотя со времен Windows 2000 процедура не особо изменилась.
Запуск NTP сервера
Сразу отмечу, что служба времени в Windows Server (начиная с 2000 и заканчивая 2012) не имеет графического интерфейса и настраивается либо из командной строки, либо путем прямой правки системного реестра. Лично мне ближе второй способ, поэтому идем в реестр.
Итак, первым делом нам надо запустить сервер 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 сервера
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-серверами по умолчанию, а клиентский режим можно задействовать в случае проблем с синхронизацией. Подробнее о режимах синхронизации можно посмотреть здесь, либо не морочиться и просто ставить везде ,0x1 (как советует Microsoft).
Еще один важный параметр 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 – регистрирует службу времени на компьютере. При этом создается заново вся ветка параметров в реестре.
Время на прочтение
1 мин
Количество просмотров 17K
Демократия есть искусство управления цирком изнутри обезьяньей клетки.
Генри Луис Менкен
В крупных, постоянно меняющихся и развивающихся гетерогенных сетях установка адреса локального ntp-сервера на всех машинах может представлять определенную проблему. В данном случае можно воспользоваться возможностями DNS-сервера BIND и подменить выдаваемый по запросу «time.windows.com» ip-адрес.
На DNS сервере (на примере SLES 10) создадим интересующую нас зону следующего содержания:
/var/lib/named/master/time.windows.com
$TTL 2d @ IN SOA ns.example.com. root.ns.example.com. ( 2009012810 ; serial 3h ; refresh 1h ; retry 1w ; expiry 1d ) ; minimum time.windows.com. IN NS ns.example.com. time.windows.com. IN A 192.168.0.1
где 192.168.0.1 — ip-адрес локального ntp-сервера
В конфигурационный файл /etc/named.conf добавляем строки:
zone "time.windows.com" in { file "master/time.windows.com"; type master; allow-transfer { acls; }; };
где »’acls»’ — используемые в локальной сети ACL’и
Перегружаем Bind:
rcnamed reload
Если все правильно в логе /var/log/messages появится подобная строчка:
May 24 08:17:32 ns named[30279]: zone time.windows.com/IN: loaded serial 2009012810
Проверяем результат на клиентской машине предварительно сбросив кэш dns (How_do_I_Flush_DNS?):
# ping time.windows.com PING time.windows.com (192.168.0.1) 56(84) bytes of data. 64 bytes from ntp.example.com (192.168.0.1): icmp_seq=1 ttl=254 time=0.896 ms
A Time Server or NTP Server is used to synchronize the time across devices in a network. For example, in Windows, your time automatically get synchronized with time.windows.com
. The time.windows.com
is the time server or NTP server created by Microsoft. Similarly, you can also make your computer a time server or NTP server. And then, you can synchronize the time of all devices in your local (LAN) network with your PC.
In this tutorial, we are going to show you how to make your computer an NTP or Time Server. And, you don’t need to install any software for doing this. We will be using Windows Registry Editor for turning your computer into Time Server.
SEE ALSO: How to Make your Computer a Web Server?
Follow these steps to configure your Windows 10 or Windows 11 PC as a Time Server.
Step 1: Open Services and Stop Windows Time Service
In order to make your computer a time server, we will need to make some changes to Windows Time Service. So, first of all, we will need to stop the Windows Time service in the Windows services console.
Go to Start > Control Panel > System & Security > Administrative Tools > Services to open Windows Services console. Alternatively, you can type services.msc
in RUN and press ENTER.
Now, the Windows Services console will open. Here, look for the ‘Windows Time‘ service. After that, right-click on Windows Time service and select Stop to stop this service. But if the service is already stopped, you can move to the next step.
Step 2: Open Registry Editor and Create LocalNTP DWORD
Now, open Registry Editor. Go to RUN, type regedit
, and press Enter button to launch Registry Editor.
You may see UAC Prompt, click on Yes to continue. Registry Editor will open. In Registry Editor, go to the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
If you don’t see ‘LocalNTP’ DWORD on the right side, you will have to create it to make your computer a time server. So, to create the DWORD, right-click in blank space and select New > DWORD (32-bit) Value.
Now, type the name of the new DWORD as LocalNTP
(case sensitive).
After creating the DWORD, double-click on it to modify its value. Then set the DWORD value to “1” (Hexadecimal).
Step 3: Enable NTP Server in Windows
This is one of the most important steps to make your PC an NTP server. Do not close the Registry Editor yet, go to the following key in the Registry Editor.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpServer
Here, on the right side, you will find a DWORD named Enabled. Right-click and select Modify to change its value.
Now, set the value data of Enabled DWORD to “1” (Hexadecimal).
Step 4: Set Announce Flags
Now, go to the following key in Registry Editor.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config
Here, we will change the value of AnnounceFlags DWORD. So, right-click on it and select Modify.
Now, set the value of AnnounceFlags DWORD to “5” (Hexadecimal). Now, your PC will advertise itself as an NTP server.
Step 5: Start Windows Time Service
Go to Start > Control Panel > System and Security > Administrative Tools > Services again. Now, double-click on the “Windows Time” service to open its Properties. Here, set Startup type to Automatic, start the service, and then click OK.
Now, you can use your computer as an NTP server. You can now synchronize the time of other computers in your LAN/Local network with your PC.
SEE ALSO: Check these 10 Cool Command Prompt Tricks for you.
Step 6: Synchronize Time with NTP Server
Let’s see how to synchronize the time of any other PC using this newly created NTP Server. First, you need to find the IP address of your PC. You can check your IP in Network Settings or via Command prompt using the ipconfig
command. In this tutorial, the IP address of our PC is 192.168.56.101
. This is just an example, it may be different for you.
ipconfig
command to find the IP Address of Your PC
Now, go to another computer whose time you want to synchronize. Open Control Panel and search for date time
and click on Set the time and date link from search results.
Date and Time settings will open. Go to the Internet Time tab and click on Change Settings.
A small Internet Time Settings window will open. Here, enter the IP address of your NTP server (192.168.56.101
in our case) in the box and click on Update Now to synchronize time. It may give you an error on the first attempt. Click on Update Now again and your time will be synchronized successfully. Now, you can click OK to close the time settings window.
SEE ALSO: How to Set up Minecraft Server on Android Phone?
Turn your PC into NTP Server without Any Software
Now, you have successfully turned your computer into an NTP or Time Server without any software. You can synchronize the time of every device on your network using this NTP server. You can also synchronize the time of any remote device using this NTP server by forwarding the NTP port on your router. NTP port is “123” by default. The process of forwarding a port in your router depends on the type of router you use. You can check your router’s manual for more details.
Hope you liked this tutorial. In case you have any problems, feel free to write them down in the comment section below. Feel free to subscribe to our newsletter to get the latest tutorials directly into your inbox.
В Windows Server 2019 и 2022 по умолчанию указан сервер времени time.windows.com. В некоторых средах он недоступен, но точное время нужно, но заменить сервер времени по умолчанию через пользовательский интерфейс затруднительно. Заменить сервер времени можно отредактировав реестр с помощью PowerShell (от имени администратора):
Проверяем текущий сервер:
w32tm /query /source
time.windows.com,0x8
Заменяем на нужный сервер времени:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Parameters" -Name "NtpServer" -Value "pool.ntp.org,0x8"
После перезапустим службу, чтобы изменения вступили в силу и выполним синхронизацию времени:
Restart-Service w32time
w32tm /resync
Отправка команды синхронизации на локальный компьютер
Команда выполнена успешно.
Готово.
Материал из support.qbpro.ru
Для правильного функционирования доменной среды Windows Server 2008 R2/2012 R2, является корректная работа службы времени Windows (W32Time).
Схема работы синхронизации времени в доменной среде Active Directory:
Контроллер корневого домена в лесу AD, которому принадлежит FSMО-роль PDC-эмулятора, синхронизируется с внешними источниками точного времени. Он же является источником времени для всех остальных контроллеров этого домена.
Контроллеры дочерних доменов в AD, синхронизируют время с вышестоящих контроллеров домена AD.
Рядовые члены домена (сервера и рабочие станции) синхронизируют свое время с ближайшим к ним доступным контроллером домена, соблюдая топологию AD.
Служба времени в Windows (W32Time) не имеет графического интерфейса и настраивается из командной строки (утилита w32tm), с помощью реестра
(HKLM\System\CurrentControlSet\Services\W32Time\Parameters) и посредством Групповой политики (Group Policy Managment)
Для определения какому контроллеру домена принадлежит FSMО-роль PDC-эмулятора, в командной строке, выполним команду: netdom query FSMO
Включение NTP-сервера
NTP-сервер по-умолчанию включен на всех контроллерах домена, но его можно включить и на рядовых серверах:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer] — «Enabled»=1
Конфигурация NTP-сервера
Задаем тип синхронизации внутренних часов, на использование внешнего источника. (Командная строка/Реестр):
w32tm /config /syncfromflags:manual [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters] — «Type»=NTP
Допускаются следующие значения:
NoSync — NTP-сервер не синхронизируется с каким либо внешним источником времени. Используются системные часы, встроенные в микросхему CMOS самого сервера. NTP — NTP-сервер синхронизируется с внешними серверами времени, которые указаны в параметре реестра NtpServer. NT5DS — NTP-сервер производит синхронизацию согласно доменной иерархии. AllSync — NTP-сервер использует для синхронизации все доступные источники.
Задание списка внешних источников для синхронизации, с которыми будет синхронизировать время данный сервер. По-умолчанию в этом параметре прописан NTP-сервер Microsoft (time.windows.com, 0×1). (Командная строка/Реестр):
w32tm /config /manualpeerlist:»0.ru.pool.ntp.org,0x1 1.ru.pool.ntp.org,0x1 2.ru.pool.ntp.org,0x1″ [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters] — «NtpServer»=0.ru.pool.ntp.org,0x1 1.ru.pool.ntp.org,0x1 2.ru.pool.ntp.org,0x1
Допускаются следующие значения:
0×1 – SpecialInterval, использование временного интервала опроса. 0×2 – режим UseAsFallbackOnly. 0×4 – SymmetricActive, симметричный активный режим. 0×8 – Client, отправка запроса в клиентском режиме.
Задание интервала синхронизации с внешним источником (для источников помеченных флагом 0×1). По-умолчанию время опроса задано — 3600 сек. (1 час). (Командная строка/Реестр):
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient] — «SpecialPollInterval»=3600
Объявление NTP-сервера в качестве надежного. (Командная строка/Реестр):
w32tm /config /reliable:yes [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config] — «AnnounceFlags»=0000000a
После настройки необходимо обновить конфигурацию сервиса. Выполняем команду:
w32tm /config /update
Принудительная синхронизация времени от источника:
w32tm /resync /rediscover
Отобразить текущую конфигурацию службы времени:
w32tm /query /configuration
Получения информации о текущем сервере времени:
w32tm /query /source
Отображение текущих источников синхронизации и их статуса:
w32tm /query /peers
Отображение состояния синхронизации контроллеров домена с компьютерами в домене:
w32tm /monitor /computers:192.168.1.2
Отобразить разницу во времени между текущим и удаленным компьютером:
w32tm /stripchart /computer:192.168.1.2 /samples:5 /dataonly
Удалить службу времени с компьютера:
w32tm /unregister
Регистрация службы времени на компьютере. Создается заново вся ветка параметров в реестре:
w32tm /register
Остановка службы времени:
net stop w32time
Запуск службы времени:
net start w32time
Конфигурация NTP-сервера/клиента групповой политикой
Для централизованной настройки службы времени Windows, на серверах и рабочих станциях в доменной среде Active Directory, воспользуемся групповой политикой. На примере, выполним настройку для рабочих станций.
Переходим в ветку: Конфигурация компьютера (Computer Configuration) — Политики (Policies) — Административные шаблоны (Administrative Templates) — Система (System) — Служба времени Windows (Windows Time Service) — Поставщики времени (Time Providers).
Открываем параметр: Настроить NTP-клиент Windows (Configure Windows NTP Client)
NtpServer — 192.168.1.2 (Адрес контроллера домена с ролью PDC) Type — NT5DS CrossSiteSyncFlags — 2 ResolvePeerBackoffMinutes —15 Resolve Peer BackoffMaxTimes — 7 SpecilalPoolInterval — 3600 EventLogFlags — 0
- источник