NTP seadistamine Ubuntus

From ICO wiki
Jump to navigationJump to search

Autor

Nimi: Martin Leppik
Rühm: A21
Aasta: 2013 kevad

Progress: hetkel pooleli

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 16 esimest on rakendatud.


[5]

  • 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).

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[9]

#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 #Soovitatav on kasuta eesti ajaservereid, kuna need on täpsemad. Siin on üks näide.

server ntp.eenet.ee
server 1.ee.pool.ntp.org
server 2.ee.pool.ntp.org
server 3.ee.pool.ntp.org

#Paneme viimaseks serveriks localhosti - kui net on maas siis ei lähe ntp kinni

server 127.0.0.1
fudge 127.0.0.1 stratum 10

#Vaikepääsu reeglid IPv4 ja IPv4 jaoks

restrict -4 default kod notrap nomodify nopeer noquery

restrict -6 default kod notrap nomodify nopeer noquery

#Pääsureegleid saab seada per ip/võrk #Antud juhul määratud pääsureeglid kindlale alamvõrgule

restrict 192.168.56.0 mask 255.255.255.0 nomodify notrap

Abistavad lingid konfigureerimiseks:

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 pakette ja päringuid sellest võrgust
  • 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 - keelab andmast ntp 6 režiimi kontrollteate lõksuteenust sobivatale hostidele. Lõksuteenus (trap service) on ntpdq kontrollteadete prtokolli allsüsteem, mis on mõeldud kasutamiseks kaughalduse sündmuste logimise programmidele.
  • nomodify - keelab ntpq ja ntpdc päringud, mis üritavad muuta serveri olekut (näiteks ajamuutmine). Päringud, mis tagastavad infot, on lubatud.
  • nopeer - keelab paketid, mille tulemusena võiks tekkida uus assotsiatsioon.
  • noquery - ignoreerib NTP 6 ja 7 režiimi pakette (informatsiooni ja konfiguratsiooni pärinugud) allikast. Ei mõjuta ajateenust. [10]

Abistav link:

Serveri seadistus

Kliendi seadistus

NTP over DHCP

ISC-i DHCP võimaldab automaatslet konfigureerida servereid ntpd-d kasutades. Siin on juhend, kuidas seda tööle saada:

1) Kasutatav DHCP server peab olema konfigureeritud jagama NTP servereid (konfis on selle jaoks valik).
2) Seadista oma dhclient pärima NTP servereid (vaikimisi ta ei tee seda). Selle tegemiseks lisa ntp-serverid päringu (request) reale siin: /etc/dhcp3/dhclient.conf.
3) Loo /etc/ntp.conf fail kõikide sätetega, mida soovid kasutada. Sellest failist tehakse /etc/ntp.conf.dhcp nimeline konfifail ega kirjutada üle.
4) Sinu ntpd peab olema määratud, et ta kasutaks /etc/ntp.conf.dhcp konfifaili, kui see on olemas. See on tavaliselt saavutatud ntp init skriptis (näiteks /etc/init.d/ntp).[11]

Testimine

Kuupäeva vaatamine

date

Riistvaralise kella vaatamine

hwclock -r

1) Pane riistvaralisele kellale väga vale aeg

hwclock --set --date="9/22/99 12:00:00"

2) Kopeeri riistvaraline aeg süsteemseks ajaks

hwclock --hctosys

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 soovitata)
4. kui süsteemi aeg vajab seadmist üle poole sekundi, siis seatakse uus aeg koheselt [12]

Näide:

#Peatab NTP teenuse
service ntp stop
#Ubuntu ntp serveriga sünkroniseerimiseks
ntpdate ntp.ubuntu.com
#Käivitab ntp teenuse
service ntp start

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 = lokaalne etalonkell (local, näiteks GPS, WWVB)
u = unicast (kõige levinum)
m = multicast
b = broadcast
- = netaddr

when:
mõõdunud aeg sekundites viimasest vastusest

poll:
oleku kontrollimise intervall sekundites allika jaoks

reach:
näitab, kas allika kättesaamine oli edukas või mitte. Kood 377 tähendab, et kõik katsed olid edukad.

delay:
näitab aega sekundites, mis kulub alates päringust kuni vastuse saamiseni

offset:
näitab ajavahet millisekundites kliendi serveri ja allika vahel.

disp/jitter:
näitab erinevust sekundites kahe näidisaja vahel. [13]

ntp-keygen

Privaatvõtme ja avaliku võtme genereerimiseks.

ntpsweep

Kasutatud materjalid