Órák szinkronizálása
(→Saját NTP szerver konfigurálása) |
(→Restrict) |
||
105. sor: | 105. sor: | ||
A restrict paraméterei a következők lehetnek: |
A restrict paraméterei a következők lehetnek: |
||
− | {| style="background:grey; color:black" |
+ | {| style="background:lightgrey; color:black" |
|- |
|- |
||
− | ! paraméter |
+ | ! paraméter !! hatás |
− | ! hatás |
||
|- |
|- |
||
− | | ignore |
+ | | ignore || Deny all packets and queries |
− | | row 1, cell 2 |
||
|- |
|- |
||
− | | kod |
+ | | kod || Send Kiss-Of-Death packet on access violation |
− | | row 2, cell 2 |
||
|- |
|- |
||
− | | nomodify |
+ | | nomodify || Deny ntpq / ntpdc queries that attempt to modify the server |
− | | row 2, cell 2 |
||
|- |
|- |
||
− | | notrap |
+ | | notrap || Deny control message trap service |
− | | row 2, cell 2 |
||
|- |
|- |
||
− | | noquery |
+ | | noquery || Deny all ntpq / ntpdc queries |
− | | row 2, cell 2 |
||
|- |
|- |
||
− | | noserve |
+ | | noserve || Deny all queries - except ntpq / ntpdc |
− | | row 2, cell 2 |
||
|- |
|- |
||
− | | notrust |
+ | | notrust || Deny access unless cryptographically authenticated (ver 4.2 onwards) |
− | | row 2, cell 2 |
||
|- |
|- |
||
− | | nopeer |
+ | | nopeer || Deny all packets that attempt to establish a peer association |
− | | row 2, cell 2 |
||
|} |
|} |
A lap 2009. december 1., 07:14-kori változata
Írta: Reegn Zoltán
Tartalomjegyzék |
1 Időszinkronizációs módszerek összehasonlítása
Ez a wiki lap betekintést nyújt az időszinkronizációs módszerek közötti különbségekbe. Első lépésben áttekintjük a népszerűbb időszinkronizációs protokollokat, majd egyenként megnézünk pár időszinkronizációs csomagot, elemezzük előnyeiket/hátrányaikat.
1.1 Időszinkronizációs protokollok
1.1.1 DAYTIME Protocol
1.1.2 TIME Protocol
1.1.3 NTP - Network Time Protocol
RFC 778 RFC 891 RFC 956 RFC 1305
1.1.4 SNTP - Simple Network Time Protocol
RFC 1361 RFC 1769 RFC 2030 RFC 4330
1.2 Időszinkronizációra használt programok
1.2.1 ntpdate
Adott számú mintát vesz minden szervertől, majd egy adott algoritmussal kiszűri a túl nagy eltérésű szerverek eredményét, majd a maradékből becsléssel kiválasztja a legpontosabbat. A programpontossága függ a szerverek számától, a minták számától, és az azok között eltelt időtől. Kézileg, vagy startup scriptből futtatható. Nem állítja folytonosan a host órafrekvenciáját, így az nincs "fegyelmezve".
Amennyiben a host időbeni eltérése a szervertől fél másodpercen belülre esik, akkor az adjtime() függvényhívással a helyes időre "sietteti" vagy "késlelteti" a host óráját. Amennyiben az eltérés fél másodpercnél nagyobb lenne, akkor a settimeofday() függvényhívással a helyes időpontra ugraszja a host óráját.
Amennyiben ntpdaemon fut a hoston, nem állítja az időt.
1.2.2 opentpd
A fejlesztők úgy vélték, hogy mivel az NTPv3 szabvány olyan nagy pontosságot ír le, ami egy linux gépen elérhetetlen, ezért úgy vélték, hogy könnyítenek a kliensprogramon, mellőzve a túlzott pontosságot. A program ~3kloc (fő cél a gyorsaság), és 50ms pontosságot garantál, ami egy linux rendszer által biztosított max pontosság.
A programban privilégium szeparációt valósítottak meg, így root jogosultság csak azon résznek kell, ami root jogot igénylő hívásokat végez.
Két processz:
- szülő, rootként fut
- ntp engine, _ntp:_ntp-ként fut, és chroot-ol /var/empty-be
A processzek között egy socket-pár van üzenetek:
- IMSG_ADJTIME - ntp engine megkéri a szülőt, hogy hívja meg az adjtime() függvényt
- IMSG_SETTIME - ntp engine megkéri a szülőt, hogy hívja meg a settime() függvényt
- IMSG_HOST_DNS - ntpengine megkéri a szülőt, hogy oldja fel a megadott hostnevet (/etc/resolv.conf)
A szülő nem bízik a kliensében, ezért nagyon szigorú az üzenetek formátumát illetően, ha az nem megfelelő, hard-exit, és soha többet nem beszél a klienssel.
1.2.3 rdate
Egy szegényes időszinkronizációs protokoll, lekéri a szervertől az aktuális időt, majd a kapott időt állítja be a host óráján. Nem használ átviteli késleltetésből, vagy pontatlanságból származó újraszámlálást.
1.2.4 ntpd
Az ntpd egy időszinkronizációs daemon, A többi vizsgált időszinkronizációs módszerhez képest az ntpd már támogatja az NTPv4-et, de kompatibilis maradt az NTPv3-mal is.
1.2.5 taiclock
1.3 Saját NTP szerver konfigurálása
Alapvető példa egy ntp.conf fájlra:
# --- GENERAL CONFIGURATION --- server 0.europe.pool.ntp.org server 1.europe.pool.ntp.org server 2.europe.pool.ntp.org server 3.europe.pool.ntp.org server 127.127.1.0 fudge 127.127.1.0 stratum 10 # Drift file. driftfile /etc/ntp/drift
A legegyszerűbb konfigurációban két szerver van, egy tényleges NTP szerver, és egy önmagunkra mutató cím. Ez azt fogja okozni, hogy egészen addig önmagunkkal fogunk szinkronizálni, amíg a listában megadott NTP szerverek közül legalább egyhez tudunk csatlakozni.
A drift fájl eltérés-fájl. Idővel az ntpd megtanulja, ohgy mennyi a rendszer tévedése, és ez alapján automatikusan kiigazítja a hibát.
További konfigurációs paraméterek:
paraméter | hatás |
---|---|
server | Specifies that a server is running on the host (own local clock) |
fudge | Passes additional information to the clock driver |
stratum 10 | Manually sets the Stratum the server should operate at (1-15) |
driftfile | Specifies the location of the frequency file |
broadcastdelay | Sets the propagation delay from the server when broadcasting |
keys | Store a list of keys needed for any cryptographic links |
1.4 Restrict
A restrict opcióval korlátozhatjuk a hálózaton levő rendszerek mit csinálhatnak az ntp-vel:
#Ezzel engedélyezzük a hálózaton levő hostok szinkronizálását, de az NTP idején nem változtathatnak restrict a.b.c.d nomodify #A felsoroltaknak korlátlan hozzáférést biztosítunk az NTP-hez restrict w.x.y.z restrict 127.0.0.1
A restrict paraméterei a következők lehetnek:
paraméter | hatás |
---|---|
ignore | Deny all packets and queries |
kod | Send Kiss-Of-Death packet on access violation |
nomodify | Deny ntpq / ntpdc queries that attempt to modify the server |
notrap | Deny control message trap service |
noquery | Deny all ntpq / ntpdc queries |
noserve | Deny all queries - except ntpq / ntpdc |
notrust | Deny access unless cryptographically authenticated (ver 4.2 onwards) |
nopeer | Deny all packets that attempt to establish a peer association |