Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Këshilla
  • Instalimi dhe konfigurimi i një klienti NTP në Linux. Instalimi dhe konfigurimi i serverit të kohës ntp në Linux Instalimi i serverit ntp

Instalimi dhe konfigurimi i një klienti NTP në Linux. Instalimi dhe konfigurimi i serverit të kohës ntp në Linux Instalimi i serverit ntp

Ndonjëherë ora në kompjuterin tuaj Ubuntu humbet, vonon ose nxiton. Edhe pse kjo situatë nuk është kritike, ajo është shumë e pakëndshme dhe mund të ketë pasoja katastrofike duke filluar nga konfuzioni në regjistra për shkak të paqartësisë së kohës dhe duke përfunduar me vonesën për një takim sepse keni besuar orën e gabuar. Gjithashtu, koha e saktë është e rëndësishme për funksionimin e saktë të disa programeve, për shembull, si anonimizuesi Tor.

Për fat të mirë, kjo nuk ndodh aq shpesh dhe zakonisht shoqërohet me veprime të tilla jo standarde si ngarkimi i sistemeve operative që përdorin algoritme të ndryshme për ruajtjen e kohës së makinës ose rivendosjen e kujtesës BIOS, por kjo nuk do të thotë se nuk keni nevojë të bëni asgjë. ju mund të konfiguroni sinkronizimin e orës lokale nëpërmjet internetit, kjo është ende një gjë e dobishme nëse shpesh e fikni orën dhe jeni shumë dembel për ta rregulluar atë çdo herë. Ubuntu përdor shërbimin NTP dhe daemon ntpd për këtë. Bëhet fjalë për to që do të diskutohet në këtë artikull.

Së pari, pak se si të shikoni kohën nga terminali në Ubuntu. Për të zbuluar kohën aktuale, ekzekutoni komandën:

Për të parë të dhënat në formatin UTC, shkruani:

Le të zbulojmë se sa mbetet koha e Ubuntu-së tonë pas referencës:

sudo ntpdate -q ntp.ubuntu.com

Për më tepër teori, nëse keni ardhur këtu vetëm për udhëzime instalimi, mos ngurroni të lëvizni poshtë. UTC do të thotë Koha e Koordinuar Universale, domethënë Koha e Koordinuar Universale. Ky standard i kohës GMT është i njëjtë për të gjithë botën dhe është në këtë formë që ora e sistemit ruhet në Linux, duke përfshirë Ubuntu, dhe korrigjimi për zonat kohore është shtuar tashmë në nivel lokal për çdo përdorues. Këtu qëndron arsyeja e dështimeve kohore kur përdorni Windows dhe Unix.

Siç thashë, Ubuntu e ruan kohën në UTC, ndërsa Windows përdor formatin lokal për këtë me shtimin e zonës kohore. Sa herë që kompjuteri fiket ose rindizet, sistemi operativ ruan vlerën e kohëmatësit të tij në kohëmatësin BIOS dhe e lexon atë nga atje në kohën e nisjes.

Dhe rezulton se OS nga Microsoft mban orën lokale, dhe Ubuntu mendon se është UTC ... a e kuptoni tashmë se çfarë po ndodh? Kjo është e drejtë, sa më shumë rindezje të tilla, aq më shumë koha do të ndryshojë nga ajo reale. Por unë tashmë jam larguar nga tema. Unë nuk do të përshkruaj këtu se si të konfiguroj algoritmet e sinkronizimit në të dy sistemet, qëllimi im aktual është të sinkronizoj kohën në Ubuntu.

Instalimi i NTP në Ubuntu

Programi i sinkronizimit të kohës ntpdate vjen me ubuntu dhe fillon automatikisht në fillim. Nëse dëshironi të sinkronizoni kohën tani, ekzekutoni në terminal:

ntpdate -s ntp.ubuntu.com

Shërbimi ntpd nuk përfshihet në paketën standarde, detyra e tij është të monitorojë vazhdimisht orën e sistemit dhe të korrigjojë çdo devijim. Për të instaluar ntpd, shkruani:

sudo apt-get install ntp

Për të nisur demonin, shkruani:

fillimi i shërbimit sudo ntp

Dhe për të shtuar në startup:

sudo rc-update shtoni parazgjedhjet ntp

Ju mund të konfiguroni serverët kundër të cilëve Ubuntu ynë do të kontrollojë në skedarin /etc/ntp.conf. Formati i regjistrimit është adresa e serverit, për shembull, konfigurimi standard:

# Përdorni serverë nga Projekti NTP Pool. Miratuar nga Bordi Teknik i Ubuntu
# më 2011-02-08 (LP: # 104525). Shikoni http://www.pool.ntp.org/join.html për
# më shumë informacion.
serveri 0.ubuntu.pool.ntp.org
serveri 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org
server 3.ubuntu.pool.ntp.org

Pas modifikimit të konfigurimit, mos harroni të rinisni shërbimin:

rinisja e shërbimit sudo ntp

Zgjidhja e problemeve

Shërbimi i sinkronizimit përdor portën 123 për t'u lidhur me serverin, kështu që nëse përdorni një mur zjarri, qasja në këto porte mund të bllokohet, duhet të lejoni aksesin duke shtuar rregullat e mëposhtme:

iptables -A output -p udp -s 192.168.1.1 --sport 1024: 65535 -d 0/0 --dport 123 -m gjendje --state I RI, I THEMEL -j PRANO

iptables -A input -p udp -s 0/0 --sport 123 -d 192.168.1.1 --dport 1024: 65535 -m gjendje --state E THEMELUAR -j PRANO

Tani ora në kompjuterin tuaj do të funksionojë gjithmonë si duhet.

Shërbimi i Windows Time, megjithë thjeshtësinë e tij të dukshme, është një nga themelet e nevojshme për funksionimin e duhur të një domeni Active Directory. Në një mjedis AD të konfiguruar siç duhet, shërbimi i kohës funksionon kështu: Kompjuterët e përdoruesve marrin kohën e saktë nga kontrolluesi më i afërt i domenit me të cilin janë regjistruar. Të gjithë kontrolluesit e domenit, nga ana tjetër, marrin kohën e saktë nga DC me " Emulator PDC", Dhe kontrolluesi PDC sinkronizon kohën e tij me dikë tjetër. Një ose më shumë serverë NTP mund të veprojnë si një burim i jashtëm i kohës, për shembull time.windows.com ose serveri NTP i ofruesit tuaj të internetit. Duhet gjithashtu të theksohet se si parazgjedhje, klientët në domen sinkronizojnë kohën duke përdorur shërbimin Windows Time në vend që të përdorin NTP.

Nëse jeni përballur me një situatë ku koha për klientët dhe kontrolluesit e domenit është e ndryshme, është e mundur që domeni juaj të ketë probleme me sinkronizimin e kohës dhe ky artikull do t'ju ndihmojë.

Së pari, zgjidhni një server të përshtatshëm NTP që mund të përdorni. Një listë e serverëve NTP të disponueshëm publikisht është në dispozicion në http://ntp.org. Në shembullin tonë, ne do të përdorim serverë NTP nga grupi ru.pool.ntp.org:

  • 0.ru.pool.ntp.org
  • 1.ru.pool.ntp.org
  • 2.ru.pool.ntp.org
  • 3.ru.pool.ntp.org

Konfigurimi i sinkronizimit të kohës në një domen duke përdorur Politikën e Grupit përbëhet nga dy hapa:

1) Krijoni një GPO për një kontrollues domeni me një rol PDC
2) Krijo GPO për klientët (opsionale)

Konfigurimi i politikës së sinkronizimit NTP në kontrolluesin e domenit PDC

