Проверить синхронизацию времени ntp windows

Вы можете столкнуться с ошибкой синхронизации времени в Windows, когда ваш компьютер не может автоматически синхронизировать свое время с серверами времени time.microsoft.com в Интернете. Из-за некорректного времени на компьютере у вас может возникать ошибка «
Your clock is ahead/ Ваши Часы спешат (отстают)
» при открытии HTTPS сайтов Chrome (и в других браузерах), не корректно работать сторонние программы, и появляться различные другие неприятности.

Если попытаться вручную выполнить синхронизацию времени из панели управления Windows (Control Panel -> Date and Time -> Internet Time -> Change Settings -> Update now), появляется ошибка:

An error occurred while windows was synchronizing with time.windows.com. The peer is unreachable.

Также здесь может быть ошибка:

The peer is unresolved.

ошибка синхронизации времени с интернетом в windows

Проверьте, что у вас настроена автоматическая синхронизация времени с NTP серверами в Интернете. Перейдите в раздел Settings -> Time and Language -> Date and Time (можно перейти в этот раздел с помощью команды быстрого доступа по URI:
ms-settings:dateandtime
). Проверьте, что здесь включена опцию Set time automatically и выполните синхронизацию, нажав кнопку Sync now в разделе Additional settings.

включить синхронизацию времени

Если синхронизация времени с Интернетом не работает, проверьте, с какого внешнего NTP сервера должен получить время ваш компьютер. Выполните команду:

w32tm /query /peers

w32tm /query /peers вывести источник времени

По умолчанию компьютеры в рабочих группах (не присоединенные к домену Active Directory) настроены на получение времени с серверов time.windows.com.

Если при запуске этой команды появилась ошибка “The following error occurred: The service has not been started. (0x80070426)”, проверьте состояние службы Windows Time. Она должна быть настроена на автоматический или ручной запуск. Можете проверить состояние службы с помощью PowerShell или консоли services.msc:

Get-Service w32time| Select DisplayName,Status, ServiceName,StartType

Перезапустите службу:

Restart-Service -Name w32time

Если служба отключена, включите ее.

проверить службу времени в Windows (w32time)

Проверьте, что с вашего компьютера доступен хост time.microsoft.com.

Сначала проверьте, что ваш компьютер может разрешить это имя в IP адрес:

nslookup time.windows.com

Если ваш компьютер не может отрезолвить это имя в IP адрес (ошибка синхронизации времени The peer is unresolved), значит в настройках сетевого адаптера вашего компьютера указан DNS сервер, который не доступен, или изолирован от интернета. Попробуйте сменить адрес первичного DNS сервера на DNS сервер Google (8.8.8.8). Можно изменить настройки DNS для сетевого адаптера в Windows с помощью PowerShell.

Вывести список сетевых интерфейсов:

Get-NetAdapter

вывести сетевые интерфейсы компьютера

Изменить настройки DNS для сетевого адаптера с ifIndex 10:

Set-DNSClientServerAddress –InterfaceIndex 10 –ServerAddresses 8.8.8.8

Проверьте доступность сервера с помощью ping:

ping time.windows.com

И затем проверьте, что сервер времени Microsoft доступен по порту NTP (UDP 123). Для проверки доступности UDP порта можно использовать утилиту portquery или можно напрямую обратиться к серверу и запросить у него текущее время:

w32tm /stripchart /computer:time.windows.com

w32tm /stripchart - проверить время на внешнем NTP сервере

Если команда вернет ошибку error: 0x800705B4, значить указанный NTP сервер не доступен. Проверьте, что в Windows открыт исходящий порт UDP/123 для протокола NTP (по умолчанию порт должен быть открыт). Вы можете принудительно открыть порт в Windows Defender Firewall с помощью PowerShell:

New-NetFirewallRule -DisplayName "AllowOutNTP" -Direction Outbound -Protocol UDP -RemotePort 123 -Action Allow
Enable-NetFirewallRule -DisplayName AllowOutNTP

Также убедитесь, что исходящий NTP трафик не блокируется на сетевом уровне (провайдера, вашего файервола или другими сетевыми устройствами).

Если этот NTP сервер не доступен, вы можете использовать другой NTP сервер.

Можно указать
time.nist.gov
или ближайший к вам NTP сервер, который можно получить на сайте
https://www.ntppool.org
.

Можно изменить адрес вашего NTP сервера с помощью командной строки:

