Как установить NTP с помощью Chrony в Linux
Сохранение точной даты и времени в системе Linux имеет важное значение, поскольку многие службы, такие как задания cron и сценарии, полагаются на точное время, чтобы функционировать должным образом. Протокол сетевого времени, сокращенно NTP, — это протокол, который поддерживает точное время в системе Linux. Это интернет-протокол, который играет роль в синхронизации часов системы Linux с доступными онлайн-серверами NTP.
Старый добрый демон ntpd, который использовался для синхронизации настроек времени и даты, устарел и недоступен для современных систем Linux, таких как Ubuntu 20.04, Fedora 30 и CentOS 8. Вместо него у нас есть chrony , который является реализацией NTP, разработанной RedHat.
Chrony делает лучший выбор по следующим причинам:
Chrony синхронизирует время намного быстрее, чем его предшественник NTP.
Это компенсирует проблемы с задержкой и задержки в сети.
-
Он по-прежнему хорошо работает даже при деградации сети.
Вы можете настроить локальный сервер с chrony для работы в качестве сервера времени, с которого остальные клиентские ПК могут получать настройки даты и времени.
Структура Хрони
Chrony состоит из демона chronyd и инструмента командной строки chronyc. Демон chronyd работает в фоновом режиме и синхронизирует системное время с серверами, указанными в файле /etc/chrony.conf.
Утилита командной строки chronyc позволяет пользователям взаимодействовать с chrony и извлекать как можно больше информации.
Мы начнем с установки Chrony в различных дистрибутивах Linux.
Установите Chronyd в Linux
В современных системах Chronyd устанавливается по умолчанию. Однако chrony не включен в старые системы Linux, которые все еще полагаются на устаревший пакет NTP.
Итак, вот как вы можете установить Chrony.
В Ubuntu/Debian/Mint
В CentOS/RHEL
После установки включите и запустите демон Chronyd следующим образом:
Затем подтвердите статус следующим образом:
Как вы можете видеть, демон chronyd активен и работает, как и ожидалось.
Конфигурационный файл Хрони
Настройки Chrony определяются в файле конфигурации /etc/chrony.conf или /etc/chrony/chrony.conf. Первоначально вмешательство не требуется, поскольку значения по умолчанию уже синхронизируют вашу систему с доступными пулами серверов NTP. Основные дистрибутивы Linux, такие как Ubuntu, CentOS, RHEL и Fedora, имеют свои пулы NTP по умолчанию.
Из приведенного ниже файла конфигурации пул серверов NTP, с которым синхронизируется система Linux, называется pool 2.centos.pool.ntp.org iburst.
Для Ubuntu это выглядит так, как показано.
Проверить синхронизацию времени с Chronyc
Чтобы убедиться, что Chrony действительно запущен, и просмотреть пиры и серверы, к которым он подключен, выполните команду:
Чтобы просмотреть подробный список серверов времени, их IP-адресов, перекоса времени и смещения, а также нескольких параметров, выполните:
С флагом -v вы можете получить более подробную информацию, как показано ниже:
Вы также можете подтвердить, что хрония синхронизирована, используя приведенную ниже команду. Идентификатор ссылки дает вам имя сервера, на который ваша система указывает для получения настроек времени и даты. Другие детали, такие как Последнее смещение и Системное время, указывают, насколько далеко система находится от сервера NTP.
Команда timedatectl также пригодится и поможет узнать, включена служба NTP или нет.
Настроить NTP-клиент
Чтобы настроить другую систему в вашей локальной сети в качестве клиента и указать ее на ваш NTP-сервер, выполните следующие действия.
На NTP-сервере перейдите к файлу конфигурации Chrony, раскомментируйте директиву allow и укажите маску подсети. В моем случае маска подсети — 192.168.2.0/24.
Сохраните и выйдите из файла конфигурации.
Обязательно разрешите службу NTP через брандмауэр. В моем случае я открою брандмауэр на CentOS 8 следующим образом:
Затем перезагрузите, чтобы изменения вступили в силу:
Затем перезапустите демон chronyd.
В клиентской или удаленной системе раскомментируйте все пулы NTP и добавьте показанную строку. Предоставленный IP-адрес является IP-адресом NTP-сервера. Для вашего случая это, конечно, будет иначе, поэтому отредактируйте это соответствующим образом.
сервер 192.168.2.109
Снова перезапустите демон chronyd, чтобы изменения отразились.
Теперь клиентская система будет направлена на сервер NTP в той же сети, как показано.
Заключение
Мы продемонстрировали, как установить NTP в Linux с помощью службы Chrony и как настроить клиентскую систему так, чтобы она указывала на сервер NTP.