Ky hap përfshin konfigurimin e një kontrolluesi domeni me rolin e emulatorit PDC për të sinkronizuar kohën e tij me një server të jashtëm NTP. Sepse Në teori, roli i emulatorit PDC mund të lëvizë midis kontrolluesve të domenit, ne duhet të bëjmë një politikë që zbatohet vetëm për pronarin aktual të rolit PDC. Për ta bërë këtë, në tastierën e menaxhimit Paneli i Menaxhimit të Politikave të Grupit(GPMC.msc), krijoni një të re. Për ta bërë këtë, në seksionin Filtrat WMI krijoni një filtër dhe emër Emulator PDC dhe pyetja WMI: Zgjidhni * nga Win32_ComputerSystem ku DomainRole = 5

Më pas krijoni një GPO të re dhe caktojeni atë në kontejnerin e Domain Controllers.

Kalo në modalitetin e modifikimit të politikave dhe zgjero seksionin e politikave të mëposhtme: Konfigurimi i kompjuterit-> Modelet administrative-> Sistemi-> Shërbimi i kohës së Windows-> Ofruesit e kohës

Ne jemi të interesuar për tre politikanë:

  • Konfiguro Windows NTP Client: Aktivizuar (cilësimet e politikës përshkruhen më poshtë)
  • Aktivizo Windows NTP Client: Aktivizuar
  • Aktivizo serverin NTP të Windows: Aktivizuar


Në cilësimet e politikave Konfiguro Windows NTP Client specifikoni parametrat e mëposhtëm:

  • NtpServer: 0.ru.pool.ntp.org, 0x1 1.ru.pool.ntp.org, 0x1 2.ru.pool.ntp.org, 0x1 3.ru.pool.ntp.org, 0x1
  • Lloji: NTP
  • CrossSiteSyncFlags: 2
  • ResolvePeerBackoffMinutes: 15
  • Zgjidheni Peer BAckoffMaxTimes: 7
  • SpecilalPoolInterval: 3600
  • EventLogFlags: 0

Këshilla... Mos harroni të konfiguroni murin tuaj të zjarrit në mënyrë që serveri PDC të mund të aksesojë serverët e jashtëm NTP duke përdorur protokollin NTP (porta UDP 123).

shënim... Kushtojini vëmendje sintaksës në fushë NtpServer. Formati për specifikimin e shumë serverëve NTP është si më poshtë: ntsrv1.org, 0x1 ntpsrv2.org, 0x1(ndarësi i hapësirës). Pamja e ekranit përmban të dhëna të gabuara!

Aplikoni filtrin e krijuar më parë Emulator PDC ndaj kësaj politike.

Këshilla... Ju mund ta gjeni emrin e serverit me rolin PDC duke përdorur komandën: netdom query fsmo

Mbetet për të përditësuar politikat në kontrolluesin PDC:
gpupdate / force

Nisni manualisht sinkronizimin e kohës:
w32tm / risinkronizo

Kontrolloni cilësimet tuaja aktuale NTP:
w32tm / pyetje / status

Këshilla... Në rast se ora nuk është sinkronizuar, rinisni shërbimin e Windows Time dhe rivendosni cilësimet aktuale:
ndalimi neto w32time
w32tm.exe / çregjistrohu
w32tm.exe / regjistrohu
fillimi neto w32time

Konfigurimi i sinkronizimit të kohës në klientët e domenit

Në një mjedis Active Directory, si parazgjedhje, klientët e domenit sinkronizojnë kohën e tyre me kontrolluesit e domenit (opsioni Nt5DS- sinkronizoni kohën sipas hierarkisë së domenit). Si rregull, kjo skemë funksionon dhe nuk kërkon rikonfigurim. Sidoqoftë, nëse keni probleme me sinkronizimin e kohës në klientët e domenit, mund të përpiqeni të detyroni serverin e kohës për klientët që përdorin GPO.

Për ta bërë këtë, krijoni një GPO të re dhe caktojeni atë në kontejnerët (OU) me kompjuterë. Në redaktorin GPO, shkoni te seksioni Konfigurimi i kompjuterit -> Modelet administrative -> Sistemi -> Shërbimi i kohës së Windows -> Ofruesit e kohës dhe mundësojnë politikën Konfiguro Windows NTP Client.

Specifikoni emrin ose adresën IP të PDC si server NTP, për shembull, msk-dc1.site, 0x9 dhe si lloj sinkronizimi, NT5DS

Përditësoni cilësimet e politikës së grupit për klientët dhe verifikoni që klientët e kanë sinkronizuar me sukses kohën e tyre me PDC.

Këshilla... Skema e mësipërme zbatohet vetëm për domenet e vogla. Për domene të mëdha të shpërndara me një numër të madh DC-sh dhe sajtesh, do t'ju duhet të krijoni një politikë të veçantë për çdo sajt në mënyrë që klientët të sinkronizojnë kohën e tyre me DC-në në sajt.

Protokolli i kohës së rrjetit është një protokoll rrjeti për sinkronizimin e orës së brendshme të një kompjuteri duke përdorur rrjete me vonesë të ndryshueshme bazuar në ndërrimin e paketave.

Edhe pse tradicionalisht NTP përdor UDP për funksionimin e tij, ai është gjithashtu i aftë të ekzekutojë mbi TCP. Sistemi NTP është jashtëzakonisht rezistent ndaj ndryshimeve në vonesën e medias.

Koha përfaqësohet në sistemin NTP si një numër 64-bitësh, i përbërë nga një numërues 32-bit i sekondave dhe një numërues 32-bitësh i fraksioneve të sekondës, duke lejuar transmetimin e kohës në intervalin 2 32 sekonda, me një saktësi teorike prej 2 -32 sekonda. Meqenëse afati kohor i NTP përsëritet çdo 2 32 sekonda (136 vjet), marrësi duhet të paktën të dijë afërsisht kohën aktuale (e saktë deri në 68 vjet). Duhet gjithashtu të kihet parasysh se koha llogaritet nga mesnata e 1 janarit 1900, dhe jo nga viti 1970, kështu që pothuajse 70 vjet duhet të zbriten nga koha NTP (duke marrë parasysh vitet e brishtë) në mënyrë që të përputhet saktë me kohën. me sisteme Windows ose Unix.

Si punon

Serverët NTP funksionojnë në një rrjet hierarkik, çdo nivel i hierarkisë quhet nivel (shtresa). Niveli 0 përfaqësohet nga një orë referimi. Referenca merret nga sinjali GPS (Global Positioning System) ose ACTS (Automated Computer Time Service). Në nivelin zero, serverët NTP nuk funksionojnë.

Serverët NTP të nivelit 1 marrin të dhëna kohore nga një orë kryesore. Serverët NTP të nivelit 2 sinkronizohen me serverët e nivelit 1. Mund të ketë deri në 15 nivele gjithsej.

Serverët NTP dhe klientët NTP marrin informacion për kohën nga serverët e nivelit 1, megjithëse në praktikë është më mirë të mos klientëve NTP, pasi mijëra kërkesa individuale të klientëve do të ishin shumë të ngarkuara për serverët e nivelit 1. klientët do të përdorin për të marrë informacione për kohën.

Struktura hierarkike e protokollit NTP është tolerante ndaj gabimeve dhe e tepërt. Le të shohim një shembull se si funksionon. Dy serverët NTP të nivelit 2 sinkronizohen me gjashtë serverë të ndryshëm të nivelit 1, secili mbi një lidhje të pavarur. Nyjet e brendshme sinkronizohen me serverët e brendshëm NTP. Dy serverët NTP të nivelit 2 koordinojnë kohën me njëri-tjetrin. Në rast të një dështimi të lidhjes me serverin e nivelit 1 ose një nga serverët e nivelit 2, serveri i tepërt i nivelit 2 merr përsipër procesin e sinkronizimit.

