< Linux

NTP szerver, kliens

Szerző: Sallai András

Copyright © 2011, Sallai András

Szerkesztve: 2011, 2013, 2018, 2020, 2023

Licenc: CC BY-SA 4.0

Web: https://szit.hu

Bevezetés

Az NTP a Network Time Protocol rövidítése. A pontos idő szolgáltatására használható.

Protokollok:

TP

SNTP

NTP

Régebben a TP protokollt használtuk TCP felett, amelyet a RFC 868 ír le.

Ma már SNTP protokollt használjuk UDP felett, amelyet a RFC 2030 ír le.

Az RFC 5905, már NTP néven említi a protokollt.

Az NTP szerverek az egyezményes koordinált világidőt szolgáltatják. A szolgáltatás mást nem tartalmaz, de korrigálja a szökő másodperceket.

Systemd

A Debian GNU/Linux 12-ben a timesyncd egyes felhasználóknál hibával dolgozik. Ha ez fennáll érdemes más időszinkronizáló démont használni.

A systemd előretörésével, az időszinkronizálást is átvette.

Konfigurálás:

/etc/systemd/timesyncd.conf

Szinkronizálások lekérdezése:

journalctl -u systemd-timesyncd

Státusz:

timedatectl status

Bőbeszédű státusz:

timedatectl timesync-status

Engedélyezés:

timedatectl set-ntp true

Vezérlés:

systemctl enable systemd-timesyncd.service
systemctl disable systemd-timesyncd.service

Szerver

Telepítés

apt install ntp

Ezzel készen van.

Az ntp csomaggal a következő parancsok lesznek elérhetők:

/usr/bin/ntpdc, /usr/bin/ntpq, /usr/bin/ntpsweep, /usr/bin/ntptrace, /usr/bin/sntp.

/usr/sbin/ntp-keygen, /usr/sbin/ntp-wait, /usr/sbin/ntpd, /usr/sbin/ntptime

Ellenőrzés

ps ax

pstree

ss -lu

A szerverek és társaik (peer-ek) állapotának ellenőrzése:

ntpq -p

A kimenet hasonló lehet:

ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
0.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
1.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
2.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
3.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
+inspektor-vlan1 228.143.95.23 2 u 60 1024 377 17.787 5.473 0.813
+prae.hu 193.225.118.163 3 u 65 1024 377 14.608 5.148 1.150
+loginnode.szege 195.111.107.122 2 u 131 1024 377 15.306 4.653 1.342
-headnode.szeged 195.111.107.122 2 u 191 1024 377 15.670 3.737 0.816
+visual-vlan196. 193.225.55.3 2 u 325 1024 377 16.068 4.104 1.226
+yikes.bl2.tolna 136.160.114.253 3 u 88 1024 377 19.644 4.544 2.853
*smn.miskolc.hpc 228.143.95.23 2 u 118 512 377 15.895 5.157 2.224
+ntp2.niif.hu 195.111.107.122 2 u 168 1024 377 12.011 4.410 1.111
+84.2.46.19 150.254.183.15 4 u 263 512 377 13.657 5.161 2.421
#admin2.debrecen 228.143.95.23 2 u 234 1024 377 15.949 3.757 1.539
#quaen.fradi.hu 193.225.50.69 3 u 232 512 377 12.028 4.006 2.134
#mail.deployis.e 183.32.67.192 3 u 309 512 377 12.522 3.450 1.255
+bakacsin1.ki.ii 121.131.112.137 2 u 66 1024 277 13.260 5.195 1.696
#hazmester-vlan1 121.131.112.137 2 u 298 512 377 11.319 4.066 2.193

Beállítások

Korlátozhatjuk az ntp szerver használhatóságát alhálózatokra. Legyen például egy ilyen hálózatunk:

192.168.123.0

Maszk:

255.255.255.0

Csak ezen a hálózaton szeretnénk szolgáltatni a ntp-t, ekkor a szerkesszük az ntp.conf állományt:

mcedit /etc/ntp.conf

Állítsunk be egy ilyen sort:

restrict 192.168.123.0 mask 255.255.255.0 notrust

Tűzfal

A tűzfalon az UDP 123 portot kell engedélyezni. Az időkiszolgáló démonok ezen a porton fogadják kéréseket, a kliensek ezen a proton kérik le.

Kliens

Több lehetőségünk is van:

ntpdate

Telepítünk egy klienst:

apt install ntpdate

Az ntpdate csomag az időlekérdezést automatizálja, néhány eseményhez kötve. A hálózati kártya felhúzásakor és a DHCP információk lekérésekor is lekérdezi az időt.

Kérdezzük le az időt:

/usr/sbin/ntpdate

Beállítjuk az időzítést:

crontab -e

0 0 * * * /usr/sbin/ntpdate time.kfki.hu

rdate

Az rdate nem tartalmaz időkiszolgáló démont, csak egy kliens, amivel lekérdezhetünk ilyen démonokat.

apt install rdate

rdate -n time.kfki.hu

Ha telepítve van a ntpd akkor helyben:

rdate -n localhost

Időzítem:

crontab -e

ntpsec

Időprotokoll démon:

apt install ntpsec

Telepítés után, automatikusan elindul és UDP 123-porton várja a kéréseket.

Ellenőrizzük:

ss -lu

vagy:

ss -lun

Az /etc/ntpsec/ntp.conf állományban találjuk a beállításokat. Itt vannak beállítva az alapértelmezett időkiszolgálók:

0.debian.pool.ntp.org

1.debian.pool.ntp.org

2.debian.pool.ntp.org

3.debian.pool.ntp.org

Irodalom

https://wiki.debian.org/NTP

https://linuxconfig.org/how-to-setup-ntp-server-and-client-on-debian-9-stretch-linux