служба сетевого времени NTP

Настройка, программирование, распределённые вычисления

Модераторы: Olej, bellic, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

служба сетевого времени NTP

Непрочитанное сообщение Olej » 15 авг 2023, 19:57

Удивило...
Снимок экрана от 2023-08-15 19-55-02.png
Снимок экрана от 2023-08-15 19-55-02.png (129.69 КБ) 493 просмотра
Что в Debian 12 (не помню как в предыдущих) Cinnamon нельзя в настройках время/дата установить "Время сети" (т.е. как я это понимаю, по клиенту NTP).

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

служба сетевого времени NTP

Непрочитанное сообщение Olej » 15 авг 2023, 19:59

Olej писал(а):
15 авг 2023, 19:57
в Debian 12 (не помню как в предыдущих) нельзя в настройках время/дата установить "Время сети"

Код: Выделить всё

olej@esprimop420:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 12 (bookworm)
Release:	12
Codename:	bookworm
Как выяснилось, NTP просто не установлен :!:

Код: Выделить всё

olej@esprimop420:~$ aptitude search ntp | grep " ntp"
p  ntp - Network Time Protocol daemon/utilities (transitional package)
p  ntp-doc - Network Time Protocol docs (transitional package)
p  ntpdate - Network Time Protocol client (transitional package)
p  ntpsec - Network Time Protocol daemon and utility programs
p  ntpsec-doc - Network Time Protocol documentation
p  ntpsec-ntpdate - client for setting system time from NTP servers
p  ntpsec-ntpdig - ntpdig SNTP client
p  ntpsec-ntpviz - NTP statistics graphing utility
p  ntpstat - show network time protocol (ntp) status
p  puppet-module-puppetlabs-ntp - Puppet module for ntp
P.S. В принципе, на протяжении десятков лет в Linux, служба сетевого времени NTP никогда не беспокоила и безупречно работала... а то что работает - его не замечаешь, значит оно так классно исполнено. :-o

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

служба сетевого времени NTP

Непрочитанное сообщение Olej » 15 авг 2023, 20:01

Olej писал(а):
15 авг 2023, 19:59
NTP просто не установлен

Код: Выделить всё

olej@esprimop420:~$ sudo apt install ntp ntp-doc ntpstat
[sudo] пароль для olej: 
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово         
Будут установлены следующие дополнительные пакеты:
  ntpsec ntpsec-doc python3-ntp
Предлагаемые пакеты:
  certbot ntpsec-ntpviz
Следующие НОВЫЕ пакеты будут установлены:
  ntp ntp-doc ntpsec ntpsec-doc ntpstat python3-ntp