Po kështu, nyjet dhe pajisjet në Tier 3 mund të përdorin cilindo nga serverët në Nivelin 2. Më e rëndësishmja, të kesh një rrjet të tepërt të serverëve NTP siguron që serverët e kohës të jenë gjithmonë të disponueshëm. Sinkronizuar me serverë të shumëfishtë me kohë, NTP përdor të dhëna nga të gjitha burimet për të llogaritur kohën më të saktë.

Vlen të përmendet se NTP nuk e vendos kohën në formën e saj më të pastër. Ai rregullon orën lokale duke përdorur një zhvendosje të kohës, diferencën midis orës në server NTP dhe orës lokale. Serverët dhe klientët NTP rregullojnë orët e tyre, duke u sinkronizuar me kohën aktuale gradualisht ose njëkohësisht.

Për punë me server dhe klient NTP pergjigjet" Windows Time Service" ("W32Time").
Për të vendosur një server në Windows OS bëni hapat e mëposhtëm:

1. Instaloni fillimin automatik të shërbimit " W32Time Për ta bërë këtë, në degën e regjistrit
"HKLM \ System \ CurrentControlSet \ Shërbimet \ W32Time "vendos për parametrin" Filloni "kuptim 2 .

2. Pastaj hapni " HKLM \ System \ CurrentControlSet \ Shërbimet \ W32Time \ TimeProviders \ NtpServer "dhe instaloni" Aktivizuar "v njësi.

3.Ne modifikojmë parametrat e mëposhtëm:
- dega: " HKLM \ System \ CurrentControlSet \ Shërbimet \ W32Time \ Parametrat ", parametri" Lloji "
NoSync - NTP-serveri nuk është i sinkronizuar me asnjë burim të jashtëm të kohës. Përdoret ora e integruar në mikroqark. CMOS vetë serveri;
NTP - NTP-serveri është i sinkronizuar me serverët e jashtëm të kohës, të cilët janë të specifikuar në parametrin e regjistrit " NtpServer";
NT5DS - NTP- serveri kryen sinkronizimin sipas hierarkisë së domenit;
AllSync - NTP- serveri përdor të gjitha burimet e disponueshme për sinkronizim;

Parametri " NtpServer ", i cili specifikon hostin me të cilin ky server do të sinkronizojë kohën. Nëse është e nevojshme, mund të shtoni disa hoste duke i futur ato DNS emrat ose IP adresat e ndara me një hapësirë. Në fund të çdo emri, të ndarë me presje, mund të shtoni një flamur që përcakton mënyrën e sinkronizimit me serverin e kohës.
Vlerat e mëposhtme lejohen:
0x1 - Intervali special, duke përdorur një interval të veçantë votimi;
0x2 - modaliteti UseAsFallbackOnly;
0x4 - SimetrikAktiv, modaliteti aktiv simetrik;
0x8 - Klient, duke dërguar një kërkesë në modalitetin e klientit.
Kur përdorni flamurin " Interval i veçantë", duhet të vendosni vlerën e intervalit në çelës" Intervali Special Poll". Me vlerën e flamurit" UseAsFallbackOnly"Shërbimi i kohës informohet se ky server do të përdoret si rezervë dhe telefonatat drejt serverëve të tjerë në listë do të bëhen përpara sinkronizimit me të. Përdoret modaliteti aktiv simetrik NTP-serverët si parazgjedhje, dhe mënyra e klientit mund të përdoret në rast të problemeve me sinkronizimin;

dega" HKLM \ System \ CurrentControlSet \ Shërbimet \ W32Time \ Konfig ", parametri" Njoftoni Flamujt “është përgjegjës për mënyrën se si pretendon të jetë NTP-server dhe mund të marrë vlerat e mëposhtme:
0x0 (Jo një server kohe) - serveri nuk e reklamon veten nëpërmjet NetLogon si burim kohe. Ai mund të përgjigjet NTP kërkesat, por fqinjët nuk do të jenë në gjendje ta njohin atë;
0x1 (Serveri gjithmonë me kohë) - serveri gjithmonë do të shpallë veten, pavarësisht nga statusi i tij;
0x2 (Server automatik i kohës) - serveri do të reklamohet vetëm nëse merr një kohë të besueshme nga një fqinj tjetër (NTP ose NT5DS);
0x4 (Server gjithmonë i besueshëm i kohës) - serveri gjithmonë do të pretendojë të jetë një burim i besueshëm i kohës;
0x8 (Server automatik i besueshëm i kohës) - një kontrollues domeni deklarohet automatikisht i besueshëm nëse - PDC- emulatori i domenit të rrënjës së pyllit. Ky flamur lejon kryesore PDC pylli të deklarohet si burim i autorizuar i kohës edhe në mungesë të komunikimit me më të lartët NTP-serverët. Asnjë kontrollues ose server anëtar (me flamurin e paracaktuar 0x2) nuk mund të deklarohet si burim i besueshëm i kohës nëse nuk mund të gjejë një burim për vete.
kuptimi " Njoftoni Flamujt "mund të jetë shuma e flamujve të tij, për shembull:
10=2+8 - NTP- serveri pretendon të jetë një burim i besueshëm i kohës, me kusht që të marrë kohë nga një burim i besueshëm ose është PDC domeni rrënjë. Flamuri 10 vendosur si parazgjedhje si për anëtarët e domenit ashtu edhe për serverët e pavarur.
5=1+4 - NTP- serveri gjithmonë pretendon të jetë një burim i besueshëm i kohës. Për shembull, për të deklaruar një server anëtar (jo një kontrollues domeni) si një burim kohe të besueshëm, ju duhet flamuri 5 ;

dega" HKLM \ System \ CurrentControlSet \ Shërbimet \ W32Time \ TimeProviders \ NtpClient ", parametri" Intervali Special Poll "është vendosur në sekonda dhe si parazgjedhje vlera e tij është 604800 që është një javë. Kjo është shumë, kështu që ia vlen të ulni vlerën, të themi, në një orë ( 3600 ).

4. Pasi të jenë bërë cilësimet, mund të nisni shërbimin e kohës: " fillimi neto w32time ". Nëse shërbimi po funksiononte tashmë, aplikoni konfigurimin me komandën" w32tm / konfigurim / përditësim "dhe rinisni:" ndalimi neto w32time && fillimi neto w32time ".

5. Pas rinisjes së shërbimit NTP-serveri është tashmë aktiv dhe mund t'u shërbejë klientëve. Ju mund ta verifikoni këtë duke përdorur komandën " w32tm / pyetje / konfigurim ". Kjo komandë shfaq një listë të plotë të parametrave të shërbimit. Nëse" NtpServer"përmban vargun" Aktivizuar: 1 "atëherë është në rregull.

Ditë të mbarë, të ftuar dhe lexues të rregullt. Unë gradualisht kaloj nga bazat në një studim më të thelluar të Linux. Sot dua të marr parasysh funksionimin e protokollit ntp, si dhe vendosjen serverët e kohës në Linux(server ntp)... Pra, le të fillojmë me teorinë.

Protokolli NTP

Protokolli i kohës së rrjetit (NTP)- një protokoll rrjeti për sinkronizimin e orës së brendshme të një kompjuteri duke përdorur rrjete me vonesë të ndryshueshme (lexoni "gjerësia e kanalit" / cilësia).

NTP përdor për punën e tij Protokolli UDP dhe porti 123.

