chrony chronyc chronyc_sources chronyc_ntpdaya chronyc_clients

Ключевые моменты

  • NTP работает на 123 порту по протоколу UDP
  • NTP with AUTH - защищенное подключение, работающее на основе синхронного ключа. Ключ должен быть один и тот же как у клиента, так и у сервера.
  • cronyc - пакет для настройки NTP
  • Файлы конфигураций:
/etc/chrony/chronyc.conf # Конфиги
/etc/chrony/chronyc.key  # Ключи для сервера

Ручная настройка клиента

chrony

  1. Установить chrony
apt install chrony
  1. Указать сервера с которыми будет производиться синхронизация в файле /etc/chrony/chrony.conf:
# Через pool - указывается DNS к которому привязана пачка ntp серверов
pool 0.kz.pool.ntp.org iburst 
 
# Через server - указывается DNS или IP адрес одиночного сервера времени
server ntp.vm.local iburst
 
# Или
server 192.168.1.100 iburst
  1. Перезапуск службы
systemctl restart chrony

Проверка работы ntp настроенного в ручном режиме:

chronyc_sources chronyc_ntpdaya chronyc sources - показать статус серверов синхронизации

^- time.firstlink.net.np         3   6    37    55  +4834us[+4834us] +/-  214ms
^- time2.unima.ac.id             2   6    37    55    -10ms[  -10ms] +/-  178ms
^- v160-16-113-133.ntp.tky2>     3   6    37    54    +32ms[  +32ms] +/-  112ms
^+ time.cloudflare.com           3   6    37    57  +3487us[+3288us] +/-   31ms
^+ ntp.nic.kz                    1   6    37    56   -777us[ -975us] +/-   13ms
^- 45.132.84.104                 3   6    37    57  +2005us[+1807us] +/-  119ms
^- 185.116.194.200               2   6    37    57  -6050us[-6249us] +/-   58ms
^* 213.157.40.210                2   6    37    56   -914us[-1112us] +/-   14ms

chronyc ntpdata - показать текущий статус синхронизации

Remote address  : 172.16.20.1 (AC101401)
Remote port     : 123
Local address   : 172.16.20.10 (AC10140A)
Leap status     : Normal
Version         : 4
Mode            : Server
Stratum         : 3
Poll interval   : 6 (64 seconds)
Precision       : -26 (0.000000015 seconds)
Root delay      : 0.022156 seconds
Root dispersion : 0.002594 seconds
Reference ID    : AC100A01 ()
Reference time  : Fri Jan 27 03:45:56 2023
Offset          : +0.000189471 seconds
Peer delay      : 0.000403266 seconds
Peer dispersion : 0.000000040 seconds
Response time   : 0.000093885 seconds
Jitter asymmetry: +0.00
NTP tests       : 111 111 1111
Interleaved     : No
Authenticated   : No
TX timestamping : Kernel
RX timestamping : Daemon
Total TX        : 7
Total RX        : 7
Total valid RX  : 7
  • Нужно перезапускать службу networking если на сервере что-то меняли

    Автоматическая настройка N TP

  1. Настройка происходит на DHCP-сервере в файле /etc/dhcp/dhcpd.conf.
    1. Нужно добавить option ntp-servers.
subnet 192.168.1.0 netmask 255.255.255.0 {
	range 192.168.1.2 192.168.1.254;
	option routers 192.168.1.1;
	option domain-name "vm.local";
	option domain-name-servers 192.168.1.2;
	option ntp-servers 192.168.168.1.2;
}

Проверка работы ntp настроенного в автоматическом режиме:

  1. Через timedatectl status
timedatectl status
Local time: Wed 2023-01-25 21:58:10 EST
		   Universal time: Thu 2023-01-26 02:58:10 UTC
				 RTC time: Thu 2023-01-26 02:58:11
				Time zone: America/New_York (EST, -0500)
System clock synchronized: yes
			  NTP service: active
		  RTC in local TZ: no
  1. Через timedatectl timesync-status
user@debian:~$ 
       Server: 172.16.20.1 (172.16.20.1)
Poll interval: 4min 16s (min: 32s; max 34min 8s)
         Leap: normal
      Version: 4
      Stratum: 3
    Reference: AC100A01
    Precision: 1us (-25)
Root distance: 13.869ms (max: 5s)
       Offset: +760us
        Delay: 548us
       Jitter: 292us
 Packet count: 4
    Frequency: +3.295ppm

В обоих случаях нас интересуют поля указывающие на адрес сервера с которым происходит синхронизация, фактический стратум и общее состояние синхронизации.

  • Нужно перезапускать службу chrony если на сервере что-то меняли

Настройка NTP сервера

chrony

  1. Установить chrony
apt install chrony
  1. Указать сервера с которыми будет производиться синхронизация в файле /etc/chrony/chrony.conf:
# Через pool - указывается DNS к которому привязана пачка ntp серверов
pool 0.kz.pool.ntp.org iburst 
 
# Через server - указывается DNS или IP адрес одиночного сервера времени
server ntp.vm.local iburst
 
# Или
server 192.168.1.100 iburst
 
# Если сервер будет работать в автономном режиме
local stratum 10 # десятый уровень  (0 - считается самым точным)
  1. Для включения прослушивания запросов необходимо указать сети и/или устройства которым можно подключаться:
allow 172.16.0.0/16 # Для подсетки

allow 192.168.1.1   # Только для одного хоста

# Если нужно несколько, то нужно несколько allow
  1. Указать адрес с которого NTP сервер будет принимать запросы
bindaddress 192.168.1.1

# Если нужно несколько, то нужно bindacqaddress несколько раз.
  1. Перезапустить службу

Проверка работы NTP сервера

chronyc_clients 6. Команда: chronyc clients

Hostname                      NTP   Drop Int IntL Last     Cmd   Drop Int  Last
===============================================================================
172.16.20.11                    4      0   6   -   156       0      0   -     -

Отобразит устройства которые осуществляют синхронизацию с вашим сервером.

  1. Проверка статуса синхронизации на конечных устройствах, расписана в пунктах про ручную и автоматическую настройку клиентов NTP.

Настройка NTP без chrony

vi /etc/systemd/timesyncd.conf
	[Time]
	NTP=203.0.113.2

service systemd-timesyncd restart