Задание №4: Служба сетевого времени Chrony на ISP
В данном задании на пограничном маршрутизаторе провайдера (ISP) развёртывается локальный сервер точного сетевого времени на базе сервиса chrony.
Маршрутизатор синхронизируется с вышестоящими серверами в Интернете (pool.ntp.org) и выступает в качестве доверенного источника времени 5-го стратума (local stratum 5) для всех внутренних узлов обоих филиалов: HQ-SRV, HQ-CLI, BR-RTR и BR-SRV.
Распределение ролей
- NTP-сервер (Stratum 5): маршрутизатор
ISP(IP-адрес в сторону HQ:172.16.1.1). - NTP-клиенты:
HQ-SRV(192.168.1.10)BR-RTR(172.16.2.2)BR-SRV(192.168.3.10)HQ-CLI(192.168.2.x)
1. Теоретическая справка: протокол NTP и сервис Chrony
Что такое уровни синхронизации (Stratum)?
Иерархия протокола NTP измеряется уровнями удалённости от эталонного источника — стратумами (Stratum):
- Stratum 0 — физические эталонные часы (атомные стандарты времени, спутники GPS/ГЛОНАСС).
- Stratum 1 — серверы, физически подключённые к устройствам Stratum 0.
- Stratum 2 — серверы, синхронизирующиеся по сети с серверами Stratum 1.
- ...
- Stratum 5 — по заданию маршрутизатор ISP выступает сервером 5-го стратума. Это гарантирует, что даже при временном обрыве связи с внешним Интернетом он продолжит выдавать стабильное согласованное время клиентам с заявленным качеством источника (
local stratum 5).
Механизм control chrony server в ALT Linux
В дистрибутивах ALT Linux действует подсистема безопасности control, которая ограничивает сетевую функциональность демонов. По умолчанию служба chronyd работает в клиентском режиме и не отвечает на сетевые запросы. Команда control chrony server открывает сетевой сокет NTP (UDP-порт 123) и разрешает демону обслуживать клиентов сети.
2. Настройка NTP-сервера на маршрутизаторе ISP
Все действия выполняются под пользователем root на машине ISP:
Шаг 1. Переключение режима и правка конфигурации chrony
# 1. Разрешаем демону chrony работать в режиме сервера
control chrony server
# 2. Настраиваем вышестоящий пул серверов с параметрами prefer и minstratum
sed -i 's/pool pool.ntp.org iburst/pool pool.ntp.org iburst prefer minstratum 4/' /etc/chrony.conf
# Проверяем результат замены строки pool
grep pool /etc/chrony.conf
# 3. Раскомментируем и выставляем принудительный локальный стратум 5
sed -i 's/\#local stratum 10/local stratum 5/' /etc/chrony.conf
# Проверяем строку local stratum
grep "local stratum" /etc/chrony.conf
# 4. Перезапускаем сервис chronyd для применения настроек
systemctl restart chronydРазбор параметров конфигурации /etc/chrony.conf:
iburst(Initial Burst) — при запуске отправляет серию из 4–8 запросов вместо одного, что позволяет синхронизировать время за считанные секунды.prefer— помечает данный источник как приоритетный при выборе среди нескольких серверов.minstratum 4— указывает минимальный стратум источников из пула, которые будут учитываться.local stratum 5— директива объявляет сервер доверенным источником 5-го стратума для клиентов сети, даже если связь с интернетом будет временно потеряна.
3. Настройка клиентов (HQ-SRV, BR-RTR, BR-SRV)
На узлах HQ-SRV, BR-RTR и BR-SRV перенаправляем синхронизацию с внешнего интернета на внутренний интерфейс маршрутизатора ISP (172.16.1.1):
# Заменяем внешний пул на адрес сервера ISP и перезапускаем службу
sed -i 's/pool pool.ntp.org iburst/server 172.16.1.1 iburst/' /etc/chrony.conf && systemctl restart chronydЖдём 10 секунд для завершения первого цикла обмена пакетами и проверяем источники:
chronyc sources4. Настройка клиента рабочей станции (HQ-CLI)
На клиентской машине HQ-CLI (в консоли под root):
# Дописываем адрес сервера синхронизации и перезапускаем chronyd
echo "server 172.16.1.1 iburst" >> /etc/chrony.conf && systemctl restart chronydЖдём 10 секунд и проверяем результат:
chronyc sources5. Верификация и разбор вывода chronyc sources
При успешной синхронизации вывод команды chronyc sources на клиентах выглядит следующим образом:
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 172.16.1.1 5 6 17 1 +1438ns[ +43us] +/- 38msПодробный разбор каждого столбца:
M(Mode / Режим источника):^— означает обычный сервер (Server).=— пиринговый узел (Peer).#— локальные часы (Local reference).
S(State / Состояние источника):*— текущий лучший синхронизированный источник (System peer). Именно эта звёздочка подтверждает, что синхронизация времени активна и корректна!+— комбинируемый кандидат хорошего качества.-— отклонённый источник.?— нет связи (сервер недоступен).
Stratum: отображает число5, что в точности соответствует заданию.Poll: интервал опроса в виде степени двойки (2^6 = 64 секунды).Reach: восьмеричная битовая маска успешных ответов (например,17или377— пакеты стабильно доходят и возвращаются).LastRx: сколько секунд назад был получен последний ответ от сервера (например, 1 сек назад).Last sample: смещение локального времени относительно сервера (в наносекундах / микросекундах) и погрешность задержки сети.
Дополнительная команда проверки
Для просмотра детального статуса синхронизации выполните:
chronyc trackingВ выводе обратите внимание на строки Reference ID : AC100101 (172.16.1.1) и Stratum : 6 (клиент всегда имеет стратум на единицу больше, чем опрашиваемый сервер).
Итог выполнения Задания №4
Маршрутизатор ISP переведён в режим сервера времени 5-го стратума, а узлы HQ-SRV, BR-RTR, BR-SRV и HQ-CLI стабильно синхронизируют системное время с центральным источником.