Versioni aktual i protokollit është NTP 4. NTP përdor një sistem hierarkik "Nivelet për orë"(quhen gjithashtu Shtresa). Niveli 0 (ose Shtresa 0)- këto janë zakonisht pajisje që janë orë atomike (molekulare, kuantike), orë GPS ose orë radio. Këto pajisje zakonisht nuk publikohen në rrjetin mbarëbotëror, por lidhen drejtpërdrejt me të serverë të nivelit 1 kohë nëpërmjet protokollit RS-232 (treguar me shigjeta të verdha në ilustrim). Niveli 1 të sinkronizuara me orë me precizion të lartë niveli 0 zakonisht punojnë si burime për serverët niveli 2. Niveli 2 sinkronizuar me një nga makinat niveli 1, si dhe sinkronizimi i mundshëm me serverët e nivelit të tij. Niveli 3 funksionon njësoj si i dyti. Zakonisht serverët e nivelit të dytë dhe të ulët publikohen në rrjet. Protokolli NTP mbështet deri në 256 nivele. Dua të vërej gjithashtu se serverët e niveleve 1 dhe 2, dhe ndonjëherë edhe 3 nuk janë gjithmonë të hapur për akses publik. Ndonjëherë, për t'u sinkronizuar me ta, duhet të dërgoni një kërkesë me postë - te administratorët e domenit.

Cili është qëllimi i kufizimit të aksesit në serverë? Me kalimin në çdo nivel, gabimi në lidhje me serverin primar rritet pak, por nga ana tjetër numri i përgjithshëm i serverëve po rritet dhe për këtë arsye.

Caktimi i një serveri NTP në një rrjet lokal

Pse na duhet një server NTP? Për shembull, ka shërbime në sistemet operative që mund të varen nga koha e sinkronizuar. Shembulli më i spikatur i shërbimeve të tilla është protokolli i vërtetimit Kerberos. Që ai të funksionojë, është e nevojshme që në kompjuterët e aksesuar duke përdorur këtë protokoll, koha e sistemit të ndryshojë jo më shumë se 5 minuta. Për më tepër, koha e saktë në të gjithë kompjuterët e bën shumë më të lehtë analizimin e regjistrave të sigurisë kur hetohen incidentet në rrjetin lokal.

Mënyrat e funksionimit të serverit / klientit NTP

Klienti / Serveri

Kjo mënyrë është deri tani më e përdorura në internet. Skema e punës është klasike. Klienti dërgon një kërkesë, së cilës serveri i dërgon një përgjigje për disa kohë. Klienti konfigurohet duke përdorur direktivën e serverit në skedarin e konfigurimit, ku specifikohet emri DNS i serverit të kohës.

Mënyra simetrike aktive / pasive

Ky modalitet përdoret kur sinkronizimi i kohës kryhet ndërmjet një numri të madh makinash të barabarta. Përveç faktit që çdo makinë është e sinkronizuar me një burim të jashtëm, ajo sinkronizohet edhe me fqinjët e saj (peer), duke vepruar si klient dhe server kohor për ta. Prandaj, edhe nëse makina "humb" një burim të jashtëm, ajo përsëri mund të marrë kohën e saktë nga fqinjët e saj. Fqinjët mund të punojnë në dy mënyra - aktive dhe pasive. Duke punuar në modalitetin aktiv, vetë makina e transferon kohën e saj te të gjitha makinat fqinje të listuara në seksionin e kolegëve të skedarit të konfigurimit ntp.conf. Nëse fqinjët nuk tregohen në këtë seksion, atëherë makina konsiderohet të jetë në gjendje pasive. Për të parandaluar që një sulmues të komprometojë makina të tjera, duke u paraqitur si një burim aktiv, është e nevojshme të përdoret vërtetimi.

Modaliteti i transmetimit

Kjo mënyrë rekomandohet për ato raste kur një numër i vogël serverësh i shërbejnë një numri të madh klientësh. Në këtë mënyrë, serveri dërgon periodikisht pako duke përdorur adresën e nënrrjetit të transmetimit. Një klient i konfiguruar për t'u sinkronizuar në këtë mënyrë merr paketën e transmetimit të serverit dhe sinkronizohet me serverin. Një tipar i këtij modaliteti është se koha shpërndahet brenda një nënrrjeti (kufizimi i paketave të transmetimit). Përveç kësaj, vërtetimi duhet të përdoret për të mbrojtur kundër ndërhyrësve.

Modaliteti multicast

Kjo mënyrë i ngjan shumë transmetimit. Dallimi është se adresat multicast të rrjeteve të klasës D në hapësirën e adresave IP përdoren për të shpërndarë paketat. Për klientët dhe serverët, është vendosur adresa e grupit multicast, të cilin ata e përdorin për sinkronizimin e kohës. Kjo bën të mundur sinkronizimin e grupeve të makinave të vendosura në nënrrjeta të ndryshme, me kusht që ruterët që i lidhin të mbështesin IGMP dhe të jenë të konfiguruar për të transmetuar trafikun multicast.

Modaliteti i shumëtransmetimeve

Ky modalitet është i ri për versionin e katërt të protokollit NTP. Kjo nënkupton që klienti kërkon serverë multiplecast midis fqinjëve të tij të rrjetit, merr mostra kohore nga secili prej tyre (duke përdorur kriptografinë) dhe, bazuar në këto të dhëna, zgjedh tre serverët "më të mirë" multiplecast me të cilët klienti do të sinkronizohet. Në rast të dështimit të një prej serverëve, klienti përditëson automatikisht listën e tij.

Për të transmetuar mostra kohore, klientët dhe serverët që funksionojnë në modalitetin shumëtransmetues përdorin adresat e grupeve multicast (rrjetet e klasës D). Klientët dhe serverët që përdorin të njëjtën adresë formojnë të njëjtën lidhje. Numri i asociacioneve përcaktohet nga numri i adresave multicast të përdorura.

Koha në Linux

Unë do t'ju tregoj shkurtimisht se çfarë ora ekziston në Linux dhe si ta vendosni atë. Në Linux, si në OS të tjera, ka 2 herë. Të parët janë hardware ndonjëherë quhet Ora në kohë reale, shkurtuar ( RTC) (janë edhe ora BIOS), zakonisht shoqërohen me një kristal kuarci lëkundës, i cili ka një saktësi deri në disa sekonda në ditë. Saktësia varet nga luhatje të ndryshme si temperatura e ambientit. Ora e dytë është e brendshme orën e programit që funksionojnë vazhdimisht, përfshirë edhe gjatë ndërprerjeve në funksionimin e sistemit. Ata janë të prirur ndaj luhatjeve për shkak të ngarkesës së lartë të sistemit dhe vonesës së ndërprerjes. Megjithatë, sistemi zakonisht lexon orën e harduerit në kohën e nisjes dhe më pas përdor orën e sistemit.

Data dhe ora e sistemit operativ vendosur në nisje bazuar në vlerë orë harduerike, si dhe cilësimet e zonës kohore... Cilësimet e zonës kohore merren nga skedari / etj / koha lokale... Ky skedar është një lidhje (por më shpesh - një kopje) e një prej skedarëve në strukturën e drejtorisë / usr / share / zoneinfo /.

Ora harduerike Linux mund të ruajë kohën në format UTC(analog i GMT), ose ora aktuale lokale. Rekomandimi i përgjithshëm për sa kohë duhet instaluar (?) është si vijon: nëse në kompjuter janë instaluar disa sisteme operative dhe njëri prej tyre është Windows, atëherë është e nevojshme të përdoret koha aktuale (pasi Windows kërkon kohë nga BIOS / CMOS dhe e konsideron lokal). Nëse përdoren vetëm sistemet operative UNIX të familjes, atëherë është e dëshirueshme që koha të ruhet në BIOS në formatin UTC.

Pasi të ngarkohet sistemi operativ, ora e sistemit operativ dhe ora BIOS janë plotësisht të pavarura. Kerneli i sistemit sinkronizon orën e sistemit me orën e harduerit çdo 11 sekonda.