w32tm /config /manualpeerlist:time.nist.gov,0x1 /syncfromflags:manual /reliable:yes /update

Перезапустите службу времени (в данном примере вы запустим несколько команд в одну строку):

net stop w32time && net start w32time

Затем выполните синхронизацию времени:

w32tm /config /update
w32tm /resync

Проверьте, что ваш компьютер успешно получил время с нового источника времени (NTP сервера):

w32tm /query /status

w32tm /query /status - проверить синхронизацию времени

Если ничего не помогло, попробуйте полностью сбросить настройки службы Windows Time:

net stop w32time
w32tm /unregister
w32tm /register
net start w32time

Выполните синхронизацию времени:

w32tm /resync

Также вы можете добавить NTP сервер в список серверов времени и выполнить синхронизацию из панели управления Windows. Перейдите в Settings -> Time & language -> Date & time -> Additional clocks –> Internet Time

Убедитесь, что включена опцию Synchronize with an Internet time, добавьте новый сервер time.nist.gov и нажмите кнопку Update Now.

Вы можете добавить NTP сервера в этот список через реестр HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers.

ntp сервера в реестра windows

Для автоматической синхронизации времени в Windows используется отдельно задание в планировщике Task Scheduler. Запустите консоль taskschd.msc и перейдите в раздел Task Scheduler (Local) -> Task Scheduler Library -> Microsoft -> Windows -> Time Synchronization. Проверьте, что задание SynchronizeTime включено.

Также вы можете проверить состояние задания Task Scheduler с помощью PowerShell:

Get-ScheduledTask SynchronizeTime

Чтобы включить его:

Get-ScheduledTask SynchronizeTime|Enable-ScheduledTask

Что такое протокол NTP и зачем он нужен

Протокол NTP позволяет компьютерам и устройствам синхронизироваться с высокоточными источниками времени, такими как атомные часы или GPS-устройства. Его разработали для точной и надежной передачи временных меток по IP-сетям. Понимание этого протокола поможет вам не только поддерживать точное время в сети, но и повысить общую стабильность и безопасность информационных систем.

Как время связано со стабильностью и безопасностью? В операционных системах есть службы, нормальная работа которых зависит от точности хода системных часов. Если на сервере не установлено точное время, это может стать причиной различных проблем. Например, в локальной сети требуется, чтобы часы машин, совместно использующих файлы, были синхронизированы — иначе невозможно будет правильно устанавливать время модификации файлов. Это, в свою очередь, может привести к конфликту версий или перезаписи важных данных.

В распределенных системах синхронизированное время жизненно важно для координации действий и процессов. Без него операции могут конфликтовать или завершаться неудачей. Это приводит к потенциальной потере или повреждению данных. Точное время также имеет критическое значение для протоколов безопасности, которые используются в аутентификации и шифровании. Несоответствия времени могут создавать уязвимости, которые будут использовать злоумышленники. Кроме того, во многих отраслях требуется точное отслеживание времени для соблюдения нормативных требований. Точные логи необходимы для аудитов и в юридических вопросах.

Как работает протокол NTP

В основе протокола NTP лежит иерархическая структура серверов точного времени. Она включает несколько уровней.

  • Нулевой уровень — это эталонные часы, например атомные.
  • Первый уровень — NTP-серверы, которые синхронизируются с эталонными часами. Это источник данных для серверов второго уровня.
  • Второй уровень — тоже NTP-серверы. Они синхронизируются с первым уровнем, а также между собой.

Далее структура повторяется — она поддерживает до 256 уровней. При этом ей свойственны отказоустойчивость и избыточность. В случае отказов соединения с вышестоящими серверами резервные берут процесс синхронизации на себя. За счет избыточности обеспечивается постоянная доступность NTP-серверов. Многократная синхронизация позволяет протоколу использовать данные всех источников, чтобы рассчитать наиболее точное время.

Пример реализации протокола NTP.

Пример реализации протокола NTP. Источник.

Чем NTP отличается от SNTP

SNTP (Simple network time protocol), или простой протокол времени сети, — упрощенная версия NTP. Обе технологии предназначены для синхронизации часов компьютеров и устройств в сети, однако значительно различаются по своей сложности и точности.

