Időszinkronizálás NTP-vel

Ez az oldal a számítógép idejének pontosan tartására szolgáló módszereket írja le. Ez kiszolgálók esetén hasznos, de asztali gépek esetén nem feltétlenül szükséges (vagy kívánatos).

Az NTP az idő hálózaton keresztüli szinkronizálására szolgáló TCP/IP protokoll. Alapvetően arról van szó, hogy a kliens lekéri az aktuális időt a kiszolgálótól, és azt a saját órájának beállítására használja.

Ezen egyszerű leírás mögött hatalmas összetettség található - az NTP-kiszolgálók több rétegbe vannak szervezve, az első rétegbeli NTP-kiszolgálók atomórákhoz kapcsolódnak (gyakran GPS-en keresztül), a második és harmadik rétegbeli kiszolgálók pedig az interneten érkező tényleges kérések terhelését osztják el. A kliensszoftver is sokkal bonyolultabb, mint gondolná - ki kell szűrnie a kommunikációs késleltetéseket, és úgy kell módosítania az időt, hogy az ne zavarja az összes többi folyamatot a kiszolgálón.

Az Ubuntu két lehetőséget kínál az idő automatikus beállításához: az ntpdate és ntpd programokat.

ntpdate

Az Ubuntu alapértelmezésben tartalmazza az ntpdate programot, amely minden rendszerindításkor lefut, és beállítja az órát az Ubuntu NTP kiszolgálójának megfelelően. Ugyanakkor a kiszolgálók órái az egyes újraindítások között jelentős csúszást gyűjthetnek össze, emiatt hasznos az időt alkalmanként is pontosítani. Ennek legegyszerűbb módja a cron beállítása az ntpdate napi futtatására. Kedvenc szerkesztőjével rendszergazdai jogokkal hozzon létre egy /etc/cron.daily/ntpdate nevű fájlt a következő tartalommal:

ntpdate ntp.ubuntu.com

Az /etc/cron.daily/ntpdate fájlnak végrehajthatónak is kell lennie.

sudo chmod 755 /etc/cron.daily/ntpdate

ntpd

Az ntpdate egy egyszerű eszköz - naponta csak egyszer képes az idő módosítására, egy nagy javítással. Az ntpd nevű NTP-démon sokkal finomabb. Kiszámítja a rendszeróra elcsúszását, és folyamatosan módosítja, így nem lesznek nagy javítások, amelyek például inkonzisztens naplókat eredményezhetnének. Ennek ára csak némi processzorteljesítmény és memória, de egy modern kiszolgálón ezek elhanyagolhatók.

Az ntpd telepítéséhez adja ki a következő parancsot:

sudo apt-get install ntp

Időkiszolgálók módosítása

Mind a két fenti esetben a rendszer alapértelmezésben az Ubuntu NTP-kiszolgálóját fogja használni az ntp.ubuntu.com címen. Ez nem probléma, de a pontosság és hibatűrés javítása érdekében szüksége lehet több kiszolgáló és/vagy földrajzilag Önhöz közelebb található kiszolgálók használatára. Az ntpdate esetén ehhez módosítsa az /etc/cron.daily/ntpdate tartalmát a következőre:

ntpdate ntp.ubuntu.com pool.ntp.org 

Az ntpd esetén pedig vegyen fel további kiszolgálósorokat az /etc/ntp.conf fájlba:

server ntp.ubuntu.com
server pool.ntp.org

A fenti példákban észrevehette a pool.ntp.org sort. Ez azért remek választás, mert körbeforgó DNS segítségével választ NTP-kiszolgálót egy tárolóból, így elosztva a terhelést több különböző kiszolgáló között. Sőt, különböző területek szerint csoportosított tárolók is elérhetők, Magyarországról például a pool.ntp.org helyett használható a hu.pool.ntp.org. További részletekért keresse fel a http://www.pool.ntp.org/ oldalt.

A weben keresve is találhat Önhöz közeli NTP-kiszolgálókat, és ezeket is felveheti beállításai közé. Egy kiszolgáló működésének teszteléséhez adja ki a következő parancsot: sudo ntpdate ntp.kiszolgáló.név.

Hivatkozások