Pas një kohe, mund të ketë disa sekonda diferencë midis orës së harduerit dhe orës së softuerit. Cila orë përmban kohën e duhur? As njëra e as tjetra derisa të vendosim sinkronizimi i kohës.

Shënim:

Kerneli Linux gjithmonë ruan dhe llogarit kohën si numrin e sekondave të kaluar që nga mesnata 1 janar 1970 i vitit, pavarësisht nëse ora juaj është vendosur në orën lokale ose në orën universale. Konvertimi në orën lokale bëhet gjatë procesit të kërkesës.

Meqenëse numri i sekondave që nga 1 janari 1970 UTC ruhet si një numër i plotë 32-bit i nënshkruar (kjo është e vërtetë për sistemet Linux / Intel), ora juaj do të ndalojë së punuari diku në 2038. Linux nuk ka një problem Y2K, por ka një problem Y2K. Për fat të mirë, deri atëherë të gjitha linux-të do të funksionojnë në sisteme 64-bitësh.Numri i plotë 64-bit do të mbajë orën tonë deri në afërsisht 292,271 milion vjet.

Server NTP Linux

Prezantimi

Ka shumë implementime për sinkronizimin e kohës për Linux. Më të famshmit janë Xntpd (Versioni NTP 3), ntpd (Versioni NTP 4), Crony dhe ClockSpeed. Në shembullin tonë, ne do të përdorim serverin ntp ntpd.

Daemon ntpd është njëkohësisht një server kohe dhe një klient, në varësi të cilësimeve në skedarin e konfigurimit /etc/ntpd.conf (nganjëherë /etc/ntp.conf), daemon mund të "marrë" kohë nga serverët e largët dhe "të shpërndajë "Koha për mikpritësit e tjerë.

Gjeneral qarku i sinkronizimit të kohës në rrjetin lokal është si më poshtë: duhet të keni 1 ose 2 serverë me akses në rrjetin global, të cilët do të marrin kohë nga interneti. Sinkronizoni të gjithë kompjuterët e rrjetit lokal me serverët e specifikuar që marrin kohë nga Interneti.

Instalimi i ntpd

Në fakt, instalimi i demonit vjen deri te instalimi i paketave të mëposhtme: ntp(paketë duke përfshirë vetë demonin), ntpdate(shërbimi për sinkronizimin manual të kohës është i vjetëruar), ntp-doc(dokumentacioni i paketës), në disa shpërndarje do t'ju duhet të instaloni të njëjtën gjë ntp-utils(shërbimet diagnostike), disa janë të përfshira në paketën ntp. Si të instaloni programe në Linux, përshkrova në. Pas instalimit të paketës, në shumicën e shpërndarjeve, daemon tashmë do të konfigurohet si një klient ntp (për shembull, në Debian ishte). Prandaj, skedarët kryesorë të konfigurimit u krijuan automatikisht: /etc/ntp.conf dhe /var/lib/ntp/ntp.drift dhe daemon u nis automatikisht.

Përpara se të konfiguroni demonin për t'u sinkronizuar me botën e jashtme, unë do t'ju këshilloja të vendosni datën aktuale të sistemit në një vlerë sa më afër kohës reale. Vendosja e datës në Linux prodhuar nga komanda: data MMDDhhmmCCYY.ss, ku MM - muaj, DD - dita e muajit, hh - orë, mm - minuta, CCYY - 4 shifra të vitit, ss - sekonda. Për më tepër, vlerat CCYY.ss nuk është e nevojshme të specifikohet.

Siç mund ta shihni, komanda e specifikuar do të vendosë datën dhe kohën aktuale në 27 dhjetor 2010, ora 20:06:30. Komanda e datës pa parametra, shfaqni kohën aktuale të sistemit. Kjo komandë ka një sërë parametrash, të cilët mund të gjenden në datën e njeriut.

Gjithashtu, është e nevojshme të konfiguroni saktë orën e harduerit dhe zonën kohore. Siç u përmend më lart, zona kohore konfigurohet duke kopjuar skedarin e kërkuar të zonës nga drejtoria / usr / share / zoneinfo / për të paraqitur / etj / koha lokale:

Serveri Ntp: ~ # cp / usr / share / zoneinfo / Evropë / Moskë / etj / koha lokale

Hardware E vendosa orën në UTC:

# mace / etj / sysconfig / ora | grep UTC # UTC = true tregon që ora është vendosur në UTC; UTC = serveri i vërtetë ntp2: ~ # cat / etj / default / rcS | grep UTC UTC = po

Në shembullin e parë, specifikohet një skedar konfigurimi që përcakton përdorimin e UTC për RH, i dyti për shpërndarjet Deb.

Përveç vendosjes së cilësimeve për të përdorur kohën UTC, duhet të vendosni koha e harduerit... (në shumicën e rasteve kjo nuk është e nevojshme, sepse koha e caktuar e sistemit sinkronizohet në mënyrë të pashmangshme me harduerin, nga forcat e kernelit). Por megjithatë, nëse keni dëshirë ta bëni këtë ... Komanda Hwclock lexon dhe vendos orën e harduerit bazuar në parametrat që i kalohen. Opsionet e disponueshme përshkruhen në faqen e njeriut të komandës. Këtu janë disa shembuj të përdorimit të hwclock:

Ntp-server # hwclock # lexon kohën nga ora e harduerit ntp-server # hwclock --systohc --utc # vendos orën e harduerit në # UTC bazuar në kohën e sistemit ntp-server # hwclock --systohc # vendos orën e harduerit # në lokale bazuar në kohën e sistemit ntp-server # hwclock --set --date "22 Mar 2002 13:17" # vendos orën e harduerit # në vargun e specifikuar

Një tjetër mundësi për ndryshimin e orës në orën e harduerit është qasja në BIOS në kohën e nisjes. Meqenëse koha e OS është e pavarur nga ora e harduerit, çdo ndryshim në BIOS do të merret parasysh në nisjen tjetër.

Tani që kemi përgatitur dhe instaluar gjithçka, le të vazhdojmë në kantierin e ndërtimit.

Menaxhimi i demonit ntpd

Kontrolli daemon ntpd nuk është ndryshe nga kontrolli i ndonjë demon tjetër. Filloni ose rinisni shërbimin ntpd:

# / etc / init.d / ntp start # / etc / init.d / ntp rinis

Ndalo:

# / etc / init.d / ntp stop

# / bin / vrasin `cat / var / run / ntpd.pid`

Daemon ka opsionet e mëposhtme të fillimit:

P - skedar PID,
-g - mundësoni kalimin në një kërcim të madh në kohë
-c - skedari i konfigurimit
-q - sinkronizimi manual i detyruar

Konfigurimi i serverit ntpd

Para së gjithash, unë do t'ju këshilloja të ndryshoni parametrat e fillimit të daemon në skedarin e konfigurimit të mëposhtëm:

Ntp-server: ~ # cat / etc / default / ntp NTPD_OPTS = "- g"

# cat / etc / sysconfig / ntpd # Parametrat për daemon NTP. # Shih ntpd (8) për më shumë detaje. .... # Specifikon parametra shtesë për ntpd. NTPD_ARGS = "- g"

Ky parametër do t'ju lejojë të sinkronizoni orën, edhe nëse ka një diferencë shumë të madhe kohore.

Pra, siç thashë më parë, informacioni i konfigurimit daemon ntpd qëndron në dosje /etc/ntp.conf. Sintaksa e skedarit është standarde, si në shumë konfigurime të tjera: linjat boshe dhe rreshtat që fillojnë me karakterin "#" shpërfillen. Ja një shembull i thjeshtë:

Ntp-server: ~ # cat /etc/ntp.conf server ntplocal.example.com preferon server timeserver.example.org server ntp2a.example.net driftfile /var/db/ntp.drift

