Автоматическая синхронизация времени на компьютере Windows
Автоматическая синхронизация времени на компьютере Windows
Синхронизация времени – достаточно важная вещь. Без точного времени не работают сервисы обновлений, не функционируют некоторые сайты, мессенджеры и другие приложения. Настроить синхронизацию несложно, но требуется четкое соблюдение инструкции.
Принцип синхронизации времени
Синхронизация времени осуществляется при подключении компьютера к серверу, на котором указано точное время. Чаще всего, период обновления – 7 дней. Есть способы, с помощью которых можно укоротить промежуток синхронизацию и настроить другой сервер, не стандартный. Один из таких способов – настройка автоматического обновления.
Настройки автоматической синхронизации
В системе Windows 7, 8, 10 есть встроенные часы, которые расположены в правом нижнем углу экрана, на панели уведомлений. Эти часы уже настроены на автоматическое обновление времени, а сервером является “time.windows.com”. Бывают случаи, когда время, все же, не синхронизируется. Если пользователь столкнулся с такой проблемой, перейдем к ее решению.
Стандартные настройки
Для начала стоит воспользоваться стандартным функционалом:
- Перейти по пути “Пуск” – “Панель Управления”, в правом углу открывшегося окна найти пункт “Просмотр”, изменить значение на “Мелкие значки”, затем найти пункт “Дата и время”.
- Откроются настройки времени. Их также можно вызвать по клику левой кнопкой мыши на календаре в строке уведомлений. В открывшемся подменю нужно выбрать “Изменение настроек даты и времени…”.
- Далее, в открывшемся окне, перейти на вкладку “Время по Интернету”. На ней будет предоставлены сведения о существующем способе синхронизации и названии сервера (если она включена). Для изменения конфигурации нажать на “Изменить параметры…”.
- Список серверов времени для синхронизации будет описан далее. Выбрать один из них, либо один из предоставленных по стандарту, кликнуть по кнопке “Обновить сейчас” и убедиться в том, что галочка напротив пункта “Синхронизировать с сервером времени в Интернете” активна. Нажать “ОК”.
Это позволит устанавливать время и дату на компьютере автоматически.
Командная строка
Следующий способ не помогает настроить синхронизацию, это просто команда, которая помогает провести операцию синхронизации вручную с целью ее ускорения:
- Нажать комбинацию клавиш “WIN+R”, в поле открывшегося окна ввести “cmd” (возможно потребуются права администратора).
- Откроется командная строка. Ввести команду “w32tm /resync”.
Команда сработает, если включено автообновление времени.
SP TimeSync
Также можно воспользоваться сторонними приложениями:
- После того как программа была загружена и установлена, важно настроить ее на автозапуск при старте системы. Не обязательно в развернутом состоянии. Нужно отметить соответствующие пункты галочками.
- Перейти к вкладке “NTP клиент”, в пункте меню “Получать каждые…” указать интервал обновления.
- Вернуться к вкладке “Время”, нажать на кнопку “Получить время”, затем “Задать время”. После этого системное значение будет изменено на значение из программы.
Важно: программу нужно не закрывать, а сворачивать в трей, иначе обновления не произойдет.
Изменение времени обновления
Процедура связана с редактированием записей реестра с помощью стандартных возможностей системы:
- На клавиатуре одновременно нажать “WIN+R”, ввести в поле “regedit”.
- Перейти по следующему пути: HKEY_LOCAL_MACHINESYSTEMControlSet001servicesW32TimeTimeProvidersNtpClient.
- Выбрать пункт “SpecialPollInterval”, кликнуть по нему дважды, переключиться на десятичную систему исчисления.
- Определиться с интервалом, перевести его в секунды, внести значение в поле, нажать “ОК”.
Популярные серверы
NTP-Servers
Самый распространенный сервер точного времени среди всех, имеет несколько адресов для синхронизации. Чтобы найти адреса, нужно в правой части сайта NTP-Servers кликнуть по кнопке “Серверы”.
NTP Pool Project
После перехода на сайт NTP Pool Project выбрать сервер в правой части экрана, соответствующий региону.
Скопировать один из адресов и настроить время на ПК.
Time in UA
Сервер Time in UA специально для украинской аудитории. Все что нужно – перейти на сайт и выбрать один из адресов.
Настройка NTP на сервере
В операционных системах существует немало служб, нормальное функционирование которых зависит от точности хода системных часов. Если на сервере не установлено точное время, это может стать причиной различных проблем.
Например, в локальной сети требуется, чтобы часы машин, совместно использующих файлы, были синхронизированы — иначе невозможно будет правильно устанавливать время модификации файлов. Это, в свою очередь может стать причиной конфликта версий или перезаписи важных данных.
Если на сервере не установлено точное время, возникнут проблемы с заданиями Cron — неясно, когда они будут запускаться. Будет очень трудно анализировать журналы системных событий для диагостики причин сбоев и неисправностей…
Продолжать можно долго…
Чтобы избежать всех описанных проблем, необходимо настроить синхронизацию системных часов. В Linux для этого используется протокол NTP (Network Time Protocol). В этой статье мы подробно расскажем о том, как на сервере осуществить установку и настройку NTP. Начнем с небольшого теоретического введения.
Как работает протокол NTP
В основе протокола NTP лежит иерархическая структура серверов точного времени, в которой выделяются различные уровни (англ. strata). К уровню 0 относятся эталонные часы (атомные часы или часы GPS). На нулевом уровне NTP-серверы не работают.
С эталонными часами синхронизируются NTP-серверы первого уровня, которые являются источниками для серверов уровня 2. Серверы уровня 2 синхронизируются с серверами уровня 1, но могут также синхронизироваться и между собой. Аналогичным образом работают серверы уровня 3 и ниже. Всего поддерживается до 256 уровней.
Иерархическая структура протокола NTP характеризуется отказоустойчивостью и избыточностью. В случае отказов соединения с вышестоящими серверами резервные серверы берут процесс синхронизации на себя. За счет избыточности обеспечивается постоянная доступность NTP-серверов. Синхронизируясь с несколькими серверами, NTP использует данные всех источников, чтобы рассчитать наиболее точное время.
Установка и настройка NTP-сервера
Самым известным и распространенным программным средством для синхронизации времени является демон ntpd. В зависимости от настроек, указанных в конфигурационном файле (об этом еще пойдет речь ниже), он может выступать как в качестве сервера, так и в качестве клиента (т.е может как принимать время с удаленных хостов, так и раздавать его другим хостам). Ниже мы подробно расскажем о том, как осуществляется установка и настройка этого демона в OC Ubuntu.
Установка
Программа NTP входит в состав дистрибутивов большинства современных Linux-систем и устанавливается при помощи стандартного менеджера пакетов:
Настройка
По завершении установки откроем в текстовом редакторе файл /etc/ntp.conf. В нем хранятся все настройки программы. Рассмотрим их более подробно.
Параметры логирования
Первая строка конфигурационного файла выглядит так:
В ней указывается файл для хранения информации о частоте смещения времени. В этом файле хранится значение, получаемое в результате предшествующих корректировок времени. Если внешние NTP-серверы по той или иной причине становятся недоступными, значение будет взятого из него.
Далее указывается файл, в который будут сохраняться логи синхронизации:
Список серверов для синхронизации
В конфигурационном файле указывается список NTP-серверов, с которыми будет осуществляться синхронизация. По умолчанию он выглядит так:
Каждая строка означает группу серверов, которые будут cообщать нашему серверу корректное время. Повысить точность синхронизации можно с помощью опции 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-сервер, по какой-либо причине отключенный от Интернета, может передавать для синхронизации данные своих системных часов. Для этого в конфигурационный файл нужно добавить следующую строку:
Ограничения
В последнее время участились случаи использования NTP-серверов для усиления трафика в DDoS-атаках (подробнее об этом см., например, здесь ). Чтобы наш сервер не стал жертвой злоупотреблений, нелишним будет установить ограничения на доступ для внешних клиентов. По умолчанию в файлe /etc/ntp.conf установлены следующие ограничения:
Параметры nomodify, notrap, nopeer и noquery запрещают сторонним клиентам изменять что-либо на сервере. Параметр kod (эта аббревиатура означает kiss of death — «поцелуй смерти») обеспечивает дополнительную защиту: клиент, отправляющий слишком частые запросы, сначала получит так называемый kod-пакет (предупреждение об отказе в обслуживании), а затем будет отключен от сервера.
Чтобы с NTP-сервером могли синхронизироваться машины из локальной сети, добавим в конфигурационный файл следующую строку:
Для локального хоста можно установить доступ к NTP-серверу без ограничений:
Проверка синхронизации
После того, как все необходимые изменения внесены в конфигурационный файл и сохранены, перезапустим NTP-сервер:
Затем выполним следующую команду:
Ее вывод будет представлен в виде таблицы:
В таблице указываются следующие параметры:
- remote — адрес сервера точного времени (в этой графе отображаются серверы из списка в конфигурационном файле);
- refid — вышестоящий сервер (тот, от которого сервер из предыдушей графы получает синхронизацию);
- st — уровень (stratum) сервера;
- t — тип пира (u- unicast, m- multicast);
- when — время последней синхронизации;
- poll — время в секундах, за которое демон NTP синхронизируется с пиром;
- reach — состояние доступности сервера; после восьми успешных попыток синхронизации значение этого параметра становится равным 377;
- delay — время задержки ответа от сервера;
- offset — разница времени между нашим сервером и сервером синхронизации; положительное значение этого параметра означает, что наши часы спешат, отрицательное — что отстают;
- jitter — смещение времени на удаленном сервере.
Слева от адреса сервера могут быть указаны следующие символы:
- * сервер выбран для синхронизации;
- + сервер, пригодный для обновления (с которым можно синхронизироваться);
- — с сервером синхронизироваться не рекомендуется;
- х сервер недоступен.
Проверить, пригоден ли сервер из списка для синхронизации, можно при помощи команды:
Из приведенного вывода видно, что сервер пригоден для синхронизации, его уровень — 2, смещение — 0,127936 мс, задержка — 0.026 мс.
О том, как проходила синхронизация (успешно или с ошибками) можно также узнать из логов:
Установка локальной даты и времени
С помощью команды ntpdate можно установить на сервере локальную дату и время, отправив соответствующий запрос к NTP-серверу:
7.15 ntpdate — утилита синхронизации времени в ОС
В РЕД ОС синхронизировать время можно следующими основными способами:
- вручную при помощи утилиты ntpdate;
- автоматически при помощи сервиса ntp.
Программа ntpdate — позволяет разово синхронизировать локальное время с эталонным сервером времени в интернете. Подобных эталонов существует достаточно много. Для примера можно воспользоваться одним из них — pool.ntp.org.
Запускаем синхронизацию времени:
Утилита провела синхронизацию, в результате которой к системному времени было добавлено число секунд, необходимое для приближения к эталонному. Если в результате работы синхронизации возникает ошибка: «no server suitable for synchronization found», то попробуйте в работе утилиты использовать непривилегированный порт. По-умолчанию ntpdate работает по 123 порту. Если он закрыт на фаерволе, то помочь в синхронизации поможет следующий параметр:
Если у вас запуск ntpdate завершается ошибкой — «the NTP socket is in use, exiting», значит у вас уже установлена и запущена служба ntpd, которая заняла необходимый udp-порт, необходимый для работы ntpdate.
Сервер времени ntp использует в своей работе одноименный протокол — Network Time Protocol, которому для работы необходим UDP-порт 123. Так что перед установкой и настройкой службы времени убедитесь, что на фаерволе открыт этот порт.
Устанавливаем сервер ntp:
Если вы используете РЕД ОС версии 7.1 или 7.2, выполните команду:
Если вы используете РЕД ОС версии 7.3 и старше, выполните команду:
Теперь отредактируем файл конфигурации /etc/ntp.conf, удалив все лишнее:
server | Список серверов для синхронизации времени. |
Driftfile | Задает адрес файла, в котором хранится история изменений времени во время синхронизации. Если по каким-то причинам синхронизация времени с внешними источниками станет невозможна, служба времени изменит системные часы в соответствии с записями в этом файле. |
Restrict 127.0.0.1 | Указывает, что пользоваться нашим сервером времени можно только непосредственно с локального интерфейса. Если вам необходимо разрешить другим компьютерам в вашей локальной сети синхронизировать время с текущей машины, то укажите в данном параметре адрес вашей сети, например: |
restrict 192.168.10.0 mask 255.255.255.0
restrict default nomodify notrap nopeer noquery — Параметры указывают на то, что клиентам данного сервиса времени запрещено изменять его настройки, получать его статус. Они могут только забрать с него значения точного времени.
disable monitor — Данный параметр повышает безопасность, предотвращая использования одной из уязвимостей сервиса ntpd, которую можно использовать для проведения DDoS атак.
Logfile — Указывает путь к файлу с логами сервиса.
После завершения редактирования файла настроек запускаем службу синхронизации времени:
Проверяем запустился ли сервер:
Все в порядке, служба слушает положенный порт 123. Проверим на всякий случай системные логи используемой ОС:
Теперь настроим автозапуск ntp вместе с загрузкой используемой ОС:
Наблюдать за работой службы ntp можно с помощью команды:
remote | Адрес удаленного эталона времени, с которого была синхронизация. |
Refid | Указывает, откуда каждый эталон получает точное время. Это могут быть другие сервера времени, система GPS и другое. |
St | Уровень (Stratum) это число от 1 до 16, которое указывает на точность эталона. 1- максимальная точность, 16 — сервер недоступен. Уровень вашего сервера будет равен уровню наименее точного удаленного эталона плюс 1. |
poll | Интервал в секундах между опросами. |
Reach | Восьмеричное представление массива из 8 бит, отражающего результаты последних восьми попыток соединения с эталоном. Бит выставлен, если удаленный сервер ответил. |
Delay | Время задержки ответа на запрос о точном времени. |
Offset | Разница между вашим и удаленным сервером |
jitter | Дисперсия (Jitter) — это мера статистических отклонений от значения смещения (поле offset) по нескольким успешным парам запрос-ответ. Чем меньше значение дисперсии, тем лучше, поскольку позволяет точнее синхронизировать время. |
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
Настроить pdc для синхронизации времени
Настройка NTP в Windows Server 2012
- By beuser
- on Ноя 27, 2017
- in Система
Настройка времени в серверных операционных системах Windows с помощью протокола NTP является критичной для многих служб. Без правильного настроенного времени, а точнее при рассогласовании часов на сервере и рабочих станциях не могут правильно работать многие протоколы Active Directory и сервисы синхронизации. Установка и поддержка часов с помощью NTP является простой задачей, связанной иногда, однако, с некоторыми сложностями, которые мы попытаемся рассмотреть в этой статье.
Для примера будем использовать не самую свежую систему — Windows Server 2012. Она является наиболее распространенной и, в то же время, для многих других систем, включая Windows Server 2008, Windows Server 2016 применимы аналогичные команды и правила. Следует отметить, что описание касается настройки окружения с единственным главным контроллером PDC. Более сложные варианты не рассматриваются.
Сброс настроек NTP
Для того, чтобы перевести службу NTP в «дефолтное» состояние, необходимо выполнить следующие команды:
Stop-Service w32time w32tm /unregister w32tm /register
В данном случае они останавливают сервис, разрегистрируют сервис и регистрируют его в системе заново. Следует выполнять эти команды только в случае существенной необходимости. Как правило, нужды в них нет — NTP настраивается, если учтены другие обстоятельства системы.
Команды установки NTP в обычном случае
Для того, чтобы настроить протокол сетевого времени на контроллере Windows Server, прежде всего необходимо отключить синхронизацию посредством Hyper-V, если контроллер виртуализирован с помощью этой технологии. Для этого нужно зайти в настройки и снять галочку с пункта Time Synchronization в разделе Management -> Integration Services
Для тех, кто не использует Hyper-V, предыдущий шаг можно опустить.
Далее, запустить Power-Shell и ввести команды:
w32tm /config /manualpeerlist:pool.ntp.org /syncfromflags:MANUAL Stop-Service w32time Start-Service w32time
На этом установка в качестве основного ntp-сервера одного из pool.ntp.org закончена.
Выбор ntp-сервера
Однако нет жесткой необходимости использовать именно этот сервер. Для тех, кто находится в интранете, для тех, у кого есть предпочтения по геолокации или другим параметрам, можно указать другой сервер. Или даже список в кавычках, разделенный пробелами:
w32tm /config /manualpeerlist:"0.de.pool.ntp.org 1.de.pool.ntp.org" /syncfromflags:MANUAL
Протокол UDP для NTP и блокировка файрволом
Протокол времени использует для своей связи порт UDP с номером 123 в стандартной конфигурации. Необходимо следить за тем, чтобы файрвол не блокировал этот порт. В случае, если блокировка происходит, в логах ntp будет масса информации о том, что соединение невозможно:
Log Name: System
Source: Microsoft-Windows-Time-Service
Event ID: 47
Level: Warning
Description: Time Provider NtpClient: No valid response has been received from manually configured peer pool.ntp.org after 8 attempts to contact it. This peer will be discarded as a time source and NtpClient will attempt to discover a new peer with this DNS name. The error was: The peer is unreachable.
Для того, чтобы убедиться, что проблема именно в этом, можно включить вывод дополнительной отладочной информации. Настраиваем логи Windows Server таким образом, чтобы в них писалась вся необходимая информация, но они не росли больше, чем 20 мегабайт:
w32tm /debug /enable /file:C:tmpntp.log /size:20971520 /entries:0-300
Следите за тем, чтобы на диске присутствовал каталог C:tmp куда будут записаны логи.
После того, как ошибка будет отловлена, вывод дополнительной отладочной информации можно будет отключить:
w32tm /debug /disable
Блокировка ntp файрволом отлавливается по фразе в отладке:
— Logging error: NtpClient has been configured to acquire time from one or more time sources, however none of the sources are currently accessible and no attempt to contact a source will be made for 1 minutes. NTPCLIENT HAS NO SOURCE OF ACCURATE TIME.
В этом случае (да, в общем, сразу с целью проверки) необходимо проверить правило в файрволе
И, в случае необходимости, поменять правило или добавить его.
Проверка правильности работы ntp
Чтобы проверить — все ли работает правильно, можно запустить синхронизацию вручную:
Если все прошло успешно, получите сообщение:
Sending resync command to local computer
The command completed successfully.
Если есть проблемы — сообщение:
The computer did not resync because no time data was available.
Во втором случае необходимо проверить все сначала: файрвол, правильность заданных серверов (не ошиблись ли в имени). Если что — информацию о сбросе настроек мы уже приводили.