Цель работы: освоить базовые команды Linux при настройке сетевых служб.
NTP (Network Time Protocol) — сетевой протокол для синхронизации времени на компьютерах по сети.
Даже несколько минут разницы между серверами могут привести к ошибкам авторизации, проблемам с сертификатами и сбоям приложений.
Chrony — современная реализация NTP для Linux:
chronydchronyc/etc/chrony.confПример IP‑адресов (подставьте свои при выполнении):
- Сервер:
192.168.56.10- Клиент:
192.168.56.11
apt-get install chrony -y
Убедитесь, что служба запущена:
systemctl status chronyd
Откройте основной конфигурационный файл Chrony. Путь может отличаться, чаще всего:
vim /etc/chrony.conf
Найдите строку вида:
pool...
Обычно по умолчанию уже прописан pool.ntp.org iburst.
Параметр iburst ускоряет начальную синхронизацию.
Измените существующую, чтобы разрешить доступ клиентам из вашей сети, например 192.168.56.0/24:
allow 192.168.56.0/24
Если строки allow не было — добавьте её в конец файла.
Внимание:
allow 0.0.0.0/0разрешит всем в интернете использовать ваш сервер.
Чаще всего по умолчанию уже есть строка:
local stratum 10
Она позволяет использовать этот сервер как источник времени, если внешние сервера недоступны (он объявляется как «локальный» с плохим приоритетом).
Примените изменения:
systemctl restart chronyd
Убедитесь, что служба запущена:
systemctl status chronyd
Посмотрите, с какими NTP‑серверами синхронизируется ваш Chrony:
chronyc sources
Пример вывода:
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* time1.google.com 1 6 377 20 -123us[ -150us] +/- 10ms
Символ * слева означает, что этот источник сейчас выбран основным.
Посмотрите сводную информацию по синхронизации:
chronyc tracking
Reference ID/Reference time— с кем и когда синхронизировались;System time/Last offset— насколько система отстаёт/спешит;Leap status— статус коррекции (обычноNormal).Установите Chrony:
apt-get install chrony -y
Откройте конфигурационный файл Chrony на клиенте:
vim /etc/chrony.conf
Закомментируйте (или удалите) все внешние pool, и добавьте строку, указывающую ваш NTP‑сервер:
pool 192.168.56.10 iburst
(подставьте IP‑адрес вашей серверной машины)
Перезапустите Chrony на клиенте:
systemctl restart chronyd
systemctl status chronyd
Проверьте, какой NTP‑сервер используется:
chronyc sources
Ожидаемый результат: в списке источников будет только ваш сервер 192.168.56.10, со статусом ^* или ^+.
Проверьте состояние синхронизации:
chronyc tracking
Убедитесь, что:
Leap status : Normal.На сервере:
date
На клиенте:
date
Разница должна быть минимальной (обычно менее 1 секунды).
На клиенте временно отключите Chrony:
systemctl stop chronyd
Вручную измените время (искусственно сделайте неправильное время, например на +5 минут):
date -s "5 minutes"
Проверьте:
date
Снова включите Chrony:
systemctl start chronyd
Через 1–2 минуты снова посмотрите:
date
chronyc tracking
Время должно вернуться к серверному, а Chrony покажет корректировку.
Если сервер не имеет доступа в интернет, но вы всё равно хотите, чтобы он был «источником времени» для локальной сети (даже если это время не абсолютно точное):
В конфигурации сервера /etc/chrony.conf можно использовать:
local stratum 10
Это говорит, что при отсутствии внешних источников сервер будет считать своё локальное время эталонным с плохим приоритетом (stratum 10), но клиенты всё равно смогут синхронизироваться с ним.
На клиенте попробуйте следующие команды:
chronyc sourcestats
chronyc activity
sourcestats— статистика по каждому источнику времени;activity— сколько источников доступно, сколько используется.pool... iburstв конфигурации Chrony?allow 192.168.56.0/24в конфигурации NTP‑сервера?Stratumв выводеchronyc trackingилиchronyc sources?