Parametri server specifikon cilët serverë do të përdoren për sinkronizim, një në secilën linjë. Nëse serveri jepet me argument preferojnë, si ntplocal.example.com, atëherë këtij serveri i jepet përparësi ndaj të tjerëve. Një përgjigje nga serveri i preferuar do të hidhet poshtë nëse ndryshon ndjeshëm nga përgjigjet e serverëve të tjerë, përndryshe do të përdoret pa marrë parasysh përgjigjet e tjera. Argumenti preferojnë zakonisht përdoret për serverët NTP që njihen si shumë të saktë, si p.sh. përdorimi i pajisjeve të dedikuara të kohës.

Parametri driftfile specifikon skedarin që përdoret për të ruajtur kompensimin e frekuencës së orës së sistemit. Me sa kuptoj unë, ky skedar ruan vazhdimisht një vlerë, e cila formohet në bazë të analizës së rregullimeve të kohës së kaluar, dhe nëse burimet e jashtme të kohës bëhen të padisponueshme, atëherë koha rregullohet me vlerën nga skedari. drift. Nuk duhet ndryshuar nga asnjë proces tjetër. Dhe para se të specifikoni këtë skedar në konfigurim - skedari duhet të krijohet.

Si parazgjedhje, serveri NTP do të jetë i disponueshëm për të gjithë hostet në internet. Parametri kufizojnë në dosje /etc/ntp.conf ju lejon të kontrolloni se cilat makina mund të hyjnë në serverin tuaj. Nëse dëshironi parandaloni të gjitha makinat të hyjnë në serverin tuaj NTP, shtoni rreshtin e mëposhtëm në skedar /etc/ntp.conf:

kufizo injorimin e parazgjedhur

Nëse dëshironi lejojnë sinkronizoni orën tuaj vetëm me serverin tuaj makina në rrjetin tuaj, por ndalim ato konfiguroni serverin ose për të qenë pjesëmarrës të barabartë në sinkronizimin e kohës, atëherë në vend të atij të treguar shtoni rreshtin:

kufizoj 192.168.1.0 maskë 255.255.255.0 nomodify notrap

ku 192.168.1.0 është adresa IP e rrjetit tuaj dhe 255.255.255.0 është maska ​​e rrjetit të tij. /etc/ntp.conf mund të përmbajë direktiva të shumta kufizuese.

Për punë korrekte dhe më të saktë të demonit, këshillohet të zgjidhni serverë të nivelit - nga shtresa 2 (sigurisht mundeni shtresën 1, por duhet të humbni kohën duke kërkuar një server të tillë) dhe nga shtresa e zgjedhur 2 ato në e cila është "distanca" minimale. Në mënyrë tipike, këta serverë mund të sigurohen nga ISP-ja juaj. Numri i serverëve të zgjedhur është i dëshirueshëm - më shumë se 2 3, aq më shumë aq më mirë, por brenda kufijve të arsyeshëm. Nëse jeni shumë dembel për të zgjedhur serverët më të mirë, atëherë mund të merrni një listë të serverëve të hapur të nivelit të dytë nga këtu: http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers.

Zgjedhja e një liste të serverëve të referencës NTP

Shkojmë në adresën e specifikuar (http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers) dhe zgjedhim një listë të serverëve fillestarë. Nga kjo listë, zgjidhni serverët që plotësojnë kërkesat tona duke analizuar daljen e komandës ntpdate... Kur ekzekutoni një komandë, zbatohet sintaksa e mëposhtme:

ntpdate parametrat space_servers

Në mënyrë që kërkesa jonë të mos bëjë ndryshime në sistem, është e nevojshme të përdorim parametrin -q, i cili tregon përdorimin e kërkesës pa bërë ndryshime. Është gjithashtu e mundur të përdoret çelësi -d, i cili tregon se komanda do të ekzekutohet në modalitetin e korrigjimit, me daljen e informacionit shtesë, pa bërë ndonjë ndryshim të vërtetë (me këtë ndërprerës shfaqet një grup mbeturinash të tjera :), për të cilat nuk kemi nevojë për momentin). Pjesa tjetër e parametrave mund të gjenden në man 8 ntpdate. Nga lidhja e specifikuar, zgjodha të gjithë serverët me qasje të hapur të vendosur në Rusi (RU) + atë të ofruar nga ofruesi dhe ekzekutova komandën, doli diçka si më poshtë:

Ntp-server: ~ # ntpdate -q ntp2.ntp-servers.net ntp1.vniiftri.ru ntp2.vniiftri.ru ntp4.vniiftri.ru ntp0.ntp-servers.net ntp1.ntp-ttri.vniiftri.net. server ntp.corbina.net 88.147.255.85, shtresë 1, kompensuar 0,006494, vonesa 0,09918 server 62.117.76.142, shtresë 1, kompensuar 0.002552, vonesa 0,06920 server 62.117.76.141, shtresë 1, kompensuar 0.003147, vonesa 0,06918 server 62.117.76.140, shtresë 1, kompensuar 0,004823, vonesa 0,07350 server 88.147.254.228, shtresë 1, kompensuar -0.002355, vonesa 0,12030 server 88.147.254.229, shtresë 1, kompensuar -,000922, vonesa 0,10577 server 62.117.76.138, shtresë 1, kompensuar 0,005331, vonesë 0.07401 server 195.14 .40.141, shtresa 2, kompensimi 0.002846, vonesa 0.07188 13 janar 19:14:09 ntpdate: rregullo kohën e serverit 62.117.76.141 kompensim 0.003147 sek

Në shembull, serverët tanë lëshuan me sukses nivelin e shtresës1, që është një lajm i mirë (përveç serverit të ofruesit), kompensimi është diferenca kohore me këtë server në sekonda, vonesa është vonesa e sinkronizimit në sekonda. Zakonisht, b O Saktësia më e mirë arrihet duke përdorur serverë që kanë vonesë të ulët për transmetimin e paketave përmes rrjetit. Për ta identifikuar këtë, është e mundur të përdoret. Prandaj, duke zgjedhur së pari ata me një kohë më të shkurtër përgjigjeje, dhe prej tyre - ata me më pak kërcime. Për të mos humbur kohë, unë do të përdor të gjithë serverët e specifikuar dhe do t'i shkruaj në skedarin e konfigurimit. Pra, duke ditur të gjitha sa më sipër, unë do të përshkruaj skedarin tim që rezulton /etc/ntp.conf:

Ntp-server: ~ # cat /etc/ntp.conf # Serverët e rrjetit lokal (të komentuar, të pa përdorur - një server në rrjet) #server 192.168.0.2 #server 192.168.0.5 # i serverit të serverit të Internetit ntp2.ntp- Serveri servers.net ntp1.vniiftri.ru serveri ntp2.vniiftri.ru serveri ntp4.vniiftri.ru serveri ntp0.ntp-servers.net serveri ntp1.ntp-servers.net serveri ntp3.vniiftri.ru serveri ntp.corbina.net. Skedarët e serverit driftfile /var/lib/ntp/ntp.drift logfile / var / log / ntpstats # kufizim i aksesit në server: # sipas parazgjedhjes ne shpërfillim gjithçka kufizon parazgjedhjen injoro # localhost pa parametra do të thotë se gjithçka lejohet. Parametrat përdoren vetëm për ndalime. limit 127.0.0.1 # në vijim përshkruan serverët me të cilët sinkronizojmë në rrjetin lokal. # Lejoji atyre gjithçka përveç kurtheve dhe kërkesave për ne limit 192.168.0.2 noquery notrap limit 192.168.0.5 noquery notrap # për LAN ne gjithashtu lejojmë gjithçka përveç kurtheve dhe modifikimeve kufizojnë 192.168.0.1 maskë 255.255.255.0 lejojnë qasjen e jashtme nomodify : limit ntp2.ntp-servers.net limit ntp1.vniiftri.ru limit ntp2.vniiftri.ru limit ntp4.vniiftri.ru limit ntp0.ntp-servers.net limit ntp1.ntp-servers.net limit ntp3.vniiftri. ntp.corbina.net # dhe ky hak, i cili vendos nivelin e besimit te vetë serveri (shtresa) me 3 # me pak fjalë, sa më i lartë niveli, aq më i ulët është numri. 0 është një orë atomike, # 1 është e sinkronizuar me të, 2 është me të parën, e kështu me radhë. serveri 127.127.1.1 fudge 127.127.1.1 shtresa 3

