- Что нужно знать перед настройкой
- Вариант 1. В локальной сети есть один “раздающий” компьютер (Windows) - на него настраиваем сервер времени
- Вариант 2. Сервер времени уже есть в локальной сети - на Windows 10 настраиваем клиент
- Немедленная синхронизация и проверка результата
- Как настроить много компьютеров: быстрый батник для клиентов
- Частые ошибки, из-за которых время “уезжает”
- Если после настройки все равно нет синхронизации
- Вывод
Когда в локальной сети есть один источник времени, а остальные компьютеры не могут ходить в Интернет, проще всего выстроить синхронизацию через 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 на раздающем компьютере
- Откройте командную строку от имени администратора.
- Включите режим, в котором этот компьютер объявляется сервером времени.
- В большинстве инструкций для Windows используют настройку
AnnounceFlagsв реестре, чтобы клиенты принимали его как доверенный источник. Практический пример настройки приведен здесь:
https://www.korolevskiy.com/biblioteka/9-blog/90-server-sinxronizaczii-vremeni-v-lokalnoj-seti-windows.html - Включите встроенный NTP-сервер W32Time через параметры Windows, затем перезапустите службу времени.
- Пример пошаговой настройки через групповые политики и перезапуск службы описан здесь:
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
- Откройте “Дата и время” и перейдите на вкладку “Время по Интернету”.
- Нажмите “Изменить параметры...” и укажите IP-адрес или DNS-имя вашего локального NTP-сервера.
- Нажмите “Обновить сейчас”.
Короткая инструкция по интерфейсу Windows 10:
https://www.ntp-servers.net/setup/windows10.html
Шаг 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 |
Если после настройки все равно нет синхронизации
- На клиенте проверьте источник:
w32tm /query /source
- Проверьте мониторинг по серверу:
w32tm /monitor /computers:IP_или_имя
- Проверьте конфигурацию:
w32tm /query /configuration
Пример полного разбора “почему отвалилась синхронизация” и замены внешнего источника на локальные адреса через w32tm приведен здесь:
https://internet-lab.ru/windows_ntp_client
Вывод
Для Windows 10 в локальной сети обычно достаточно двух вещей: включить W32Time на сервере времени (если сервер вы делаете сами) и на клиентах задать локальный NTP-адрес через интерфейс или командой w32tm, после чего принудительно выполнить w32tm /resync. Главное условие - разрешенный UDP 123 между клиентами и сервером и корректная конфигурация W32Time.