230 likes | 414 Views
NTP PROTOKOL VZPOSTAVITEV NTP STREŽNIKA. Agenda. Uvod Splošni pregled NTP protokola ter njegov zgodovinski razvoj Zahteve po natančnem času Različice ter opis NTP programskega paketa ter podprti operacijski sistemi Delovanje NTP protokola DEMO Izmenjava paketov Vzpostavitev NTP strežnika
E N D
Agenda • Uvod • Splošni pregled NTP protokola ter njegov zgodovinski razvoj • Zahteve po natančnem času • Različice ter opis NTP programskega paketa ter podprti operacijski sistemi • Delovanje NTP protokola • DEMO • Izmenjava paketov • Vzpostavitev NTP strežnika • Strojna oprema • Programska oprema • Zunanji vir točnega časa • Konfiguracija NTP strežnika • Osnovne predispozicije • Priprava serijskih vrat • Konfiguracijska datoteka ntp.conf • Omrežne nastavitve • Objava strežnika v svetovni grozd NTP • Statistika • Izpis tcpdump • Statistika napake • Statistika zahtevkov
Uvod • Protokol razvit v začetku osemdesetih let prejšnjega stoletja • David L. Mills – oče NTP protokola • V zadnjem času se pojavlja vedno večja potreba po časovni vsklajenosti sistemov • Banke • Borze • IDS • ...
Splošni pregled NTP protokola ter njegov zgodovinski razvoj • NTP se razvija že dobrih 25 let • Uvrščamo ga med starejše internetne protokole s tem, da za razliko od ostalih pridobiva na popularnosti in uporabnosti • Trenutno smo na prelomnici med uporabo NTPv3 oziroma najnovejšega NTPv4 protokola • NTP v omogoča sinhronizacijo urgostiteljev ter usmerjevalnikov v internetu • V WAN omrežjih govorimo o natančnosti nekaj sto milisekund v LAN oziroma omrežjih hitrejših od 10Mb/s pa le nekaj milisekund. • NTP protokol je bil v zadnjem času preveden in pripravljen za delovanje na praktično vseh platformah
Zahteve po natančnem času • Uporaba NTP protokola • razpršene podatkovne baze – beleženje transakcij (transaction logs) • borzne prodaje in nakupi • varno podpisovanje oziroma elektronsko žigosanje • kontrola zračnega prometa ter lokacijska poročila • natančno izvajanje radijskih in televizijskih programov • sinhronizacija multimedijskih naprav pri videokonferencah • Interaktivne simulacije • nadzor omrežij – Intrusion detection sistemi • zgodnji detekciji okvar na mrežni infrastrukturi
Različice, opis NTP programskega paketa ter podprti opercijski sistemi • Danes v osnovi uporabljamo dve med seboj združljivi različici in sicer NTPv3 ter NTPv4 • Prednosti NTPv4 • cross/platform podpora za delovanje na različnih operacijskih sistemih • implementirani varnostni sistemi • Poleg klasičnega NTP sistema poznamo še S(imple)NTP, ki pa zaradi preprostejšega algoritma ponuja omejeno natančnost • Podprti operacijski sistemi • NTPjev “matični” operacijski sistem je UNIX • Danes se NTP pojavlja na vseh platformah tako UNIX (Linux, FreeBSD, OpenBSD, Solaris ...) kot tudi na Microsoftovih odjemalcih in strežnikih • Večji “odjemalci točnega časa” (banke, borze ...) pa se poslužujejo integriranih rešitev, ki združujejo NTP strežnik ter referenčno uro.
Delovanje NTP protokola • Hierarhija NTP strežnikov • Strežniki se po natančnosti razvrščajo v hierarhijo • Stratum-0 – referenčne ure (atomske ure, GPS sateliti z atomskimi urami ...) • Stratum-1 – najnatančnejši zemeljski NTP strežnik (sinhronizira se z referenčnimi urami) – navadno se nanje ne priključujejo končni uporabniki temveč ponudniki internetnih storitev, ki nato čas posredujejo dalje • Stratum-2 – NTP strežnik (navadno takšne strežnike posedujejo ponudniki internetnih storitev), ki kot referenco uporablja več Stratum-1 NTP strežnikov. • Stratum-3 – NTP strežnik nižje natančnosti ali končni odjemalec
Delovanje NTP protokola • Integrirana redundanca • NTP odjemalec ali nižji strežnik lahko kot vir točnega časa uporablja več referenčnih NTP strežnikov • V osnovi teži k sinhronizaciji s tistim, ki ima najnižji stratum nivo ter najmanjšo zakasnitev • V primeru odpovedi NTP odjemalec izbere naslednji strežnik, ki ustreza kriterijem
Delovanje NTP protokola • Izračunavanje natančnosti
DEMO Izmenjava paketov NTP
Vzpostavitev NTP strežnika • Strojna oprema • V osnovi se potrebuje x86 (64 bitna tehnologija še ni dokončno podprta na področju NTP) kompaktibilen strežnik • V primeru ntp.mostovna.com se uporablja Compaq Deskpro Celeron 400Mhz s 128 MB spomina • Nekateri strokovnjaki celo svetujejo starejše računalnike zaradi natančnejše notranje “lokalne” ure • Programska oprema • NTP strežnik lahko teče na poljubnem linux operacijskem sistemu (MS Windows platformo se za Stratum-1 strežnike odsvetuje zaradi zakasnitev pri procesiranju). • V primeru ntp.mostovna.com smo izbrali Debian Linux operacijski sistem ter NTPv4 programski paket • Zunanji vir točnega časa • Tukaj imamo nekaj izbire na (tujem) tržišču • V primeru ntp.mostovna.com smo se odločili za preverjeno rešitev (uporabljajo jo na IJS) in sicer paket Accutime 2000 Synchronization kit ameriškega podjetja Trimble • Paket je sestavljen iz modula za pretvorbo oziroma komunikacijo med anteno ter računalnikom (serijski prenos ter paralelni prenos) • Multicord kabla za povezavo med anteno in modulom • Antenske kupole
Konfiguracija NTP strežnika • Osnovne predispozicije • Antena mora imeti čim večji “vidni” kot • Sprejemnik ntp.mostovna.com sočasno vidi med 8-10 satelitov preko katerih dobiva točen čas • Nastavitev serijskih vrat • Kreirati moramo virtualno povezavo na naša serijska vrata za gonilnik Palisade (najpogosteje uporabljen) uporabimo sledečo sintakso: • ln –s /dev/ttyS0 /dev/palisade0 • Za hitro preverjanje ali z zunanjega referenčnega sprejemnika sprejemamo uporabimo ukaz: • hexdump -C /dev/palisade0
Konfiguracija NTP strežnika • Nastavitev konfiguracijske datoteke ntp.conf • Z urejevalnikom besedila npr. joe ali nano popravljamo nastavitve zapisane v datoteki ntp.conf – datoteka se nahaja v imeniku /etc • joe /etc/ntp.conf • Omrežne nastavitve • Če želimo objaviti NTP strežnik skozi požarni zid moramo odpreti TCP in UDP vrata 123, ki so rezervirana za NTP protokol
Konfiguracija NTP strežnika • Svetovni grozd NTP strežnikov ali pool.ntp.org v osnovi združuje vse javno dostopne NTP strežnike • Za zelo enostaven in učinkovit load balancing pa se uporablja preprost DNS trik in sicer round-robin • si.pool.ntp.org združuje vse slovenske javne NTP strežnike • da odjemalci nebi vedno obremenjevali samo enega strežnika se poslužujemo DNS round-robin funkcije ki definira, da se za A DNS zapisom si.pool.ntp.org skriva več IP naslovov javnodostopnih NTP strežnikov tako, vsak odjemalec čisto naključno izbere enega od strežnikov
DEMO Konfiguracijska datoteka ntp.conf Kako deluje pool.ntp.org?
Statistika • Izpis tcpdump – ododje za “omrežno prisluškovanje” 16:14:42.511465 IP 194.251.60.131.ntp > 10.0.1.3.ntp: NTPv3 sym_act, strat 0, poll 4, prec -6 16:14:42.511555 IP 10.0.1.3.ntp > 194.251.60.131.ntp: NTPv3 sym_pas, strat 1, poll 4, prec -19 16:14:42.525907 IP ip5993425f.bp-1031.rubicom.hu.36799 > 10.0.1.3.ntp: NTPv4 client, strat 0, poll 0, prec 0 16:14:42.526040 IP 10.0.1.3.ntp > ip5993425f.bp-1031.rubicom.hu.36799: NTPv4 server, strat 1, poll 0, prec -19 16:14:42.536274 IP 177.235.176.60.broad.hz.zj.dynamic.cndata.com.4223 > 10.0.1.3.ntp: NTPv3 client, strat 0, poll 8 16:14:42.536367 IP 10.0.1.3.ntp > 177.235.176.60.broad.hz.zj.dynamic.cndata.com.4223: NTPv3 server, strat 1, poll 8 16:14:42.543912 IP d219109.upc-d.chello.nl.3801 > 10.0.1.3.ntp: NTPv3 client, strat 0, poll 8, prec 0 16:14:42.543998 IP 10.0.1.3.ntp > d219109.upc-d.chello.nl.3801: NTPv3 server, strat 1, poll 8, prec -19 16:14:42.792129 IP cpe-24-58-150-16.twcny.res.rr.com.ntp > 10.0.1.3.ntp: NTPv4 client, strat 2, poll 10, prec -19 16:14:42.792383 IP 10.0.1.3.ntp > cpe-24-58-150-16.twcny.res.rr.com.ntp: NTPv4 server, strat 1, poll 10, prec -19 16:14:42.792485 IP p508A6A3E.dip.t-dialin.net.4229 > 10.0.1.3.ntp: NTPv3 client, strat 0, poll 8, prec 0 16:14:42.792578 IP 10.0.1.3.ntp > p508A6A3E.dip.t-dialin.net.4229: NTPv3 server, strat 1, poll 8, prec -19 16:14:42.820248 IP host81-138-0-88.in-addr.btopenworld.com.4195 > 10.0.1.3.ntp: NTPv3 client, strat 0, poll 8, prec 0
Statistika Slika 4: Grafični prikaz napake skozi čas Slika 5: Dnevni graf – kaže aktivnost zadnjih 24 ur
Statistika Slika 7: Mesečni graf – kaže aktivnost v zadnjem mesecu Slika 8: Letni graf – kaže aktivnost v zadnjem letu
DEMO tcpdump