- tocdepth
2
Синхронизация времени с помощью NTP
NTP или Network Time Protocol — это сетевой протокол для синхронизации всех системных часов через сетевое соединение. NTP-клиент запрашивает время у общедоступного NTP-сервера, а затем использует ответ сервера для корректировки локальных часов. Для синхронизации используется UDP-порт 123.
Протокол NTP позволяет синхронизировать запуск и окончание процессов в сети и обеспечивает точность до наносекунд.
- Синхронизация по времени обеспечивает:
согласованную работу устройств и приложений, обрабатывающих данные в реальном времени;
корректность процедур, связанных с совершением транзакций, работой c сертификатами, работой c электронной подписью;
возможность находить внутренние инциденты и контролировать нарушения безопасности в компьютерной сети;
согласованность информации о времени событий в операционной системе или приложениях, доступной в логах;
возможность хранить точную информацию о времени, если есть такое требование.
- На виртуальных машинах ECS можно настроить синхронизацию с общедоступными серверами времени по протоколу NTPv4:
Для ВМ под управлением ОС Windows нужно указать три рекомендуемых сервера в настройках синхронизации времени.
На ВМ под управлением OC на основе Linux нужно включить DHCP-клиент с опцией 42, Network Time Protocol Servers (опция позволяет автоматически применять список серверов синхронизации, отправляемый сервером DHCP).
Если сервера DHCP-сервера недоступны или неработоспособны, укажите запасные серверы синхронизации в настройках системы.
Порядок настройки:
В виртуальной машине ECS откройте UDP-порт 123 в настройках группы безопасности.
Произведите настройку синхронизации времени:
Примечание
Сервис systemd-timesyncd
не работает вместе с инструментами ntpd
и chronyd
, если они запущены одновременно.
Если эти инструменты уже установлены, то воспользуйтесь ими или удалите их.
Укажите запасные серверы в файле
/etc/systemd/timesyncd.conf
, в секцииTime
в параметреFallbackNTP=
. Ниже приведен пример:FallbackNTP=ntp.sbercloud.ru
Задайте параметр
UseNTP=true
в конфигурационном файле сервиса «systemd.network». Чаще всего он находится в каталоге/etc/systemd/network
или/var/lib/systemd/network
.Включите и перезапустите службу
systemd-timesyncd
:sudo systemctl restart systemd-timesyncd.service
Проверьте статус синхронизации часов.
timedatectl
В строке System clock synchronized
должно отображаться yes
.
Примечание
Сервис ntpd
не работает вместе с инструментами systemd-timesyncd
и chronyd
, если они запущены одновременно.
Если эти инструменты уже установлены, то воспользуйтесь ими или удалите их.
Укажите адреса нужных серверов в конфигурации ntpd
.
Укажите адреса из общедоступных серверов ru.pool.ntp.org. При указании списка серверов можно указать как сам пул, так и отдельные сервера из него:
0.ru.pool.ntp.org
1.ru.pool.ntp.org
2.ru.pool.ntp.org
3.ru.pool.ntp.org
Пример установки серверов:
# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board # on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for # more information. # server 0.ubuntu.pool.ntp.org # server 1.ubuntu.pool.ntp.org # server 2.ubuntu.pool.ntp.org # server 3.ubuntu.pool.ntp.org server 0.ru.pool.ntp.org server 1.ru.pool.ntp.org server 2.ru.pool.ntp.org server 3.ru.pool.ntp.org
Перезапустите сервис.
sudo service ntp restart
Проверьте запуск службы.
sudo ntpq -p
В настройках сервиса Windows Time укажите сервера с помощью последовательных команд в PowerShell или cmd
:
Запустите cmd или PowerShell от имени администратора.
Остановите службу W32Time.
net stop w32time
Укажите NTP-серверы для синхронизации времени:
0.ru.pool.ntp.org
1.ru.pool.ntp.org
2.ru.pool.ntp.org
3.ru.pool.ntp.org
При использовании нескольких отдельных NTP-серверов укажите их через пробел.
w32tm /config /manualpeerlist:"0.ru.pool.ntp.org 1.ru.pool.ntp.org" /syncfromflags:manual /update
Запустите службу.
net start w32time
Проверьте результат.
Конфигурация NTP-клиента на машине с именем узла
HOSTNAME
:w32tm /query /computer:HOSTNAME /configuration
Используемые NTP-серверы в выходном параметре
NtpServer
:reg query HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
Если после настройки системное время не синхронизируется:
Убедитесь, что правила группы безопасности разрешают исходящие подключения на порт 123 по протоколу UDP.
Проверьте корректность настройки, которую вы выполнили выше.
Убедитесь, что служба запущена.
для Dev & Test