A pontos idő ismerete egy nagyobb hálózatban legalább olyan fontos, mint a megfelelő biztonsági stratégia (és ez alatt sem csupán tűzfalak beállítását értjük).
Az NTP protokollt itt nem fogjuk tárgyalni, de ez a nagyszerű találmány nemcsak az internetet teszi jobbá, hanem számunkra is hasznos lehet. A protokollról további információ a www.ntp.org webhelyen található.
Az NTP egyrészt egy protokoll (ezt használjuk, de ebben a leírásban nem ismertetjük), másrészt egy program neve.
Miután beállítottuk rendszerünket, az NTP gondoskodik arról, hogy az óra mindig pontos legyen. Az időeltérést olyan apró lépésekben korrigálja, amik nem zavarják a futó alkalmazásokat.
A gyakorlatban többféle forrásból kaphatunk pontos időt: az egyik az atomórák által előállított idő (ezeket általában egyetemek vagy kutatólaborok üzemeltetik), a másik a GPS (Global Positioning System). Harmadik alternatíva a szegény ember pontos órája, ami egy DCF77 rádiós óra. Ezt szintén csatlakoztathatjuk a gépünkhöz, vagy végső esetben magunk olvashatjuk le róla a pontos időt. Ha mi magunk adjuk meg a pontos időt, a chrony programot célszerű használnunk, az ntp program nem alkalmas a kézi bevitel fogadására. Az atomóra elvileg a legpontosabb, de a GPS vagy a DCF is megfelelő (=ezredmásodperces) pontosságot biztosít. Az atomórák számítógépekhez kapcsolódnak, amelyek egy NTP protokollt használó programot futtatnak, és ezeknek a számítógépeknek egy része elérhető az internetről is. GPS használata esetén a GPS eszközt közvetlenül egy felügyeletünk alá tartozó számítógéphez kell csatlakoztatnunk, amin majd egy NTP protokollt használó programot fogunk futtatni.
Sajnos a TV és a rádió "pontos ideje" csak igen durva közelítéssel nevezhető pontos időnek, egyrészt, mert nem ismerjük az általuk használt pontos idő forrását, másrészt műsorszerkesztési okokból gyakran eltérnek a pontos idő használatától. Legjobb, ha ezeket a forrásokat egyáltalán nem vesszük figyelembe az óra szempontjából.
Amire szükségünk van:
Közvetlen vagy tűzfalon keresztüli internet-kapcsolat (a következő pontban szereplő "chrony" program esetén erre nincs feltétlenül szükség).
Néhány közeli NTP szerver kiválasztása. Az elérhető szerverekről a pool.ntp.org, vagy a stratum 2 nyilvános időszerverek webhelyeken található lista, vagy az NTP honlapján. Ha a számítógépünk nagyobb vállalati környezetben működik, a helyi adminisztrátortól kérdezzük meg a vállalati időszerver IP-címét.
Rakjuk fel az NTP programcsomagot a gépünkre, illetve mindazokra a gépekre, amiket szinkronizálni szeretnénk.
Egy példa a megfelelő felépítésre:
Ha több helyi gép óráját szeretnénk a pontos időhöz szinkronizálni, soha ne közvetlenül a távoli internetes NTP szervereket válasszuk ki számukra. Csupán 2 helyi gépnek kell elérnie a külső NTP szervereket, a többi gépnek ehhez a kettőhöz kell szinkronizálnia. Ezeket a szervereket helyi időszerver-nek nevezzük.
Helyi időszerver feladatára minden olyan gép megfelel, amely állandóan be van kapcsolva. Az NTP program kevés memóriát és CPU teljesítményt igényel. Nem szükséges egy gépet csak erre a feladatra kijelölni.
![]() | Jó ötlet lehet megfelelő neveket adni a helyi időszerverek számára, mint például ntp1.cegnev.hu és ntp2.cegnev.hu, és ezeket a neveket beállítani a kliens gépek számára. Így az időszerver funkciót később átrakhatjuk egy másik gépre, anélkül, hogy a kliens gépeken bármit is változtatni kellene. Kérjük meg a helyi rendszergazdát, hogy hozza létre a vállalati DNS szervereken az általunk megadott ntp1.cegnev.hu és ntp2.cegnev.hu bejegyzéseket. |
Nyissuk meg az /etc/ntp.conf fájlt, és írjuk bele az általunk kiválasztott időszerverek nevét:
Nyissuk meg az /etc/ntp.conf fájlt, és írjuk be a helyi időszerverek nevét:
Ha a helyi időszerverek órája az NTP szerverekhez képest több perccel eltér, akkor az NTP nem fog működni. Első alkalommal egy teljes szinkronizálást kell csinálni, és erre egy kevésbé terhelt időpontot válasszunk ki. Később erre nem lesz szükség:
Példa 7. Első szinkronizálás
Az utolsó lépés az NTP démonok elindítása a gépeken:
bash# service ntpd restart |
A folyamatot az NTP Query parancsával figyelhetjük (ntpq command):
Példa 8. Az időszinkronizálás állapota
bash# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
-jj.cs.umb.edu gandalf.sigmaso 3 u 95 1024 377 31.681 -18.549 1.572
milo.mcs.anl.go ntp0.mcs.anl.go 2 u 818 1024 125 41.993 -15.264 1.392
-mailer1.psc.edu ntp1.usno.navy. 2 u 972 1024 377 38.206 19.589 28.028
-dr-zaius.cs.wis ben.cs.wisc.edu 2 u 502 1024 357 55.098 3.979 0.333
+taylor.cs.wisc. ben.cs.wisc.edu 2 u 454 1024 347 54.127 3.379 0.047
-ntp0.cis.strath harris.cc.strat 3 u 507 1024 377 115.274 -5.025 1.642
*clock.via.net .GPS. 1 u 426 1024 377 107.424 -3.018 2.534
ntp1.conectiv.c 0.0.0.0 16 u - 1024 0 0.000 0.000 4000.00
+bonehed.lcs.mit .GPS. 1 u 984 1024 377 25.126 0.131 30.939
-world.std.com 204.34.198.40 2 u 119 1024 377 24.229 -6.884 0.421 |
Az egyes oszlopok jelentése
A távoli időszerver neve. Ha az -n opciót használjuk, az IP címeket fogjuk látni a gépnevek helyett.
Megadja, hogy az egyes időszerverek honnan kapják a pontos időt. Ez lehet egy gépnév, egy IP cím, vagy rövidítés, mint például .GPS.
Stratum egy számérték 1 és 16 között, megadja a távoli gép pontosságát. 1 a legpontosabb, 16 pedig azt jelenti, hogy a gép nem elérhető. A saját "stratum" értékünk a használt távoli időszerver "stratum" értéke + 1 .
Az időlekérdezési intervallum (másodpercben). Eleinte az intervallum kis érték, ami azt jelenti, hogy gyakrabban kérdezzük le a távoli gép óráját, hogy minél hamarabb sikerüljön a szinkronizálás. Miután az órák szinkronba kerültek, a lekérdezési intervallum fokozatosan növekszik, hogy ezzel csökkentse a hálózati forgalmat, és az időszerverek leterheltségét.
Egy oktális érték, ami az utolsó 8 lekérdezést jelzi. A bitek akkor állítódnak be, ha sikerül elérni a távoli szervert.
Ennyi időbe telik (másodpercben) választ kapni a távoli szervertől.
A legfontosabb érték. A távoli és a helyi gép időeltérését mutatja. A szinkronizálás folyamata alatt folyamatosan csökkennie kell, ahogy a helyi óra egyre pontosabb lesz.
"Szórás" vagy "remegés", egy statisztikai eltérés az egymás utáni lekérdezések alapján. A kisebb érték az előnyösebb, ez stabilabb órát jelent.
Az időszerver neve előtt lévő jelek
Nem használható szerver
Használható szerver
Hibás szerver
Kiválasztott szerver
Bizonyára minden bekapcsoláskor el akarjuk indítani az NTP-t is. Tegyük a következőket Redhat gépeinken:
bash# chkconfig --level 2345 ntpd on |
Ez beállítja az automatikus indítást.
Ha a gépünk folyamatosan be van kapcsolva (heteken, esetleg hónapokon át) újraindítás nélkül, a magára hagyott hardveróra jelentősen el fog térni a most már pontos rendszeridőtől. Emiatt nem kell aggódnunk, mert a rendszer újraindítása előtt a rendszer órája beíródik a hardverórába a mechanizmuson keresztül, ami hasonló a setclock parancshoz. Ilyen módon a legközelebbi bekapcsoláskor viszonylag pontos órával fog a gép elindulni.
| Előző | Tartalomjegyzék | Következő |
| A Linuxot használó gép beállítása | Pontos óra a chrony programmal |