NTP использует сложные алгоритмы для достижения высокой точности синхронизации времени, обычно в пределах миллисекунд от всемирного координированного времени (UTC). Протокол может учитывать задержки в сети и смещение времени часов в разных точках планеты, производя непрерывные корректировки для поддержания точности. Из-за своей сложности и точности NTP обычно используется в корпоративных средах, где критически важно поддерживать точное время. Например, в финансовых транзакциях, ведении логов и протоколах безопасности.

SNTP не выполняет постоянных корректировок. Это приводит к более низкому качеству синхронизации времени. В результате протокол больше подходит для простых приложений, где высокая точность не так важна. Это могут быть IP-камеры, видеорегистраторы и некоторые сетевые коммутаторы.

Еще одно различие двух протоколов в том, что NTP может подключаться к нескольким источникам времени, идентифицируя и игнорируя неисправные. SNTP подключается к единственному источнику и не обладает продвинутыми функциями, что делает его менее надежным. Он служит более простой альтернативой: жертвует точностью и надежностью ради легкости реализации.

Выбор протокола должен основываться на двух факторов:

  • потребностях сети,
  • критичности задач, которым важна синхронизация времени.

Установка и настройка NTP-клиента

Самым известным и распространенным программным средством для синхронизации времени является демон ntpd. В зависимости от настроек, указанных в конфигурационном файле (об этом еще пойдет речь ниже), он может выступать как в качестве сервера, так и в качестве клиента. Другими словами, может как принимать время с удаленных хостов, так и раздавать. Ниже подробно расскажем, как установить и настроить этот демон в Linux.

Шаг 1: установка пакета NTP

На этом шаге вы можете использовать инструмент управления пакетами вашей ОС. Например, для Ubuntu или дистрибутивов на базе Debian выполните команду в терминале:

sudo apt update
sudo apt install ntp

Для CentOS или RHEL используйте команду:

sudo yum install ntp

Это установит демон NTP, который отвечает за синхронизацию времени.

Шаг 2: настройка NTP-клиента

По завершении установки откройте в текстовом редакторе файл /etc/ntp.conf. В нем хранятся все настройки программы. Рассмотрим их более подробно.

Параметры логирования

Первая строка конфигурационного файла выглядит так: driftfile /var/lib/ntp/ntp.drift. В ней указывается файл для хранения информации о частоте смещения времени. 

Внутри файла хранится значение, получаемое в результате предшествующих корректировок. Если внешние NTP-серверы по той или иной причине становятся недоступными, значение будет взятого из него.

Далее указывается файл, в который будут сохраняться логи синхронизации: logfile /var/log/ntp.log.

Список серверов для синхронизации

В конфигурационном файле указывается список NTP-серверов, с которыми будет осуществляться синхронизация. По умолчанию он выглядит так:

  • server 0.ubuntu.pool.ntp.org
  • server 1.ubuntu.pool.ntp.org
  • server 2.ubuntu.pool.ntp.org
  • server 3.ubuntu.pool.ntp.org

Каждая строка означает группу серверов, которые будут сообщать нашей машине корректное время. Повысить точность синхронизации можно с помощью опции iburst. Она указывает, что на сервер для синхронизации нужно посылать не один, а несколько пакетов. Чтобы добавить эту опцию, допишите к каждому серверу из списка выше iburst:

  • server 0.ubuntu.pool.ntp.org iburst
  • server 1.ubuntu.pool.ntp.org iburst
  • server 2.ubuntu.pool.ntp.org iburst
  • server 3.ubuntu.pool.ntp.org iburst

Можно также указать предпочтительный сервер при помощи опции prefer. По аналогии с проведенными выше манипуляциями просто допишите prefer в каждой строке со списком серверов:

  • server 0.ubuntu.pool.ntp.org iburst prefer
  • server 1.ubuntu.pool.ntp.org iburst prefer
  • server 2.ubuntu.pool.ntp.org iburst prefer
  • server 3.ubuntu.pool.ntp.org iburst prefer

NTP-серверы разбросаны по всему миру — вот, например, список доступных публичных NTP-серверов. Чтобы обеспечить более точную установку системных часов, лучше  синхронизироваться только с NTP-серверами того региона, в котором расположен ваш сервер. Для этого в конфигурационном файле /etc/ntp.conf нужно указать в адресах региональный поддомен для pool.ntp.org:

  • Азия — asia.pool.ntp.org,
  • Европа — europe.pool.ntp org,
  • Африка — africa.pool.ntp.org,
  • Северная Америка — north-america.pool.ntp.org,
  • Южная Америка — south-america.pool.ntp.org,
  • Океания — oceania.pool.ntp.org.

