Nastavení času pomocí NTP v Linuxu

By | 02/06/2019

Nastavení času pomocí NTP v linuxu

OS:

Implementace byla prováděna na Ubuntu 18.04 LTS, postup může být podobně aplikovatelný na starší verze Ubuntu.

Motivace:

NTP je protokol pro synchronizaci vnitřních hodin počítačů. Cílem protokolu je, aby všechny počítače v síti měly stejný a přesný čas.

Implementace:

Aktualizace seznamu balíčků z repozitářů:

sudo apt-get update

Instalace služby NTP:

sudo apt-get install ntp

Pomocí příkazu níže vypíšeme aktuální nastavení NTP servery:

ntpq -p

Výpis příkazu ntpq -p:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 0.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.002
 1.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.002
 2.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.002
 3.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.002
 ntp.ubuntu.com  .POOL.          16 p    -   64    0    0.000    0.000   0.002
 host55.rax.ru   88.212.202.5     4 u    -   64    1   73.870    4.151   0.002

Používám české NTP servery, proto NTP servery uvedené níže zakomentuji v ntp.conf:

sudo vim /etc/ntp.conf
#pool 0.ubuntu.pool.ntp.org iburst
#pool 1.ubuntu.pool.ntp.org iburst
#pool 2.ubuntu.pool.ntp.org iburst
#pool 3.ubuntu.pool.ntp.org iburst
#pool ntp.ubuntu.com

A dopisuji dolů v configu ntp.conf ty české:

server tik.cesnet.cz
server tak.cesnet.cz
server ntp.nic.cz

Aby se aplikovaly změny udělat restart NTP služby:

sudo service ntp restart
sudo service ntp-systemd-netif restart

Ověření:

ps -A | grep ntpd

Výpis příkazu ps -A | grep ntpd:

1500 ? 00:00:00 ntpd

Výpis aktuálních NTP serverů:

ntpq -p

Výpis příkazu ntpq -p:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 tik.cesnet.cz   195.113.144.238  2 u    2   64    1   16.037   -4.185   0.002
 tak.cesnet.cz   .INIT.          16 u    -   64    0    0.000    0.000   0.002
 ntp.nic.cz      .INIT.          16 u    -   64    0    0.000    0.000   0.002

Několik minut potrvá, než se servery inicializují. Jakmile inicializace skončí, objeví se u NTP serverů ve většině případů hvězdička či křížek.

ntpq -p

Výpis příkazu ntpq -p:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+tik.cesnet.cz   195.113.144.238  2 u   64   64  377   15.258   -1.195   2.143
+tak.cesnet.cz   .GPS.            1 u   63   64  377   13.687   -0.307   1.607
*ntp.nic.cz      .GPS.            1 u    3   64  377   13.896   -0.361   1.242

Služba NTP vybírá vhodné NTP servery podle dlouhodobých statistik a tím je server tak.cesnet.cz. Tímto došlo k nastavení času pomocí NTP.

Legenda:

* – aktuální a preferovaný zdroj
+ – další kandidát pokud aktuální vypadne (považovaný za dobrý zdroj)
remote – IP nebo hostname vzdáleného NTP serveru
refid – GPS znamená, že čas je synchronizovaný pomocí družic, nebo reference mého zdroje(tak.cesnet.cz), může se objevit i PPS (pulse per second), což můžou být atomové hodiny či velmi přesný krystal
st – stratum a udává vrstvu časového zdroje v hierarchii, čím menší číslo, tím přesnější čas, např. pokud se objeví číslo 16, znamená to, že je zdroj nesynchronizovaný
t – typ zasílané zprávy (u=unicast, m=multicast, b=broadcast, l=local,..)
when – počet sekund, které uplynuly od NTP odpovědi (synchronizace)
pool – při naplnění časovače when, vyšle NTP klient žádost o další synchronizaci, zde po 64 sekundách
reach – stav synchronizace, 377 znamená, že je synchronizace plně funkční (od restartu to může trvat desítek minut)
delay – odezva (round trip time) v ms (od vyslání NTP žádosti po NTP odpověď)
offset – časový rozdíl v ms mezi NTP klientem a zdrojem
jitter – rozdíl mezi NTP odpověďmi

Logy

grep "ntpd" /var/log/syslog

Vypsání příkazu grep “ntpd” /var/log/syslog:

Jun 12 16:08:49 jesterka ntpd[3582]: proto: precision = 2.165 usec (-19)
Jun 12 16:08:49 jesterka ntpd[3582]: leapsecond file ('/usr/share/zoneinfo/leap-seconds.list'): good hash signature
Jun 12 16:08:49 jesterka ntpd[3582]: leapsecond file ('/usr/share/zoneinfo/leap-seconds.list'): loaded, expire=2019-12-28T00:00:00Z last=2017-01-01T00:00:00Z ofs=37
Jun 12 16:08:49 jesterka ntpd[3582]: Listen and drop on 0 v6wildcard [::]:123
Jun 12 16:08:49 jesterka ntpd[3582]: Listen and drop on 1 v4wildcard 0.0.0.0:123
Jun 12 16:08:49 jesterka ntpd[3582]: Listen normally on 2 lo 127.0.0.1:123
Jun 12 16:08:49 jesterka ntpd[3582]: Listen normally on 3 enp1s0 192.168.88.15:123
Jun 12 16:08:49 jesterka ntpd[3582]: Listen normally on 4 lo [::1]:123
Jun 12 16:08:49 jesterka ntpd[3582]: Listen normally on 5 enp1s0 [fe80::227:eff:fe0e:c6e5%2]:123
Jun 12 16:08:49 jesterka ntpd[3582]: Listening on routing socket on fd #22 for interface updates

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *