Как работает OpenNTPD Linux.

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

Введение.

Время, как система контроля, подчиняется законам синхронности выполнения действий любого уровня. Для современных областей информационных технологий это особенно важно. В Linux, за время отвечает NTPNetwork Time Protocol — протокол сетевого времени. От правильной работы демона ntpd зависит многое. Такие службы как LDAP и дерево домена, чутко реагируют на малейший временной сбой. Порой сетевые администраторы часами ищут неисправность в работе различных служб, забывая проверить NTP. В статье блога рассматриваются особенности работы службы времени OpenNTPD дистрибутива ALT Linux. Эта публикация даёт начало сериям статей: ntpd, chrony посвящённым вопросам работы службы NTP ALT Linux.

  • Стенд:
    • ALT Linux сервер, имя lin-ntp; ip-10.0.2.36;

Установка OpenNTPD.

Специально устанавливать OpenNTPD сервер, как приложение, не будем. Используем в качестве базового, из «коробки», сервер Linux минимальной конфигурации и посмотрим какой NTP предлагается.

Вид: Synaptic, установленный openntpd по умолчанию.
Вид: Synaptic, установленный ntp по умолчанию.

Как показано выше, по умолчанию установлен openntpd. OpenNTPD — бесплатная и простая в использовании реализация сервера NTP. Может работать как клиент или как NTP-сервер. Сразу отметим, что OpenNTPD и NTPD разные реализации NTP-серверов. Они не дружат, если один установлен другой автоматически удаляется. Сервер NTPD будет рассматриваться в другой статье. OpenNTPD разработан командой OpenBSD и может свободно использоваться под лицензией BSD. Файл настроек находится /etc/ntpd.conf

Настройка OpenNTPD.

Откроем /etc/ntpd.conf и посмотрим синтаксис конфигурации.

# cat /etc/ntpd.conf
# $OpenBSD: ntpd.conf,v 1.7 2004/07/20 17:38:35 henning Exp $
# sample ntpd configuration file, see ntpd.conf(5)

# Addresses to listen on (ntpd does not listen by default)
listen on *
#listen on 127.0.0.1
#listen on ::1

# sync to a single server
#server ntp.example.org

# use a random selection of 8 public stratum 2 servers
# see http://twiki.ntp.org/bin/view/Servers/NTPPoolServers
servers ru.pool.ntp.org                                                                                                                                                   

Из листинга видно, что в качестве сервера точного времени используется ru.pool.ntp.org. Внести запись можно, непосредственно в ntpd.conf или через acc.

Проверить наличие установленного модуля alterator-datetime.

# apt-get update
# apt-cache search alterator-datetime 
alterator-datetime - alterator module for date/time setup 
Вид: утилита acc раздел "Дата и время" openntpd.
Вид: acc раздел «Дата и время».

Проверка работы OpenNTPD.

Остаётся проверить управление и работу openntpd с помощью командной строки. Сразу отметим, команда ntpq c openntpd не работает, будем использовать другие утилиты.

# systemctl start|stop|restart|status ntpd
# systemctl status ntpd
...
Active: active (running) since Wed .....
...
lin-ntp ntpd:reply from 194.190.168.1: offset 0.421851 delay 0.005554, next query 33s
lin-ntp ntpd:reply from 213.110.203.168: offset 0.418473 delay 0.015690, next query 31s
lin-ntp reply from 82.148.16.232: offset 0.417237 delay 0.004958, next query 32s
lin-ntp ntpd:rreply from 212.13.97.58: offset 0.409858 delay 0.006080, next query 32s

Из листинга видно, служба NTP активна и принимает временную коррекцию от сервера точного времени зоны ru.

tzselect

Утилита командной строки, выводит список часовых поясов.

# tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent, ocean, "coord", or "TZ".
1) Africa
2) Americas
3) Antarctica
4) Asia  
5) Atlantic Ocean
6) Australia                                                             
7) Europe                                                    
8) Indian Ocean                                              
9) Pacific Ocean                                                              
10) coord - I want to use geographical coordinates.                                                    11) TZ - I want to specify the time zone using the Posix TZ format.
#? 

timedatectl

Утилита командной строки timedatectl, способна выполнять запросы и настройку системных часов в реальном времени.

# timedatectl status
   Local time: Чт 2022-02-03 11:02:46 MSK
   Universal time: Чт 2022-02-03 08:02:46 UTC
   RTC time: Чт 2022-02-03 08:02:46    
   Time zone: Europe/Moscow (MSK, +0300)
System clock synchronized: no                        
             NTP service: n/a                       
          RTC in local TZ: no  
  • Local time — местное время
  • Universal time — UTC всемирное время
  • RTC time — аппаратное время
  • Time Zone — часовой пояс
  • NTP synchronized — синхронизация с ntp-сервером
  • RTC in local TZ — аппаратные часы: если no показывает локальное время , если yes показывает всемирное время

Аппаратное время — BIOS, системное время — сервер.

Вывод списка временных зон.

# timedatectl list-timezones

nc

Утилита командной строки nc выборочно прослушивает соединения TCP и UDP. Проверяем соединение по IPv4 с эталонным серверном и сервером NTP.

# nc ru.pool.ntp.org 123 -z -4 -u -v
Connection to ru.pool.ntp.org 123 port [udp/ntp] succeeded!
[root@lin-ntp ~]# nc lin-ntp 123 -z -4 -u -v
Connection to lin-ntp 123 port [udp/ntp] succeeded!

nptdate.

Утилита командной строки ntpdate устанавливает/синхронизирует дату и время через NTP сервер.

# ntpdate -q -4 ru.pool.ntp.org
server 94.247.111.10, stratum 2, offset +4.262197, delay 0.08008
server 85.21.78.23, stratum 2, offset +4.262231, delay 0.03166
server 95.154.97.27, stratum 2, offset +4.275527, delay 0.16031
server 91.207.136.55, stratum 2, offset +4.265297, delay 0.05487
 3 Feb 13:28:58 ntpdate[4152]: step time server 85.21.78.23 offset +4.262231 sec

journalctl.

Утилита командной строки читает системный журнал systemd. Многочисленные ключи позволяют гибко настраивать выход сообщений служебных юнитов на экран. Нас интересует работа юнит ntpd.

# journalctl -u ntpd
ntp engine ready
reply from 188.93.104.2: offset 2.039799 delay 0.006116, next query 9s
reply from 193.192.36.3: offset 2.041428 delay 0.021417, next query 6s
reply from 94.247.111.10: offset 2.033169 delay 0.070163, next query 7s
reply from 188.93.104.2: offset 2.039940 delay 0.005502, next query 8s

Заключение.

Сервер NTP успешно установлен и работает, заметим, всё «взято» по умолчанию из коробки. OpenNTPD включает в себя сервер и клиент, т.е два в одном. Для окружающих его рабочих станций, серверов и устройств периферии, OpenNTPD является источником образцового времени. Будет лучше, если сервер NTP станет работать на отдельном устройстве в виртуальном пространстве предприятия. Много ему не требуется HDD ~8 Gb ,RAM ~2Gb, CPU сколько не жалко.

Полезные ссылки.

  • OpenNTPD свободная реализация сервера NTP
  • ntpd демон NTP протокола
  • chronyd фоновый демон ntp
  • chrony утилита поддержки точности часов
  • chronyc командная строка для chronyd
  • chrony.conf конфигурационный файл
  • ntpdate установка даты и времени NTP
  • hwclock настройка аппаратных часов (RTC)
  • timedatectl контроль времени и даты

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Copyright © 2020-2024
Все права защищены.
При перепечатке указать источник: kabtim-t.ru
Контакты