Можно также указывать поддомены для отдельных стран. Например, для России это ru.pool.ntp.org. Полный список региональных поддоменов доступен на сайте NTP Pool Project.

Пример файла для NTP-клиента:

# Указываем NTP-сервер, к которому будет подключаться клиент
server 192.168.1.10 iburst


# Настройки локальной сети
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1


# Логирование
logfile /var/log/ntp.log


# Указываем, что это клиент
driftfile /var/lib/ntp/drift

Шаг 3: Запуск и включение службы NTP

После настройки клиента необходимо запустить службу NTP. Используйте следующую команду:

sudo systemctl start ntp

Шаг 4: Настройка брандмауэра (если необходимо)

Если на вашей системе включен брандмауэр, необходимо разрешить трафик NTP через UDP-порт 123. На Ubuntu с UFW это можно сделать командой:

sudo ufw allow 123/udp

Шаг 5: Проверка синхронизации NTP

Чтобы проверить, правильно ли синхронизируется ваш клиент, можете использовать следующую команду:

ntpq -p

Эта команда отобразит список NTP-серверов, к которым подключен ваш клиент, вместе с их статусом. Вы должны увидеть звездочку (*) рядом с сервером, с которым ваша система в настоящее время синхронизирована.

Установка и настройка NTP-сервера

Клиент готов — теперь настроим сервер.

Шаг 1: Установка пакета NTP

Для сервера NTP установка такая же, как для клиента. Используйте команды:

sudo apt update
sudo apt install ntp

Для CentOS или RHEL используйте:

sudo yum install ntp

Шаг 2: Настройка NTP-сервера

Пример файла ntp.conf для NTP-сервера:

# Указываем серверы времени, с которыми будет синхронизироваться наш сервер
server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburst
# Настройки локальной сети
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1
# Разрешаем доступ к серверу для локальных клиентов
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# Логирование
logfile /var/log/ntp.log
# Указываем, что это сервер времени
driftfile /var/lib/ntp/drift

Проверка работы NTP-сервера

Для проверки работы сервера можно выполнить команду:

ntpq -pn

Ее вывод будет представлен в виде таблицы:

remote           refid      st t when poll reach    delay      offset       jitter
==============================================================================
*62.76.96.4      130.173.91.58    2 u  207  256   37   10.985  -215.79 256.992
+85.21.78.91     89.175.22.41     2 u  193  256   37   32.623  -207.70 259.121
+31.131.249.27   89.175.22.41     2 u  198  256   37    0.621  -216.90 257.037
+85.21.78.8      193.11.166.20    2 u  193  256   37   32.028  -207.41 259.863
+91.189.94.4     193.79.237.14    2 u  192  256   37   50.573  -206.62 259.542

В таблице указываются следующие параметры:

  • remote — адрес сервера точного времени (в этой графе отображаются серверы из списка в конфигурационном файле);
  • refid — вышестоящий сервер (тот, от которого сервер из предыдущей графы получает синхронизацию);
  • st — уровень (stratum) сервера;
  • t — тип пира (u- unicast, m- multicast);
  • when — время последней синхронизации;
  • poll — время в секундах, за которое демон NTP синхронизируется с пиром;
  • reach — состояние доступности сервера; после восьми успешных попыток синхронизации значение этого параметра становится равным 377;
  • delay — время задержки ответа от сервера;
  • offset — разница времени между нашим сервером и сервером синхронизации; положительное значение этого параметра означает, что наши часы спешат, отрицательное — что отстают;
  • jitter — смещение времени на удаленном сервере.

Слева от адреса сервера могут быть указаны следующие символы:

  • * (звездочка) — сервер выбран для синхронизации;
  • + (плюс) — сервер, пригодный для обновления (с которым можно синхронизироваться);
  • (нет символа) — с сервером синхронизироваться не рекомендуется;
  • х — сервер недоступен.

Проверить, пригоден ли сервер из списка для синхронизации, можно при помощи команды:

ntpdate -q <адрес_NTP_сервера>

Вывод команды будет иметь такой вид:

server хх.ххх.ххх.ххх, stratum 2, offset −0.127936, delay 0.02600
7 Jul 14:30:23 ntpdate[7716]: adjust time server хх.ххх.ххх.ххх offset −0.127936 sec

Здесь видно, что сервер пригоден для синхронизации, его уровень — 2, смещение — 0,127936 мс, задержка — 0,026 мс.

