NTP seadistamine Ubuntus
Pooleli veel
Sissejuhatus
NTP on UDP/IP protokoll aja süntroniseerimiseks üle võrgu. Toimib see nii, et klient teeb päringu serverile, et hetkelist kellaaega teada saada ning kasutab saadud vastust oma kella seadmiseks. Selle lihtsa seletuse taga on tegelikult küllaltki palju keerukust (hierarhiline mudel), millest tuleb juttu hiljem.[1] Network Time Protocol sai alguse 1985. aastal ning on üks vanemaid hetkel kasutatavatest Interneti protokollidest.[2]
Hierarhiline mudel
Kasutatakse hierarhilist mudelit, kus serverid on jagatud kihtidesse. Igal kihil on oma number, mida nimetatakse stratumiteks (Stratum 0-3). [3]. Mida suurem number, seda suurem viivitus võrreldes stratum 0 ehk etalonserveriga. [4] Olenevalt NTP protokolli versioonist, toetatakse kuni 256 kihti, kuid esimest 16 on rakendatud.
- Stratum 0 seade
Kas aatom-, GPS- või raadiokell. Need seadmed ei ole otse ühendatud võrku, vaid on seotud mõne arvutiga (näiteks spetsiaalse ühendusliidese kaudu).
- Stratum 1 [6]
Need ongi arvutid, millega on ühenduses stratum 0 seadmed. Stratum 2 kihi jaoks käituvad nad serveritena. Võivad saada aja ka teiselt sama kihi ajaserverilt.
- Stratum 2
Ajaserver, mis on ühenduses stratum 1 serveriga võrgu kaudu. Stratum 2 saab oma aja NTP päringuga startum 1 või 2 serverilt.
- Stratum 3
Töötab samal põhimõttel nagu startum 2 ajaserver, mis tähendab, et saab oma aja ühe kihi võrra kõrgemalt ning on serveriks ühe kihi võrra madalamale serverile.
Igas võrgus soovitatakse hoida oma ajaserverit, millelt saavad kella kõik võrgu liikmed. [7]
Turvalisus
- Ühtse aja hoidmine on oluline teiste teenuste turvalisuse tagamiseks.
- NTP tagab selle, et logifailide kellajad oleksid erinevate süsteemides samad.
- Regulaarselt vaadatakse üle protokolli lähtekoodi muudatused.
- NTP serveri turvamiseks kasutatakse pääsunimekirja ja autentimist
- Pääsunimekiri on IP ja võrgumaskide ning lubade baasil.
- Autentimine toimub sümmeetriliste võtmete abil (sama võti serveril ja kliendil). [8]
Paigldamine
Paigaldame ajaserveri tarkvara
sudo apt-get install ntp |
Manuaali lugemiseks
man ntp.conf |
Konfiguratsioonifaili redigeerimine (võid ka kasutada oma lemmikud tekstiredaktorit):
nano /etc/ntp.conf |
Seadistamine
1) Ava uuesti ntp.conf
nano /etc/ntp.conf |
2) ntp.conf sisu seletus
#Kogume infot riistvaralise kella ujumise kohta ja kasutame teenuse stardil esmase allikana driftfile /var/lib/ntp/ntp.drift #Määrame serverid - Eesti soovitatavad ajaserverid: http://www.pool.ntp.org/zone/ee server 0.europe.pool.ntp.org #Paneme viimaseks serveriks localhosti - kui net on maas siis ei lähe ntp kinni server 127.127.127.127 #Vaikepääsu reeglid IPv4 jaoks restrict -4 default kod notrap nomodify nopeer noquery #Pääsureegleid saab seada per ip/võrk restrict 192.168.0.0 mask 255.255.0.0 nomodify notrap |
Abistavad lingid konfigureerimiseks:
- http://www.ubuntugeek.com/network-time-protocol-ntp-server-and-clients-setup-in-ubuntu.html
- http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch24_:_The_NTP_Server#.UaJ_CZy0MnM
3) Pääsukontroll ehk restrict ridade seletus
- restrict address [ mask netmask ] [ flag ] [ ... ]
- restrict default - määrab vaikeseaded
- järgmised restrict määrangud on lubavad, kui nad ei konkreetselt ei keela
- restrict 192.168.13.0 mask 255.255.255.0 lubab 192.168.13 võrgul muuta ja pärida seadeid
Lipud:
- ignore - ignoreerime pakke sellest võrgus
- kod - kiss-of-death pakett saadetakse, kui lipp limited on seatud ja klient eksib discard korralduses esitatud seadete vastu
- limited - keelab liiga tihti päringuid teinud kliendid (ei arvestata ntpq ja ntpdc päringud)
- notrap -
- nomodify -
- nopeer -
- noquery -
Abistav link:
Tööriistad
ntpdate
Kasutatakse kella ja kuupäeva seadmiseks:
1. alglaadimisel enne ntp käivitamist
2. kella seadmiseks, kui aeg on ntp jaoks liiga vale
3. vahel tehakse cron abil aja seadmist (ei soovita - miks?)
4. kui süsteemi aeg vajab seadmist üle poole sekundi, siis seatakse uus aeg koheselt
Näide:
#Peatab NTP teenuse |
ntptrace -n
Selle abil on leitav NTP primaarserver.
ntpq -pn
Näide:
remote refid st t when poll reach delay offset jitter |
Seletus:
remote:
* = praegune ajaallikas
# = allikas valitud, kuid vahemaa ületab maksimaalse väärtuse
o = allikas valitud ja Pulse Per Second (PPS) kasutusel
+ = allikas valitud ja kaasatud lõplikus hulgas
x = allikal vale kell
. = allikas valitud kandidaatide nimekirja lõpust
- = allikas ära visatud klaster algoritmi poolt
blank = allikas ära visatud kõrge stratumi tõttu
refid:
Ajaserverid
stratum:
Stratumi kihi number
t - (types available):
l = local (such as a GPS, WWVB)
u = unicast (most common)
m = multicast
b = broadcast
- = netaddr
when:
number of seconds passed since last response
poll:
polling interval, in seconds, for source
reach:
indicates success/failure to reach source, 377 all attempts successful
delay:
indicates the roundtrip time, in milliseconds, to receive a reply
offset:
indicates the time difference, in milliseconds, between the client server and source
disp/jitter:
indicates the difference, in milliseconds, between two samples