Обновлено 0 пакетов, установлено 6 новых пакетов, для удаления отмечено 0 пакетов, и 4 пакетов не обновлено.
Необходимо скачать 1.826 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 4.057 kB.
Хотите продолжить? [Д/н] y
Пол:1 http://deb.debian.org/debian-security bookworm-security/main amd64 python3-ntp amd64 1.2.2+dfsg1-1+deb12u1 [88,9 kB]
Пол:2 http://deb.debian.org/debian-security bookworm-security/main amd64 ntpsec amd64 1.2.2+dfsg1-1+deb12u1 [340 kB]
Пол:3 http://deb.debian.org/debian-security bookworm-security/main amd64 ntp all 1:4.2.8p15+dfsg-2~1.2.2+dfsg1-1+deb12u1 [22,0 kB]
Пол:4 http://deb.debian.org/debian-security bookworm-security/main amd64 ntpsec-doc all 1.2.2+dfsg1-1+deb12u1 [1.347 kB]
Пол:5 http://deb.debian.org/debian-security bookworm-security/main amd64 ntp-doc all 1:4.2.8p15+dfsg-2~1.2.2+dfsg1-1+deb12u1 [22,0 kB]
Пол:6 http://deb.debian.org/debian bookworm/main amd64 ntpstat amd64 0.0.0.1-2+b1 [6.436 B]
Получено 1.826 kB за 1с (3.607 kB/s)
Выбор ранее не выбранного пакета python3-ntp.
(Чтение базы данных … на данный момент установлено 265802 файла и каталога.)
Подготовка к распаковке …/0-python3-ntp_1.2.2+dfsg1-1+deb12u1_amd64.deb …
Распаковывается python3-ntp (1.2.2+dfsg1-1+deb12u1) …
Выбор ранее не выбранного пакета ntpsec.
Подготовка к распаковке …/1-ntpsec_1.2.2+dfsg1-1+deb12u1_amd64.deb …
Распаковывается ntpsec (1.2.2+dfsg1-1+deb12u1) …
Выбор ранее не выбранного пакета ntp.
Подготовка к распаковке …/2-ntp_1%3a4.2.8p15+dfsg-2~1.2.2+dfsg1-1+deb12u1_all.deb …
Распаковывается ntp (1:4.2.8p15+dfsg-2~1.2.2+dfsg1-1+deb12u1) …
Выбор ранее не выбранного пакета ntpsec-doc.
Подготовка к распаковке …/3-ntpsec-doc_1.2.2+dfsg1-1+deb12u1_all.deb …
Распаковывается ntpsec-doc (1.2.2+dfsg1-1+deb12u1) …
Выбор ранее не выбранного пакета ntp-doc.
Подготовка к распаковке …/4-ntp-doc_1%3a4.2.8p15+dfsg-2~1.2.2+dfsg1-1+deb12u1_all.deb …
Распаковывается ntp-doc (1:4.2.8p15+dfsg-2~1.2.2+dfsg1-1+deb12u1) …
Выбор ранее не выбранного пакета ntpstat.
Подготовка к распаковке …/5-ntpstat_0.0.0.1-2+b1_amd64.deb …
Распаковывается ntpstat (0.0.0.1-2+b1) …
Настраивается пакет python3-ntp (1.2.2+dfsg1-1+deb12u1) …
Настраивается пакет ntpstat (0.0.0.1-2+b1) …
Настраивается пакет ntpsec (1.2.2+dfsg1-1+deb12u1) …
invoke-rc.d: policy-rc.d denied execution of start.
Created symlink /etc/systemd/system/timers.target.wants/ntpsec-rotate-stats.timer → /lib/systemd/system/nt
psec-rotate-stats.timer.
Created symlink /etc/systemd/system/network-pre.target.wants/ntpsec-systemd-netif.path → /lib/systemd/syst
em/ntpsec-systemd-netif.path.
Created symlink /etc/systemd/system/ntp.service → /lib/systemd/system/ntpsec.service.
Created symlink /etc/systemd/system/ntpd.service → /lib/systemd/system/ntpsec.service.
Created symlink /etc/systemd/system/multi-user.target.wants/ntpsec.service → /lib/systemd/system/ntpsec.se
rvice.
/usr/sbin/policy-rc.d returned 101, not running 'start ntpsec-rotate-stats.timer ntpsec-systemd-netif.path
 ntpsec.service'
Настраивается пакет ntpsec-doc (1.2.2+dfsg1-1+deb12u1) …
Настраивается пакет ntp (1:4.2.8p15+dfsg-2~1.2.2+dfsg1-1+deb12u1) …
Настраивается пакет ntp-doc (1:4.2.8p15+dfsg-2~1.2.2+dfsg1-1+deb12u1) …
Обрабатываются триггеры для man-db (2.11.2-2) …

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

служба сетевого времени NTP

Непрочитанное сообщение Olej » 15 авг 2023, 20:23

Но этого мало:

Код: Выделить всё

olej@esprimop420:~$ systemctl status ntpd
○ ntpsec.service - Network Time Service
     Loaded: loaded (/lib/systemd/system/ntpsec.service; enabled; preset: enabled)
     Active: inactive (dead)
       Docs: man:ntpd(8)

Код: Выделить всё

olej@esprimop420:~$ systemctl start ntpd

olej@esprimop420:~$ systemctl status ntpd
● ntpsec.service - Network Time Service
     Loaded: loaded (/lib/systemd/system/ntpsec.service; enabled; preset: enabled)
     Active: active (running) since Tue 2023-08-15 20:11:37 EEST; 6s ago
       Docs: man:ntpd(8)
    Process: 8401 ExecStart=/usr/libexec/ntpsec/ntp-systemd-wrapper (code=exited, status=0/SUCCESS)
   Main PID: 8405 (ntpd)
      Tasks: 1 (limit: 14204)
     Memory: 10.8M
        CPU: 47ms
     CGroup: /system.slice/ntpsec.service
             └─8405 /usr/sbin/ntpd -p /run/ntpd.pid -c /etc/ntpsec/ntp.conf -g -N -u ntpsec:ntpsec