Узнать, были ли ошибки при синхронизации, можно из логов. Чтобы их посмотреть, введите команду:

journalctl -u ntpd

Текущий статус ntpd можно проверить с помощью следующей команды:

 ntpdc -c sysinfo

Вывод выглядит так:

system peer: 62.76.96.10
system peer mode: client
leap indicator: 11
stratum: 3
precision: −21
root distance: 0.01314 s
root dispersion: 1.66203 s
reference ID: [62.76.96.4]
reference time: d768a894.3824a929 Thu, Jul 10 2014 9:52:20.219
system flags: auth monitor ntp kernel stats 
jitter: 0.393768 s
stability: 0.000 ppm
broadcastdelay: 0.000000 s
authdelay: 0.000000 s

Зачем нужен резервный сервер точного времени

Резервный сервер никогда не будет лишним. Если основной окажется недоступным из-за проблем с сетью, технического обслуживания или сбоя, резервный сможет взять на себя его функции. Так получится избежать сбоев в синхронизации времени.

В средах с высоким трафиком или множеством устройств использование основного и резервного NTP-серверов помогает распределить нагрузку. Это помогает исключить эффект «узкого горлышка» и улучшить общую производительность.

Настройка резервных серверов, расположенных в разных регионах, позволяет снизить риск локальных сбоев, влияющих на синхронизацию времени. Если основной сервер находится, скажем, в Москве и сталкивается с проблемами, резервный сервер в Санкт-Петербурге сможет предоставить информацию о времени. Кроме того, при использовании нескольких серверов клиент может сравнивать время, предоставляемое каждым из них. Это позволяет системе выбрать наиболее точный источник и повышает общую точность синхронизации.

Настройка резервного сервера

Откройте файл конфигурации ntp.conf — о нем мы писали выше — и укажите резервный сервер. Пример:

  • server primary-ntp-server.example.com iburst
  • server backup-ntp-server.example.com iburst

Также можно настроить приоритеты для серверов. Например, использовать параметр prefer только для основного сервера:

  • server primary-ntp-server.example.com iburst prefer
  • server backup-ntp-server.example.com iburst

После этих изменений необходимо будет перезапустить службу.

Проверка статуса синхронизации NTP в Linux и Windows

Несмотря на то, что NTP характеризуется высокой надежностью, рекомендуем периодически проверять статус синхронизации. Посмотрим, как это можно сделать в Linux и Windows.

Linux

Чтобы получить информацию о состоянии сервера и его синхронизации, выполните команду:

ntpq -p

Она выведет список NTP-серверов, с которыми ваш сервер пытается синхронизироваться, а также информацию о состоянии синхронизации.

Чтобы узнать о состоянии синхронизации демона NTP (ntpd), работающего на локальной машине, выполните команду:

ntpstat

Вы получите информацию о том, синхронизирован ли сервер, и если да, то насколько точно.

Если ваша система использует systemd, вы можете проверить статус времени и синхронизации с помощью команды:

timedatectl status

Она покажет текущее время, статус синхронизации и информацию о часовом поясе.

Windows

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

w32tm /query /status

Она покажет текущее состояние службы времени Windows, включая информацию о последнем успешном синхронизированном времени.

Чтобы увидеть список доступных NTP-серверов, с которыми ваш компьютер может синхронизироваться, выполните команду:

w32tm /query /peers

Это даст вам представление о том, с какими серверами ваша система пытается установить связь.

Для проверки конфигурации NTP-сервера можно использовать команду:

w32tm /query /configuration

Она покажет текущие настройки службы времени Windows.

Основные ошибки при настройке NTP и их устранение

Настройка NTP может быть сопряжена с различными проблемами. Рассмотрим три распространенные ошибки и способы их устранения.

The NTP socket is in use, exiting

Эта ошибка возникает, когда служба пытается запуститься, но обнаруживает, что сокет уже используется другой службой или процессом. Такое может произойти, если NTP уже запущен или если другой процесс использует тот же порт (обычно 123). 

Чтобы устранить ошибку, проверьте, запущен ли уже процесс NTP, командой:

sudo systemctl status ntp

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

sudo systemctl restart ntp

Если другой процесс использует порт, вы можете найти его с помощью команды:

sudo lsof -i :123

После этого можно остановить конфликтующий процесс или изменить конфигурацию.

Connection refused

