Введение
NTP (Network Time Protocol) — это протокол, позволяющий синхронизировать время компьютеров в сети. NTP-сервер — это система, которая выступает в качестве эталона для синхронизации времени и предоставляет точное время клиентам, которые к нему подключаются.
Сервер NTP важен, потому что синхронизация времени имеет решающее значение для многих приложений, включая аутентификацию, криптографию и компьютерную безопасность. Неадекватная синхронизация времени может вызвать проблемы, такие как потеря данных или неправильная обработка запросов.
Чтобы настроить сервер NTP, вам необходимо установить программное обеспечение NTP на сервере и настроить клиентов для доступа к серверу NTP. Сервер NTP можно настроить для синхронизации времени с одним или несколькими внешними эталонами времени, такими как серверы времени в Интернете.
Сервер NTP также можно настроить как клиент, чтобы он синхронизировался с другим внешним сервером NTP. Это полезно, если вы хотите обеспечить синхронизацию времени в большой сети и предотвратить проблемы с локальной синхронизацией времени.
Точное хронометраж является важным аспектом любой компьютерной системы и особенно важен для серверов, где правильное время имеет решающее значение для многих приложений, таких как ведение журнала, аутентификация и безопасность. Протокол сетевого времени (NTP) — это широко используемый протокол для синхронизации часов компьютера по сети.
В Linux системные часы можно синхронизировать с NTP-сервером с помощью утилиты командной строки timedatectl
, которая является частью системы systemd и диспетчера служб. Утилита timedatectl предоставляет простой и удобный способ управления системным временем и датой, включая настройку конфигурации NTP.
Установите службу синхронизации времени
Timesync — это минималистичный сервис для синхронизации местного времени с NTP-серверами. Пакет содержит системную службу systemd-timesyncd, которую можно использовать для синхронизации локальных системных часов с удаленным сервером Network Time Protocol.
Чтобы установить службу, выполните следующую команду:
apt install systemd-timesyncd
После установки служба запустится автоматически. Вы можете убедиться в этом, выполнив следующую команду:
sudo systemctl status systemd-timesyncd
● systemd-timesyncd.service - Network Time Synchronization
Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2023-02-02 11:57:46 UTC; 3min 53s ago
Docs: man:systemd-timesyncd.service(8)
Main PID: 2004 (systemd-timesyn)
Status: "Connecting to time server 80.88.90.14:123 (0.debian.pool.ntp.org)."
Tasks: 2 (limit: 1828)
Memory: 1.0M
CPU: 48ms
CGroup: /system.slice/systemd-timesyncd.service
└─2004 /lib/systemd/systemd-timesyncd
Включить синхронизацию часов
Чтобы синхронизировать системные часы Linux с NTP-сервером с помощью timedatectl, вам необходимо выполнить следующую команду от имени пользователя root или использовать sudo:
sudo timedatectl set-ntp true
Эта команда включает функцию синхронизации NTP и заставляет систему автоматически запускать синхронизацию с серверами NTP, указанными в файле конфигурации /etc/systemd/timesyncd.conf. По умолчанию служба timesyncd использует известный пул серверов NTP, который предоставляет большое количество общедоступных серверов NTP.
Проверьте изменения
Вы можете проверить состояние синхронизации NTP, выполнив следующую команду:
timedatectl
Выходные данные команды должны отображать состояние синхронизации NTP, а также смещение времени от сервера NTP, если оно доступно.
Синхронизируйте аппаратные часы
Важно отметить, что команда timedatectl влияет только на системные часы, которые являются основными системными часами, используемыми операционной системой и приложениями. Аппаратные часы, также известные как часы реального времени (RTC), представляют собой отдельные часы, которые работают независимо от системы и используются для отображения времени, даже когда система выключена. Чтобы синхронизировать аппаратные часы с системными, вам необходимо выполнить следующую команду:
sudo timedatectl set-local-rtc 1
Заключение
В заключение, команда timedatectl set-ntp
— это простой и удобный способ синхронизировать системные часы Linux с NTP-сервером и обеспечить точное отслеживание времени в вашей системе. Используя NTP, вы можете гарантировать согласованность и точность системного времени и избежать потенциальных проблем, вызванных неправильными настройками времени.