Через некоторое время смотрим:

Код: Выделить всё

olej@esprimop420:~$ sudo ntpq -p
     remote                                   refid      st t when poll reach   delay   offset   jitter
=======================================================================================================
 0.debian.pool.ntp.org                   .POOL.          16 p    -  256    0   0.0000   0.0000   0.0001
 1.debian.pool.ntp.org                   .POOL.          16 p    -  256    0   0.0000   0.0000   0.0001
 2.debian.pool.ntp.org                   .POOL.          16 p    -  256    0   0.0000   0.0000   0.0001
 3.debian.pool.ntp.org                   .POOL.          16 p    -  256    0   0.0000   0.0000   0.0001
+main24.anyplace-hosting.net             105.240.56.33    2 u   16   64   37  13.7730  -2.7430   1.8573
#host-80-254-30-78.sevstar.net           89.109.251.23    2 u   18   64   37  86.3435  14.9337   1.7897
+ns2.infomir.com.ua                      105.240.56.33    2 u   16   64   37  19.6052  -1.7092   1.8484
+altus.ip-connect.net.ua                 105.240.56.33    2 u   19   64   37  10.6177  -1.3958   1.7350
+rs-project.org                          194.54.80.29     3 u   10   64   77  16.7104  -1.3859   1.8830
+ns4.as41781.net                         129.134.28.123   2 u    2   64   77   8.6021  -0.9715   1.9216
*dns2.campus-rv.net                      129.134.27.123   2 u   11   64   77  12.4092  -1.0617   1.8973
+cache-a.dns.rx-name.net                 31.28.161.68     2 u   12   64   77   8.2596  -1.9487   1.7980
+eye.ip-connect.net.ua                   131.188.3.222    2 u   12   64   77  12.3572  -0.7930   1.8797
 dynamic.berdyansk.net                   .STEP.          16 u    -   64    0   0.0000   0.0000   0.0001
#mail.d-metal.top                        188.191.238.193  3 u    1   64   77  19.2699  -0.1908   2.0701
+ns1.infomir.com.ua                      79.121.103.146   3 u   11   64   77  19.6533  -0.7029   1.8686
 time.cloudflare.com                     .STEP.          16 u    -   64    0   0.0000   0.0000   0.0001
 ntp3.time.in.ua                         .STEP.          16 u    -   64    0   0.0000   0.0000   0.0001
 ntp.time.in.ua                          .STEP.          16 u    -   64    0   0.0000   0.0000   0.0001
 time.cloudflare.com                     .STEP.          16 u    -   64    0   0.0000   0.0000   0.0001
+time.cloudflare.com                     10.132.8.165     3 u   40   64   77  10.1001  -0.2393   1.6742
+ns3.as41781.net                         129.134.28.123   2 u   55   64   37   8.4378  -3.0828   1.8161
+46.173.175.211                          17.253.38.125    2 u   20   64   77  14.7894  -0.9291   1.9398
+uran.colocall.net                       62.149.0.30      2 u    4   64   77   8.7416  -1.1723   2.0522
Теперь и панель настройки времени поменялась:
Снимок экрана от 2023-08-15 20-23-20.png
Снимок экрана от 2023-08-15 20-23-20.png (121.21 КБ) 490 просмотров

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

служба сетевого времени NTP

Непрочитанное сообщение Olej » 15 авг 2023, 21:28

Olej писал(а):
15 авг 2023, 20:23
Но этого мало:
Теперь смотрю для сравнения как же это сделано по умолчанию в Mint:

Код: Выделить всё

olej@R420:~/testssl.sh$ lsb_release -a
No LSB modules are available.
Distributor ID:	Linuxmint
Description:	Linux Mint 21.2
Release:	21.2
Codename:	victoria

Код: Выделить всё

olej@R420:~/testssl.sh$ systemctl status ntpd
Unit ntpd.service could not be found.
Во как!

Код: Выделить всё