Ошибка Connection refused возникает, когда клиент NTP не может подключиться к серверу. Это может быть связано с неправильной конфигурацией сервера, его недоступностью или блокировкой порта.

Чтобы устранить ошибку, проверьте, что сервер доступен и работает. Попробуйте выполнить команду:

ntpq -p

Она покажет список доступных серверов и их статус. Проверьте конфигурацию вашего NTP-клиента. Убедитесь, что в файле конфигурации /etc/ntp.conf указаны правильные адреса серверов. Убедитесь, что порты не блокируются брандмауэром. Проверьте настройки iptables или ufw:

sudo ufw status

Если порт 123 закрыт, откройте его:

sudo ufw allow 123/udp

No server suitable for synchronization found

Эта ошибка указывает, что клиент не может найти подходящий сервер для синхронизации времени. Это может быть вызвано неправильной конфигурацией серверов или их недоступностью.

Для устранения проверьте файл конфигурации /etc/ntp.conf и убедитесь, что в нем указаны корректные и доступные NTP-серверы. Попробуйте использовать другие публичные серверы, если текущие недоступны. Убедитесь, что ваш сервер имеет доступ к интернету, если вы используете публичные NTP-серверы. Проверить соединение можно с помощью команды:

ping google.com

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

PING google.com (172.217.16.206): 56 data bytes
64 bytes from 172.217.16.206: icmp_seq=0 ttl=117 time=14.2 ms
64 bytes from 172.217.16.206: icmp_seq=1 ttl=117 time=13.8 ms
64 bytes from 172.217.16.206: icmp_seq=2 ttl=117 time=14.0 ms
  • 64 bytes from…: ваш компьютер успешно получил ответ от указанного адреса.
  • icmp_seq: номер последовательности пакета.
  • ttl: время жизни пакета, указывающее, сколько маршрутизаторов он прошел.
  • time: время, затраченное на получение ответа, измеряется в миллисекундах (ms).

Чтобы остановить выполнение команды ping, нажмите Ctrl + C. Это завершит процесс и покажет статистику, включая количество отправленных и полученных пакетов, а также среднее время ответа.

Как сделать систему NTP более безопасной

У протокола NTP есть защищенная версия  —  NTS (Network Time Security). Она была разработана для устранения уязвимостей, который может подвергаться атакам, таким как подделка времени и атаки типа «man-in-the-middle».

Первым шагом в использовании NTS является выбор сервера, который поддерживает этот протокол. Современные NTP-серверы, такие как NTPsec и Chrony, уже имеют встроенную поддержку NTS.

Для настройки сервера необходимо активировать NTS. Это включит конфигурацию прослушивания NTS-соединений и установку необходимых криптографических ключей. Они отвечают за аутентификацию и шифрование данных. Управление этими ключами является критически важным аспектом реализации NTS. Сервер должен генерировать и хранить закрытые ключи, в то время как открытые могут быть распространены среди клиентов.

Клиенты, которые хотят использовать NTS для синхронизации времени, также должны быть настроены на работу с протоколом. Это подразумевает указание адреса сервера и, в некоторых случаях, загрузку открытого ключа сервера для аутентификации.

При установлении соединения между клиентом и сервером происходит обмен ключами, что позволяет обеим сторонам аутентифицировать друг друга. Этот процесс предотвращает возможность того, что клиент получит недостоверную информацию о времени из-за вмешательства со стороны злоумышленника. После успешной аутентификации устанавливается безопасное соединение, которое позволяет клиенту запрашивать и получать точное время от сервера.

Заключение

NTP играет важную роль в современном мире, обеспечивая синхронизацию времени между устройствами в компьютерных сетях. Точное время необходимо для финансовых транзакций, работы систем управления, распределенных баз данных и многого другого. Благодаря этому протоколу устройства могут корректно обмениваться данными, поддерживать согласованность и обеспечивать безопасность операций.

Кроме того, с учетом растущих угроз кибербезопасности, использование защищенных версий NTP, таких как Network Time Security (NTS), становится все более актуальным. NTS обеспечивает дополнительные уровни аутентификации и шифрования, что помогает защитить системы от атак и гарантировать целостность получаемой информации о времени. В итогеёёё NTP не только облегчает повседневные операции, но и обеспечивает необходимую безопасность, что делает его неотъемлемой частью любой надежной IT-инфраструктуры.

