[[oktatas:linux|< Linux]]
====== NTP szerver, kliens ======
* **Szerző:** Sallai András
* Copyright (c) 2011, Sallai András
* Szerkesztve: 2011, 2013, 2018, 2020, 2023
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|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 [[http://tools.ietf.org/html/rfc868|RFC 868]] ír le.
Ma már SNTP protokollt használjuk UDP felett, amelyet a [[http://tools.ietf.org/html/rfc2030|RFC 2030]] ír le.
Az [[https://tools.ietf.org/html/rfc5905|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