olej@R420:~/testssl.sh$ aptitude search ntp | grep " ntp"
p  ntp - сетевая служба времени и вспомогательные программы
p  ntp-doc - Network Time Protocol documentation
i  ntpdate - client for setting system time from NTP servers (deprecated)
p  ntpsec - сетевая служба времени и вспомогательные программы
p  ntpsec-doc - Network Time Protocol documentation
p  ntpsec-ntpdate - клиент для получения системного времени с серверов NTP
p  ntpsec-ntpviz - NTP statistics graphing utility
p  ntpstat - show network time protocol (ntp) status
p  puppet-module-puppetlabs-ntp - Puppet module for ntp
Вот так: ntpdate + deprecated

Код: Выделить всё

olej@R420:~$ aptitude show ntpdate
Пакет: ntpdate                                   
Версия: 1:4.2.8p15+dfsg-1ubuntu2
Состояние: установлен
Установлен автоматически: нет
Приоритет: необязательный
Раздел: universe/net
Сопровождающий: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Архитектура: amd64
Размер в распакованном виде: 178 k
Зависит: netbase, libc6 (>= 2.34), libssl3 (>= 3.0.0~~alpha1)
Описание: client for setting system time from NTP servers (deprecated)
 NTP, сетевой протокол службы времени, используется для поддержания точности компьютерных часов посредством синхронизации их с серверами
 Интернет или локальной сети, или от оборудования получения времени через GPS, DCF-77, NIST или подобных генераторов сигналов времени. 
 
 ntpdate is deprecated. Please use sntp instead for manual or scripted NTP queries/syncs.
Домашняя страница: http://support.ntp.org/

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

служба сетевого времени NTP

Непрочитанное сообщение Olej » 16 авг 2023, 00:20

Olej писал(а):
15 авг 2023, 21:28
ntpdate + deprecated
А вот его конфигурации:

Код: Выделить всё

olej@R420:/etc$ ntpdate -qu 1.ro.pool.ntp.org
server 93.190.144.3, stratum 2, offset -0.003782, delay 0.06297
server 185.86.67.2, stratum 4, offset -0.002296, delay 0.07707
server 162.159.200.1, stratum 3, offset +0.000978, delay 0.03934
server 82.79.22.6, stratum 2, offset +0.010677, delay 0.08394
16 Aug 00:14:08 ntpdate[238641]: adjust time server 93.190.144.3 offset -0.003782 sec

Код: Выделить всё

olej@R420:~/testssl.sh$ grep -v ^# /etc/default/ntpdate | grep -v ^$
NTPDATE_USE_NTP_CONF=yes
NTPSERVERS="ntp.ubuntu.com"
NTPOPTIONS=""

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

служба сетевого времени NTP

Непрочитанное сообщение Olej » 16 авг 2023, 00:32

Olej писал(а):
15 авг 2023, 21:28
ntpdate + deprecated
А вот про разницу ntpdate и ntpd - Синхронизация времени по NTP
Ubuntu стандартно устанавливается с ntpdate и будет запускать его при каждой загрузке один раз для установки времени по NTP серверу Ubuntu.
ntpdate -s ntp.ubuntu.com
ntpd
Сервис NTP ntpd вычисляет уход ваших системных часов и постоянно подправляет их, благодаря чему не происходит сильных изменений, что может приводить к непоследовательности в журналах. Ценой этому небольшое расходование мощности процессора и оперативной памяти, но для современного сервера это несущественно.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

служба сетевого времени NTP

Непрочитанное сообщение Olej » 16 авг 2023, 00:36

Olej писал(а):
15 авг 2023, 20:23
Теперь и панель настройки времени поменялась:
А вот Debian, и свеже установленный ntpd, и его конфигурации:

Код: Выделить всё

olej@esprimop420:/etc/ntpsec$ grep -v ^# /etc/ntpsec/ntp.conf | grep -v ^$
driftfile /var/lib/ntpsec/ntp.drift
leapfile /usr/share/zoneinfo/leap-seconds.list
tos maxclock 11
tos minclock 4 minsane 3
pool 0.debian.pool.ntp.org iburst
pool 1.debian.pool.ntp.org iburst
pool 2.debian.pool.ntp.org iburst
pool 3.debian.pool.ntp.org iburst
restrict default kod nomodify nopeer noquery limited
restrict 127.0.0.1
restrict ::1

Код: Выделить всё