Ошибка синхронизации времени в Windows может вызывать проблемы с доступом к HTTPS-сайтам, работой программ и другими неполадками. Например, браузеры могут выдавать ошибку «Your clock is ahead» или «Your clock is behind». В этой статье расскажем, как устранить ошибки синхронизации времени с NTP-серверами (например, time.windows.com) с помощью PowerShell, проверки сети и настройки службы w32time.

Приобрести оригинальные ключи активации Windows 10 можно у нас в каталоге от 1490 ₽

Проверка автоматической синхронизации времени

1. Проверьте настройки времени:

– Откройте ПараметрыВремя и языкДата и время (ms-settings:dateandtime).

– Убедитесь, что включена опция Установить время автоматически (Set time automatically).

– Нажмите Синхронизировать (Sync now) в разделе Дополнительные настройки.

2. Проверьте источник времени:


w32tm /query /peers

– По умолчанию: time.windows.com (для компьютеров в рабочей группе).

Диагностика службы Windows Time

1. Проверьте состояние службы w32time:


Get-Service w32time | Select DisplayName, Status, ServiceName, StartType

– Служба должна быть Запущена (Running) и иметь тип запуска Автоматический или Ручной.

2. Перезапустите службу:


Restart-Service -Name w32time

3. Включите службу, если отключена:


Set-Service -Name w32time -StartupType Automatic
Start-Service -Name w32time

Проверка сетевой доступности NTP-сервера

1. Проверьте разрешение имени:


nslookup time.windows.com

– Если ошибка «The peer is unresolved», DNS-сервер недоступен или изолирован.

2. Смените DNS на Google:

– Выведите сетевые интерфейсы:


Get-NetAdapter

– Установите DNS (ifIndex — номер интерфейса, например, 10):


Set-DNSClientServerAddress -InterfaceIndex 10 -ServerAddresses 8.8.8.8

3. Проверьте доступность сервера:


ping time.windows.com

4. Проверьте порт NTP (UDP 123):


w32tm /stripchart /computer:time.windows.com

– Ошибка 0x800705B4 указывает на недоступность сервера.

5. Откройте порт UDP 123 в Windows Defender Firewall:


New-NetFirewallRule -DisplayName "AllowOutNTP" -Direction Outbound -Protocol UDP -RemotePort 123 -Action Allow
Enable-NetFirewallRule -DisplayName AllowOutNTP

6. Проверьте сетевые ограничения:

– Убедитесь, что UDP 123 не блокируется провайдером, файрволом или роутером.

Смена NTP-сервера

Если time.windows.com недоступен, используйте другой сервер, например, time.nist.gov или серверы из ntppool.org.

1. Настройте новый NTP-сервер:


w32tm /config /manualpeerlist:time.nist.gov,0x1 /syncfromflags:manual /reliable:yes /update

2. Перезапустите службу:


net stop w32time && net start w32time

3. Выполните синхронизацию:


w32tm /config /update
w32tm /resync

4. Проверьте статус:


w32tm /query /status

Сброс настроек службы времени

Если синхронизация не работает, сбросьте настройки w32time:


net stop w32time
w32tm /unregister
w32tm /register
net start w32time
w32tm /resync

Настройка через графический интерфейс

1. Откройте ПараметрыВремя и языкДата и времяДополнительные часыВремя Интернета.

2. Убедитесь, что включена Синхронизация с сервером времени в Интернете.

3. Добавьте time.nist.govОбновить сейчас (Update Now).

Настройка через реестр

Добавьте NTP-сервер в реестр:

– Путь: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers.

– Создайте строковый параметр (например, 2) со значением time.nist.gov.

Проверка задания в планировщике задач

1. Откройте Планировщик задач (taskschd.msc).

2. Перейдите в Библиотека планировщика задачMicrosoftWindowsTime Synchronization.

3. Убедитесь, что задание SynchronizeTime включено.

4. Через PowerShell:


Get-ScheduledTask SynchronizeTime
Get-ScheduledTask SynchronizeTime | Enable-ScheduledTask

Рекомендации

Безопасность: Используйте надёжные NTP-серверы (time.nist.gov, pool.ntp.org).

Мониторинг: Проверяйте логи в Event Viewer (System, события w32time):


Get-WinEvent -LogName System | Where-Object {$_.ProviderName -eq "Microsoft-Windows-Time-Service"}

Автоматизация: Настройте скрипт для проверки синхронизации:


$status = w32tm /query /status
if ($status -notlike "*Synchronized*") { w32tm /resync; Write-Output "Time resynced" }

