3.9.10.5 Настройка сервера и клиента chrony для закрытой сети (без доступа в Интернет)
Предварительная подготовка
Настройка сервера
Настройка клиента
Окружение
- Версия ОС: 8
- Конфигурация ОС: Рабочая станция, Сервер графический, Сервер минимальный
- Редакция ОС: Стандартная
- Архитектура: x86_64
- Версия ПО: chrony-4.1-5
Для корректной работы некоторых служб дата и время всех компьютеров, находящихся в одной общей локальной (закрытой) сети, всегда должны быть синхронизированы.
В изолированных сетях (без доступа в Интернет) один компьютер должен быть настроен в качестве главного (эталонного) сервера времени. Остальные компьютеры (клиенты) будут запрашивать время у эталонного сервера по локальной сети.
Предварительная подготовка
Перед началом настройки необходимо убедиться, что chrony установлен и настроен в качестве службы времени по умолчанию:
systemctl status chronyd
В случае отсутствия chrony в системе, его следует установить. Подробную информацию по установке chrony см. в нашей статье «Установка и настройка chrony» в разделе «Установка и запуск».
Если в текущей системе качестве службы времени по умолчанию используется ntpd, его необходимо отключить:
systemctl stop ntpd systemctl disable ntpd
Настройка сервера
Для настройки эталонного сервера в изолированной сети необходимо открыть конфигурационный файл /etc/chrony.conf:
sudo nano /etc/chrony.conf
и внести в него следующие изменения:
-
по умолчанию в файле указаны внешние NTP-серверы для синхронизации времени, их необходимо закомментировать:
-
для использования сервером локальных параметров раскомментируйте и добавьте следующие строки:
-
параметр
localпозволяет chrony, запущенному в качестве сервера ntp, выглядеть как эталон, даже если он никогда не синхронизировался с реальным эталоном по сети Интернет, или последняя синхронизация производилась давно; -
параметр
stratum 10указывает на то, что сервер будет работать на локальном уровне и не будет использовать внешние источники для синхронизации времени; -
директива
manualпозволяет ввести текущее время вручную. -
для разрешения доступа к эталонному серверу из определенных подсетей необходимо указать параметр
allowс нужным адресом сети или подсети:
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (https://www.pool.ntp.org/join.html).
#server ntp1.vniiftri.ru iburst
#server ntp2.vniiftri.ru iburst
#server ntp3.vniiftri.ru iburst
#server ntp4.vniiftri.ru iburst
local stratum 10
manual
где:
allow 192.168.122.0/24
allow 192.168.186.0/24
В примере доступ разрешен из подсетей 192.168.122.0/24 и 192.168.186.0/24.
Пример содержимого измененного файла конфигурации /etc/chrony.conf для эталонного сервера (изменения в файле выделены красным цветом):
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (https://www.pool.ntp.org/join.html).
#server ntp1.vniiftri.ru iburst
#server ntp2.vniiftri.ru iburst
#server ntp3.vniiftri.ru iburst
#server ntp4.vniiftri.ru iburst
# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift
# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3
# Enable kernel synchronization of the real-time clock (RTC).
rtcsync
# Enable hardware timestamping on all interfaces that support it.
#hwtimestamp *
# Increase the minimum number of selectable sources required to adjust
# the system clock.
#minsources 2
# Allow NTP client access from local network.
allow 192.168.122.0/24
allow 192.168.186.0/24
# Seve time even if not synchronized to a time source.
local stratum 10
manual
# Require authentication (nts or key option) for all NTP sources.
#authselectmode require
# Specify file containing keys for NTP authentication.
keyfile /etc/chrony.keys
# Save NTS keys and cookies.
ntsdumpdir /var/lib/chrony
# Insert/delete leap seconds by slewing instead of stepping.
#leapsecmode slew
# Get TAI-UTC offset and leap seconds from the system tz database.
leapsectz right/UTC
# Specify directory for log files.
logdir /var/log/chrony
# Select which information is logged.
#log measurements statistics tracking
По умолчанию NTP работает на 123 порту. Для применения внесенных изменений и активации порта 123 необходимо перезапустить службу chronyd:
systemctl restart chronyd
На этом настройка сервера завершена.
Настройка клиента
Перед началом настройки клиентских машин необходимо убедиться, что chrony установлен и настроен в качестве службы времени по умолчанию, согласно п. «Предварительная подготовка».
Для настройки синхронизации времени в изолированной сети на клиентских машинах необходимо открыть конфигурационный файл /etc/chrony.conf:
sudo nano /etc/chrony.conf
и внести в него следующие изменения:
-
по умолчанию в файле указаны внешние NTP-серверы для синхронизации времени, их необходимо закомментировать:
-
указать эталонный сервер или пул серверов в следующем виде:
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (https://www.pool.ntp.org/join.html).
#server ntp1.vniiftri.ru iburst
#server ntp2.vniiftri.ru iburst
#server ntp3.vniiftri.ru iburst
#server ntp4.vniiftri.ru iburst
server <IP-адрес_эталонного_сервера> iburst или pool <домен> iburst prefer
Например:
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (https://www.pool.ntp.org/join.html).
#server ntp1.vniiftri.ru iburst
#server ntp2.vniiftri.ru iburst
#server ntp3.vniiftri.ru iburst
#server ntp4.vniiftri.ru iburst
server 192.168.122.219 iburst
...
Для применения настроек перезапустите службу chronyd:
systemctl restart chronyd
По умолчанию NTP работает на 123 порту. Команда для проверки доступности порта эталонного сервера:
sudo nmap -sU <IP-адрес_эталонного_сервера> -p 123
Например:
sudo nmap -sU 192.168.122.219 -p 123
Starting Nmap 7.80 ( https://nmap.org ) at 2025-03-17 23:46 MSK
Nmap scan report for 192.168.122.219
Host is up (0.00050s latency).
PORT STATE SERVICE
123/udp open ntp
MAC Address: 52:54:00:97:BF:BC (QEMU virtual NIC)
Nmap done: 1 IP address (1 host up) scanned in 0.14 seconds
Cинхронизируйте клиент с сервером командой:
sudo chronyc -a makestep
Через некоторое время произойдет синхронизация даты и времени с эталонным сервером.
Дата последнего изменения: 15.05.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.