olej@esprimop420:/etc/ntpsec$ systemctl status ntpd
● ntpsec.service - Network Time Service
     Loaded: loaded (/lib/systemd/system/ntpsec.service; enabled; preset: enabled)
     Active: active (running) since Tue 2023-08-15 20:11:37 EEST; 4h 23min ago
       Docs: man:ntpd(8)
    Process: 8401 ExecStart=/usr/libexec/ntpsec/ntp-systemd-wrapper (code=exited, status=0/SUCCESS)
   Main PID: 8405 (ntpd)
      Tasks: 1 (limit: 14204)
     Memory: 10.8M
        CPU: 989ms
     CGroup: /system.slice/ntpsec.service
             └─8405 /usr/sbin/ntpd -p /run/ntpd.pid -c /etc/ntpsec/ntp.conf -g -N -u ntpsec:ntpsec

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

служба сетевого времени NTP

Непрочитанное сообщение Olej » 16 авг 2023, 17:31

Olej писал(а):
15 авг 2023, 19:59

Код: Выделить всё

olej@esprimop420:~$ aptitude search ntp | grep " ntp"
p  ntp - Network Time Protocol daemon/utilities (transitional package)
p  ntp-doc - Network Time Protocol docs (transitional package)
p  ntpdate - Network Time Protocol client (transitional package)
p  ntpsec - Network Time Protocol daemon and utility programs
p  ntpsec-doc - Network Time Protocol documentation
p  ntpsec-ntpdate - client for setting system time from NTP servers
p  ntpsec-ntpdig - ntpdig SNTP client
p  ntpsec-ntpviz - NTP statistics graphing utility
p  ntpstat - show network time protocol (ntp) status
p  puppet-module-puppetlabs-ntp - Puppet module for ntp
Для полноты картины: это вот состав стандартного репозитория Debian 12.
Как легко видеть:
- они теперь используют какую-то модификацию, новинку: ntpsec, ntpsec-ntpdate вместо ntp, ntp-ntpdate, которые сейчас помечены как (transitional package);
- ntpsec-ntpdate здесь также присутствует ... но они его не ставят по умолчанию.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

служба сетевого времени NTP

Непрочитанное сообщение Olej » 16 авг 2023, 17:42

Olej писал(а):
16 авг 2023, 17:31
- они теперь используют какую-то модификацию, новинку: ntpsec, ntpsec-ntpdate вместо ntp, ntp-ntpdate, которые сейчас помечены как (transitional package);
Как синхронизация времени стала безопасной
9 июн 2020 в 14:14
Основная претензия к классическому NTP в отсутствии надежных механизмов защиты от атак злоумышленников. Предпринимались разнообразные попытки решить эту проблему.
NTPSec
В чем особенность NTP? Несмотря на то, что автор проекта Dave Mills старался как можно лучше документировать свой код, редкий программист сумеет разобраться в хитросплетениях алгоритмов синхронизации времени 35-детней давности. Часть кода написана до эпохи POSIX, а Unix API тогда сильно отличался от того, что используется в наши дни. Кроме того, нужны знания по статистике, чтобы очистить сигнала от помех на шумных линиях.
Первым делом Эрик со товарищи попробовали перенести код NTP из платформы BitKeeper на git, но не тут-то было. Лидер проекта Harlan Stenn был против этого решения и переговоры зашли в тупик. Тогда было решено форкнуть код проекта, так возник NTPSec.
Удалив 175 KLOC старого кода, им удалось значительно сократить площадь атаки, закрыв множество дыр безопасности.
NTPSec доступен для ряда Linux дистрибутивов. В данный момент последняя стабильная версия 1.1.8, для Gentoo Linux — предпоследняя.
Chrony
Была еще одна попытка заменить старый NTP более безопасный аналог. Chrony в отличие от NTPSec написан с нуля и предназначен для надежной работы в широком диапазоне условий, включая нестабильные сетевые соединения, частичная доступность или перегрузки сети и изменения температуры. Кроме того chrony обладает и другими преимуществами
Начиная с 7-й версии RedHat Linux использует chrony в качестве службы синхронизации времени. Пакет также доступен для остальных дистрибутивов Linux. Последняя стабильная версия 3.5, готовится к выходу v4.0.

Ответить

Вернуться в «Сети»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей