Kellaeg, kuupäev ja NTP teenus


Vaata täpsemalt: Ubuntu Time, Time Synchronisation with NTP, NTP - How does it work

Alguseks installime kellaaja sünkroniseerimise paketti.

# sudo apt-get install ntpdate

Arvuti emaplaadil "BIOS"-es töötab kell mikroskeemis mis toitub batareist ja ei karda voolu väljalülitamist. Seda "BIOS" kella nimetatakse hardware(HW) clock-iks. HW clocki andmed loetakse linuxi buutimisel süsteemi. Edasi kellad toimivad asünkroonselt.

Ajavööndi (timezone) pannakse paika failis /etc/timezone. Meie kooli asukoha puhul seal peaks olema.

root@ubu:~# cat /etc/timezone
Europe/Tallinn

Systeemi aega ja kuupäeva saab väljastada erinevalt. Käsu parameetrid pannakse paika erinevate võtmetega. Seda saab teha käsuga:

# date

Aega ja kuupäeva saab muuta käsuga:

# date KKPPTTSS

Kus KK on kuu, PP on kuupäev, TT on tund ja SS sekund

Kuna linuxe töö jooksul BIOS-e kell ja OP süsteemi kellad jooksevad lahku. Siis tuleks perioodiliselt need kellad kokkuviia
Süsteemi aja üleviimiseks "BIOS"-'sse (system to hardware) tuleks kasutada käsku:

# ntpdate --systohw

"BIOS"-e aja üleviimiseks OP süsteemi (hardware to system) tuleks kasutada käsku:

# ntpdate --hwtosys

Ja kuna mõlemad kellad ujuvad reaalajast minema tuleks linux süsteemi kell perioodiliselt syncroniseerida mingi välis serveriga.
NB! Selleks et parandada kella täpsust server millega synkroniseeritakse peab olema teie regioonis või läheduses.
Selleks on kaks meetodit perioodiliselt käivitada käsk ntpdate või käivitada ntp teenus(deemon).
ntpdate saab käivitada käsureast määrates parameetrina ntp serveri kust me pärime aega.

root@ubu:~# ntpdate ntp.ubuntu.com
2 Nov 15:41:15 ntpdate[1817]: adjust time server 91.189.94.4 offset 0.114632 sec

Lisa info päringu kulgemise kohta saame kasutades lisavõtit

root@ubu:~# ntpdate -d ntp.ubuntu.com
2 Nov 15:39:28 ntpdate[1773]: ntpdate 4.2.6p2@1.2194 Fri Sep 2 18:37:16 UTC 2011 (1)
Looking for host ntp.ubuntu.com and service ntp
host found : europium.canonical.com
transmit(91.189.94.4)
receive(91.189.94.4)
transmit(91.189.94.4)
receive(91.189.94.4)
transmit(91.189.94.4)
receive(91.189.94.4)
transmit(91.189.94.4)
receive(91.189.94.4)
transmit(91.189.94.4)
server 91.189.94.4, port 123
stratum 2, precision -20, leap 00, trust 000
refid [91.189.94.4], delay 0.06520, dispersion 0.00037
transmitted 4, in filter 4
reference time: d25bc0d4.1b20b68f Wed, Nov 2 2011 15:15:00.105
originate timestamp: d25bc696.5cb0173e Wed, Nov 2 2011 15:39:34.362
transmit timestamp: d25bc696.4ef2a9b3 Wed, Nov 2 2011 15:39:34.308
filter delay: 0.07610 0.07176 0.06520 0.07083
0.00000 0.00000 0.00000 0.00000
filter offset: 0.032027 0.031864 0.030965 0.031035
0.000000 0.000000 0.000000 0.000000
delay 0.06520, dispersion 0.00037
offset 0.030965

2 Nov 15:39:36 ntpdate[1773]: adjust time server 91.189.94.4 offset 0.030965 sec

Selleks et perioodiliselt sünkroniseerida aega serveriga tuleks see käsk paigutada crontab-i. Olles "root" õigustes:

# crontab -e

Täpsustame kus asub ntpdate programm

# which ntpdate
/usr/sbin/ntpdate

Ja lisame sinna ülesande mis iga tunni alguses sünkroniseeriks aega:

0 * * * * /usr/sbin/ntpdate ntp.ubuntu.com

Teine võimalus on luua fail /etc/cron.daily/ntpdate ja muuta faili õigused:

# sudo touch /etc/cron.hourly/ntpdate
# sudo chmod 755 /etc/cron.hourly/ntpdate

ja paigutada sinna käsk

/usr/sbin/ntpdate ntp.ubuntu.com

NTP serveri installimine ja konfigureerimine

Serveri häälestamiseks tuleb korrekteerida/konfigureerida fail /etc/ntp.conf, allpool on toodud parameetrite seletused.

# Määratakse vaikimisi juurdepääsu reegel: ei luba kellegi muuta teenuse parameetreid
restrict default notrust nomodify
# Lokaalset allikat kasutame kui puudub juurdepääs välisele serverile.
# Lubame sünkida kella vastu lokaalset kella allikat
server 127.127.1.1
# määrame lokaalsele allikale kauguse parameetrid(täpsuse)
fudge 127.127.1.1 stratum 8 refid NIST
# Lisa kohalik kella allikas
server 81.20.144.33
# Väline kella allikas ntp klaster loadbalanseriga
server 0.ubuntu.pool.ntp.org
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org
# Väline kella allikas
server ntp.ubuntu.com
# Klientide õigused juurdepääsuks serverile
# localhost-ist
restrict 127.0.0.1
# lokaal võrgust
restrict 172.21.0.0 mask 255.255.0.0 nomodif

On ka võimalus sünkida kliente broadcast või multicast teavitustega selleks tulem lahti kommenteerida vastavad read ja lugeda manuali.
# Lubame serveril broadkastida kellaaega lokaal võrgus
#broadcast 172.21.255.255
#disable auth
#broadcastclient
# VÕI
# Lubame serveril multicastiga kellaaega lokaal võrgus
#multicast 172.21.255.255

Parameetrite jõustumiseks tuleb restartida teenus.

# service ntp restart

Kontrollime mis serveritega meil õnnestus ühenduda. Vastuses nad märgitakse tärniga. (-n non DNS resolving).
# ntpq -pn

Sünkroniseerime linuxi süsteemi kella vastu etteantud NTP serverit:

# service ntp stop
# ntpdate -dv 172.21.6.250
# service ntp start

NTP Labor

Ülesanne:

1. Sünkroniseerida oma linuxi ntp teenus vastu õpetaja serverit, teised serverid peavad kah olema
2. Lubada õpetaja arvutil juurdepääs oma ntp serverile aja kontrolliks.