Për një kuptim dhe konfigurim më të thellë të serverit, unë do të përshkruaj disa parametra të konfigurimit ntpd që nuk i përmenda:

  • aktivizoni / çaktivizoni auth / monitor / pll / pps / statistika - ndiz fik mënyra e funksionimit:
    • auth- komunikoni me fqinjët e papërmendur vetëm në modalitetin e vërtetimit;
    • monitoruar- mundësojnë monitorimin e kërkesave;
    • pll- të lejojë vendosjen e frekuencës së orës lokale nëpërmjet NTP;
    • statistikat- mundësojnë mbledhjen e statistikave;
  • statistikatloopstats- për çdo modifikim të orës lokale, shkruan një rresht në një skedar loopstats;
  • statistikatbashkëmoshatarët- çdo komunikim me një fqinj regjistrohet në një regjistër të ruajtur në një skedar bashkëmoshatarët;
  • statistikatstatistikat e orës- çdo mesazh nga drejtuesi i orës lokale shkruhet në një regjistër të ruajtur në një skedar statistikat e orës;
  • statsdir(emri_katalog me_statistikat)- vendos emrin e drejtorisë ku do të vendosen skedarët me statistikat e serverit;
  • filegen - përcakton algoritmin për gjenerimin e emrave të skedarëve, të cilët përbëhen nga:
    • parashtesë- pjesë konstante e emrit të skedarit, e vendosur ose gjatë përpilimit ose me komanda të veçanta konfigurimi;
    • Emri i skedarit- shtohet në prefiks pa një vijë të pjerrët, dy pika janë të ndaluara, mund të ndryshohen me tastin e skedarit;
    • prapashtesë- gjenerohet në varësi të emrit të tipit;
  • kufizojnënumerike-adresa- vendos kufizimin e hyrjes: paketat renditen dhe maskohen, adresa e burimit merret dhe krahasohet në mënyrë sekuenciale, flamuri merret nga krahasimi i fundit i suksesshëm qasja:
    • pa flamuj- jepni akses;
    • injorojnë- injoroni të gjitha paketat;
    • noquery- injoroni paketat NTP 6 dhe 7 (kërkesa dhe modifikimi i gjendjes);
    • nomodoj- injoroni paketat NTP 6 dhe 7 (modifikimi i gjendjes);
    • kufizuar- t'i shërbejë vetëm një numri të kufizuar klientësh nga një rrjet i caktuar;
    • joper- t'i shërbejë hostit, por jo të sinkronizohet me të;
  • limiti i klientitlimit- për flamurin kufizuar përcakton numrin maksimal të klientëve të shërbyer (si parazgjedhje 3);

Kështu që ne morëm serverin ntpd, i cili është i sinkronizuar me botën e jashtme, ju lejon të merrni kohë për klientët nga rrjeti lokal 192.168.0.1 me një maskë prej 255.255.255.0, dhe gjithashtu mund të sinkronizoni me serverin lokal (nëse hiqni komentin disa rreshta). Ne vetëm duhet të konfigurojmë klientët dhe të zbulojmë se si të monitorojmë serverin tonë.

Monitorimi i serverit ntpd dhe sinkronizimi

Kur të kesh gjithçka të rregulluar. NTP do ta mbajë kohën në sinkron. Ky proces mund të vëzhgohet duke përdorur komandën NTP Query (ntpq):

Ntp-server: ~ # ntpq -p refid st t në distancë kur vonesa e arritjes së sondazhit kompenson nervozizmin ============================= ============================================= -n3. koha1 .d6.hsd .PPS. 1 u 34 64 177 70.162 2.375 8.618 + ntp1.vniiftri.r.PPS. 1 u 33 64 177 43.479 -0.020 10.198 * ntp2.vniiftri.r.PPS. 1 u 6 64 177 43.616 -0.192 0.688 + ntp4.vniiftri.r.PPS. 1 u 4 64 177 43.623 0.440 0.546 -n1.koha1.d6.hsd .PPS. 1 u 53 64 77 92.865 -11.358 38.346 -ns1.hsdn.org .GPS. 1 u 40 64 177 78.057 -3.292 35.083 -ntp3.vniiftri.r.PPS. 1 u 44 64 77 47.667 2.292 2.611 -scylla-l0.msk.c 192.43.244.18 2 u 62 64 77 41.565 -1.564 28.914

Kjo komandë me çelësin -p printon në dalje standarde një listë të burimeve kohore me karakteristikat e tyre (pjesa tjetër e parametrave të komandës janë në man ntpq). Kuptimi i secilës kolonë është si më poshtë:

Emri i serverit të largët NTP. Nëse specifikoni çelësin -n, ju merrni adresat IP të serverëve në vend të emrave.

Tregon se nga e merr kohën çdo server në këtë moment. Ky mund të jetë një emër hosti ose diçka si .GPS. Duke treguar burimin e Sistemit të Pozicionimit Global.

Shtresa (niveli) është një numër midis 1 dhe 16 që tregon saktësinë e serverit. Një do të thotë saktësi maksimale, 16 do të thotë se serveri nuk është i disponueshëm. Niveli juaj do të jetë i barabartë me nivelin e serverit më pak të saktë në distancë plus 1.

Intervali ndërmjet sondazheve (në sekonda). Vlera do të ndryshojë ndërmjet normës minimale dhe maksimale të votimit. Në fillim, intervali do të jetë i vogël në mënyrë që sinkronizimi të ndodhë shpejt. Pasi të sinkronizohen orët, intervali fillon të rritet për të reduktuar trafikun dhe ngarkesën në serverët e njohur të kohës.

Një paraqitje oktale e një grupi 8-bitësh që përfaqëson rezultatet e tetë përpjekjeve të fundit për t'u lidhur me serverin. Biti caktohet nëse serveri në distancë përgjigjet.

Sasia e kohës (në sekonda) e nevojshme për të marrë një përgjigje për "sa është ora?"

Fusha më e rëndësishme. Diferenca kohore midis serverëve lokalë dhe të largët. Gjatë sinkronizimit, kjo vlerë duhet të ulet (i afrohet zeros), duke treguar se ora e makinës lokale po bëhet më e saktë.

Varianca (Jitter) është një masë e devijimit statistikor nga vlera e kompensimit (fusha e kompensimit) mbi çifte të shumta të suksesshme kërkesë-përgjigje. Preferohet një vlerë më e ulët e variancës sepse lejon sinkronizim më të saktë të kohës.

Kuptimi i karaktereve përpara emrave të serverëve

x - burim i rremë sipas algoritmit të kryqëzimit;
... - përjashtohen nga lista e kandidatëve për shkak të distancës së madhe;
- - hequr nga lista e kandidatëve me algoritmin e grupimit;
+ - të përfshira në listën përfundimtare të kandidatëve;
# - përzgjedhur për sinkronizim, por janë 6 kandidatët më të mirë;
* - zgjedhur për sinkronizim;
o - zgjedhur për sinkronizim, por përdoret PPS;
hapësira e bardhë është një nivel shumë i lartë, një lak ose një gabim i dukshëm;

