Когда в локальной сети есть один источник времени, а остальные компьютеры не могут ходить в Интернет, проще всего выстроить синхронизацию через NTP. В Windows 10 за это отвечает служба времени Windows (W32Time) и утилита w32tm, которые используют UDP 123 для обмена по NTP.

Ниже - практическая схема, как настроить один сервер времени в локальной сети и подключить к нему рабочие места под Windows 10.

Что нужно знать перед настройкой

  • W32Time работает с NTP и использует UDP порт 123 для запросов и ответов. Это описано в документации Microsoft.
    Источник: https://learn.microsoft.com/ru-ru/windows-server/networking/windows-time-service/windows-time-service-tools-and-settings
  • Для доменной среды логика другая, но для автономной локальной сети (или рабочих станций вне домена) настройки делаются вручную через w32tm.
  • Обычно достаточно одного сервера времени в локальной сети, но в Windows рекомендуется указывать три или более источника при задании нескольких одноранговых узлов.
    Источник: https://learn.microsoft.com/ru-ru/windows-server/networking/windows-time-service/windows-time-service-tools-and-settings

Вариант 1. В локальной сети есть один “раздающий” компьютер (Windows) - на него настраиваем сервер времени

Шаг 1. Настройте W32Time на раздающем компьютере

  1. Откройте командную строку от имени администратора.
  2. Включите режим, в котором этот компьютер объявляется сервером времени.
  3. В большинстве инструкций для Windows используют настройку AnnounceFlags в реестре, чтобы клиенты принимали его как доверенный источник. Практический пример настройки приведен здесь:
    https://www.korolevskiy.com/biblioteka/9-blog/90-server-sinxronizaczii-vremeni-v-lokalnoj-seti-windows.html
  4. Включите встроенный NTP-сервер W32Time через параметры Windows, затем перезапустите службу времени.
  5. Пример пошаговой настройки через групповые политики и перезапуск службы описан здесь:
    https://www.korolevskiy.com/biblioteka/9-blog/90-server-sinxronizaczii-vremeni-v-lokalnoj-seti-windows.html

Если вы не хотите трогать политики, можно начать с проверки текущего состояния на сервере:

w32tm /query /configuration
w32tm /query /status

Шаг 2. Проверьте, что сервер отвечает по UDP 123

На практике сначала полезно проверить доступность NTP у клиентов командой w32tm /monitor (см. ниже). Это быстрее, чем гадать.

Если между клиентами и сервером стоит межсетевой экран, убедитесь, что разрешен UDP 123.

Порт и протокол требования для NTP в W32Time указаны у Microsoft:
https://learn.microsoft.com/ru-ru/windows-server/networking/windows-time-service/windows-time-service-tools-and-settings

Вариант 2. Сервер времени уже есть в локальной сети - на Windows 10 настраиваем клиент

Дальше настройка одинаковая: вы говорите Windows 10, с какого адреса брать время.

Шаг 1. Настройте NTP-клиент на Windows 10

  1. Откройте “Дата и время” и перейдите на вкладку “Время по Интернету”.
  2. Нажмите “Изменить параметры...” и укажите IP-адрес или DNS-имя вашего локального NTP-сервера.
  3. Нажмите “Обновить сейчас”.

Короткая инструкция по интерфейсу Windows 10:
https://www.ntp-servers.net/setup/windows10.html

Шаг 2. Настройка через командную строку (удобно для массового запуска)

  1. Откройте командную строку от имени администратора.
  2. Выполните:
w32tm /config /syncfromflags:manual /manualpeerlist:"IP_сервера_в_локалке" /update

Если серверов времени несколько, можно перечислить их (лучше использовать больше узлов, если есть возможность):

w32tm /config /syncfromflags:manual /manualpeerlist:"IP1 IP2 IP3" /update

Команды w32tm /config и флаги для ручного списка одноранговых узлов описаны у Microsoft:
https://learn.microsoft.com/ru-ru/windows-server/networking/windows-time-service/windows-time-service-tools-and-settings

Немедленная синхронизация и проверка результата

Синхронизировать сразу

w32tm /resync

Функция принудительной повторной синхронизации описана у Microsoft:
https://learn.microsoft.com/ru-ru/windows-server/networking/windows-time-service/windows-time-service-tools-and-settings

Проверить, откуда взято время

w32tm /query /source
w32tm /query /status
w32tm /query /configuration

Проверить доступность NTP сервера

На клиенте можно мониторить конкретный сервер:

w32tm /monitor /computers:IP_или_имя

Пример, как это используют в реальной сети, приведен здесь:
https://internet-lab.ru/windows_ntp_client

Как настроить много компьютеров: быстрый батник для клиентов

Создайте файл, например sync-time.bat, и положите его на рабочие места.

Вариант для одного сервера:

w32tm /config /syncfromflags:manual /manualpeerlist:"IP_сервера,0x1" /update
net stop w32time
net start w32time
w32tm /resync

Указание параметров w32tm /config, перезапуск службы w32time и принудительная синхронизация - распространенный рабочий подход; пример сценария с батником приведен здесь:
https://www.korolevskiy.com/biblioteka/9-blog/90-server-sinxronizaczii-vremeni-v-lokalnoj-seti-windows.html

Частые ошибки, из-за которых время “уезжает”

Проблема Симптомы Что проверить
Блокировка UDP 123 Время не синхронизируется, w32tm /monitor показывает недоступность Правила Firewall между клиентами и сервером. NTP использует UDP 123 у W32Time. Источник: https://learn.microsoft.com/ru-ru/windows-server/networking/windows-time-service/windows-time-service-tools-and-settings
Синхронизация все еще идет с внешнего источника Клиент продолжает пытаться ходить на публичные сервера Проверьте w32tm /query /configuration, затем заново задайте локальный сервер командой w32tm /config ... /update
Служба времени не запущена или не применились изменения w32tm /resync не дает результата Перезапустите w32time и выполните w32tm /resync
Несогласованная настройка на сервере времени Клиенты принимают, но синхронизация нестабильна Убедитесь, что раздающий компьютер действительно включен как NTP-сервер W32Time (и перезапущена служба) по инструкции вида: https://www.korolevskiy.com/biblioteka/9-blog/90-server-sinxronizaczii-vremeni-v-lokalnoj-seti-windows.html
Нужна синхронизация “прямо сейчас” после изменения После настройки прошло мало времени, а разницы на клиентах еще нет Запускайте w32tm /resync или используйте встроенную задачу планировщика принудительной синхронизации (для Windows 10 это иногда удобнее). Практический вариант запуска задачи приведен здесь: https://qna.habr.com/q/587733

Если после настройки все равно нет синхронизации

  1. На клиенте проверьте источник:
w32tm /query /source
  1. Проверьте мониторинг по серверу:
w32tm /monitor /computers:IP_или_имя
  1. Проверьте конфигурацию:
w32tm /query /configuration

Пример полного разбора “почему отвалилась синхронизация” и замены внешнего источника на локальные адреса через w32tm приведен здесь:
https://internet-lab.ru/windows_ntp_client

Вывод

Для Windows 10 в локальной сети обычно достаточно двух вещей: включить W32Time на сервере времени (если сервер вы делаете сами) и на клиентах задать локальный NTP-адрес через интерфейс или командой w32tm, после чего принудительно выполнить w32tm /resync. Главное условие - разрешенный UDP 123 между клиентами и сервером и корректная конфигурация W32Time.