Резервное копирование: Сохраняйте настройки реестра перед изменением:


reg export HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers C:\PS\ntp.reg

Ошибки синхронизации времени в Windows устраняются проверкой службы w32time, DNS, порта UDP 123 и настройкой NTP-серверов. PowerShell упрощает диагностику и настройку, позволяя быстро сменить сервер, открыть порт или сбросить настройки. Правильная синхронизация времени критически важна для стабильной работы приложений и безопасности соединений.

Компьютеры члены домена синхронизируют свое время с доменным контроллером. Эта настройка прописывается автоматически при включении компьютера в домен. Но сам доменный контроллер остается не настроенным, источника точного времени по умолчанию у него нет.

В интернете существует большое количество ntp серверов, предоставляющих точное время. И Windows Server может с ними синхронизироваться.Для указания адреса ntp сервера используется команда w32tm (KB307897):

w32tm /config /syncfromflags:manual /manualpeerlist:список

Где список — адрес(а) ntp сервера(ов).

После указания адреса ntp сервера требуется сообщить запущенной службе времени об изменении настроек:

w32tm /config /update

Пример настройки Windows Server

Исходное состояние:

C:\>w32tm /query /status
Leap Indicator: 0(no warning)
Stratum: 1 (primary reference - syncd by radio clock)
Precision: -6 (15.625ms per tick)
Root Delay: 0.0000000s
Root Dispersion: 10.0000000s
ReferenceId: 0x4C4F434C (source name:  "LOCL")
Last Successful Sync Time: 19.01.2012 22:24:14
Source: Local CMOS Clock
Poll Interval: 6 (64s)

Указываем адрес ntp сервера:

C:\>w32tm /config /syncfromflags:manual /manualpeerlist:ntp.time.in.ua
The command completed successfully.

Применяем настройки:

C:\>w32tm /config /update
The command completed successfully.

Проверяем:

C:\>w32tm /query /status
Leap Indicator: 0(no warning)
Stratum: 2 (secondary reference - syncd by (S)NTP)
Precision: -6 (15.625ms per tick)
Root Delay: 0.0312500s
Root Dispersion: 7.7760349s
ReferenceId: 0x3E95001E (source IP:  62.149.0.30)
Last Successful Sync Time: 19.01.2012 23:27:40
Source: ntp.time.in.ua
Poll Interval: 8 (256s)

Сервер времени успешно настроен.

microsoft-windows:win-command-line-tools:w32tm-manage-windows-time-service

Содержание

Утилита w32tm — Управляем службой времени в Windows

Как настроить NTP-сервер с помощью w32tm?

Как проверить статус синхронизации с NTP-сервером с помощью w32tm?

Проверяем текущее состояние службы времени и статус последней успешной синхронизации с NTP-сервером:

w32tm /query /Status

Индикатор помех: 0(предупреждений нет) Страта: 4 (вторичная ссылка - синхронизирована с помощью (S)NTP) Точность: -6 (15.625ms за такт времени) Задержка корня: 0.0937500s Дисперсия корня: 7.9058435s Идентификатор опорного времени: 0x0AA01008 (IP-адрес источника: 10.10.1.8) Время последней успешной синхронизации: 14.07.2020 14:53:05 Источник: DC01.ad.holding.com Интервал опроса: 10 (1024s)

Как проверить доступность NTP-сервера с помощью w32tm?

Отсылается 5 запросов на UDP порт 123 NTP-сервера следующим образом:

w32tm /stripchart /computer:DC01.ad.holding.com /dataonly /samples:5

Ответ от NTP-сервера получим примерно такой:

Отслеживание DC01.ad.holding.com [10.10.1.8:123].
Сбор образцов 5.
Текущее время - 21.12.2016 10:28:13.
10:28:13, +00.1740513s
10:28:15, +00.1764264s
10:28:17, +00.1788762s
10:28:19, +00.1871543s
10:28:21, +00.1868310s
microsoft-windows/win-command-line-tools/w32tm-manage-windows-time-service.txt

· Последнее изменение: 14.07.2020 15:09 —

Алексей Максимов


Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Добавление пользователя из командной строки windows 10
  • Не удалось запустить размещенную сеть в windows
  • Драйверы nvidia geforce 9500 gt для windows 10 x64
  • Windows server 2012 r2 служба терминалов
  • Как остановить проверку диска chkdsk при загрузке в windows 7