Shërbimi Ntpd"i zgjuar" dhe vetë zhduk burimet kohore që janë shumë përtej të arsyeshmes. Disa kohë pas fillimit të ntpd do të zgjedhë burimet më të besueshme të të dhënave dhe do të sinkronizohet me to. Lista e serverëve të referencës NTP të paraqitura nga ne rishikohet rregullisht nga shërbimi.

Mund të kontrolloni mundësinë e sinkronizimit lokal në server me komandën:

Serveri Ntp: ~ # ntpdate -q serveri lokal host 127.0.0.1, shtresa 2, kompensimi -0.000053, vonesa 0.02573 serveri :: 1, shtresa 2, kompensimi -0.000048, vonesa 0.02514p koha e rregullimit të serverit 0.02517:4 janar 4 :: 1 offset -0,000048 sek

Nga dalja e komandës mund të shihet se serveri ynë tashmë është bërë niveli i shtresës 2. Duhet pak kohë për të arritur këtë nivel. Ndoshta në 10-15 minutat e para niveli i serverit do të jetë më i lartë.

Funksionimi i saktë i serverit ntp mund të gjykohet gjithashtu nga regjistrat e demonit ntpd:

Serveri Ntp: ~ # cat / var / log / ntpstats / ntp 13 janar 20:13:16 ntpd: Dëgjimi në ndërfaqen # 5 eth0, fe80 :: a00: 27ff: fec1: 8059 # 123 Aktivizuar 2013 janar: 16 ntpd: Dëgjimi në ndërfaqen # 6 eth0, 192.168.0.8 # 123 Aktivizuar 14 janar 14:31:00 ntpd: sinkronizuar me 62.117.76.142, shtresa 1 14 janar 14 janar 14:31t, 14:31:00, ricaktuar 14 janar 14:31, 14:31:00, 14:31:00 ntpd. : 31: 10 ntpd: ndryshimi i statusit të sinkronizimit të kohës së kernelit 0001 14 janar 14:34:31 ntpd: i sinkronizuar në 88.147.255.85, shtresa 1 14 janar 14:36:04 ntpd: shtres. 04:36 ntpd: sinkronizuar në 62.117.76.142, shtresa 1 14 janar 15:10:58 ntpd: sinkronizuar me 62.117.76.140, shtresa 1 14 janar 15:17:51 n3 ntp 4 Janar 15:17:51 ntp 14:17:54 : sinkronizuar në 62.117.76.140, shtresa 1 14 janar 15:32:14 ntpd: rivendosja e kohës +13,139105 s

Vendosja e netfilterit (iptables) për serverin NTP

Pasi serveri të jetë konfiguruar, do të ishte mirë ta mbroni atë. Ne e dimë që serveri funksionon në portin 123 / udp, ndërsa kërkesat dërgohen edhe nga porti 123 / udp. Pasi të keni lexuar artikullin dhe të njiheni me ato praktike, mund të krijoni rregulla për filtrimin e trafikut të rrjetit:

Ntp ~ # iptables-save # iptables tipike rregulla DNS * filtri: HIQJA PERPARA: HEQJE PERPARA: OUTPUT DROP -A INPUT -i lo -j ACCEPT -A INPUT -m conntrack --ctstate RELATED, ESTABLISHED -j ANCEPTA -j m conntrack --ctstate INVALID -j DROP # lejoj qasjen LAN në serverin NTP: -A INPUT -s 192.168.1.1/24 -d 192.168.1.1/32 -p udp -m udp --dport 123 -m conntrack - - ctstate RI -j PRANO -A OUTPUT -o lo -j ACCEPT -A OUTPUT -p icmp -j ACCEPT -A OUTPUT -p udp -m udp --sport 32768: 61000 -j ACCEPT -A OUTPUT -p tcp -m tc --sport 32768: 61000 -j ACCEPT -A OUTPUT -m conntrack --ctstate LIDHUR, I KRIJUAR -j ACCEPT # lejo aksesin e serverit NTP për të bërë kërkesa në dalje -A OUTPUT -p udp -m udp --sport 123 --dport 12 -m conntrack --ctstate I RI -j ACCEPT COMMIT

Ky është një shembull tipik! Për të vendosur rregullat iptables për detyrat tuaja dhe konfigurimin e rrjetit, duhet të kuptoni se si funksionon netfilter në Linux duke lexuar artikujt e mësipërm.

Konfigurimi i makinave të klientit

Për të sinkronizuar kohën në makinat UNIX rrjeti lokal, këshillohet të përdorni mjetin ntpdate, duke e nisur atë disa herë në ditë, për shembull, çdo orë. Për ta bërë këtë, shtoni rreshtin e mëposhtëm në:

0 * * * * / usr / sbin / ntpdate -s

Ndërprerësi -s drejton daljen e komandës. Nëse makinat e klientit kanë disa megabajt shtesë RAM, atëherë mund të filloni demonin ntpd, si në server me konfigurimin e mëposhtëm:

Serveri limit default injoro limit noquery notrap limit 127.0.0.1 nomodify notrap

Unë mendoj se gjithçka është e qartë në këtë konfigurim: burimi i kohës (serveri) është serveri lokal ntpd, refuzo qasjen për të gjithë, lejo vetëm serverin lokal ntpd.

Gjithashtu, për klientët është e nevojshme të tregoni saktë në cilin format të ruani kohën dhe të zgjidhni zonën e saktë kohore.

Për të konfiguruar klientin NTP të Windows, duhet të ekzekutoni komandat e mëposhtme në tastierë:

C: \> koha neto / setsntp: Komanda përfundoi me sukses. C: \> net stop w32time Shërbimi Windows Time po ndalon. Shërbimi i Windows Time u ndërpre me sukses. C: \> net start w32time Shërbimi Windows Time po fillon. Shërbimi i Windows Time filloi me sukses. C: \> koha neto / querysntp Vlera aktuale e SNTP është: Komanda përfundoi me sukses.

konkluzioni

Epo, kjo është e gjitha! Vëllimi i artikullit doli të ishte i madh ... As vetë nuk e prisja. Unë do të përmbledh sa më sipër. Në këtë artikull, shpresoj se u bë e qartë për ne se çfarë është dhe si funksionon një server NTP. Mësuam se si të konfigurojmë serverin dhe klientët në makinat UNIX dhe Windows. Me pak fjalë, struktura e sinkronizimit të kohës në rrjetin lokal është si më poshtë: Ka 1.2 ose më shumë serverë kohorë në rrjetin lokal, ata sinkronizojnë kohën e tyre me burime të jashtme në rrjetin global. Cilësimet e serverit dhe klientit bazohen në /etc/ntp.conf (skedari kryesor i konfigurimit të daemonit ntpd), / etc / localtime (skedari aktual i zonës kohore), si dhe / etc / sysconfig / ntp (për RH) dhe / etc / default / ntp (për Deb) - skedarë të parametrave të nisjes së demonit. Për serverin lokal ntp, skedari i konfigurimit specifikon serverët e jashtëm për të marrë kohën dhe qasja lejohet për këta serverë duke përdorur parametrin kufizues, si dhe për kompjuterët në rrjetin lokal, për klientët është specifikuar burimi i kohës - serverët lokalë në rrjetin lokal, dhe qasja për të gjithë është e refuzuar, përveç burimit të kohës në rrjetin lokal. Gjithçka. Faleminderit të gjithëve për vëmendjen tuaj! Do të isha i lumtur të merrja komente!

  • (arkivi i artikullit) përshkruan se si të lidhni një GPS me një server për të organizuar serverin tuaj kohor të nivelit Stratum1.
  • përshkruan se si të konfiguroni autorizimin në serverin ntp.

Artikujt kryesorë të lidhur