Kā NTP laika sinhronizācijas protokols atšķiras no SNTP? NTP – atompulkstenis katrā tabulā Ntp protokols

Lai darbotos, NTP izmanto UDP protokolu. NTP sistēma ir ļoti izturīga pret multivides latentuma izmaiņām.

NTP izmanto Marzullo algoritmu (to ierosināja Kīts Marzullo no Kalifornijas Universitātes Sandjego), tostarp pārraides laika funkciju. 4. versijā tas spēj sasniegt precizitāti 10 ms (1/100 s), strādājot internetā, un līdz 0,2 ms (1/5000 s) un labāk lokālajos tīklos.

NTP ir viens no vecākajiem izmantotajiem protokoliem. NTP izstrādāja Deivids L. Mills no Delavēras universitātes 1985. gadā, un pašlaik tas tiek uzlabots. Pašreizējā versija ir NTP 4.

NTP izmanto hierarhisku "pulksteņa līmeņu" (slāņa) sistēmu. 1. līmenis tiek sinhronizēts ar augstas precizitātes pulksteni, piemēram, ar GPS sistēmu, GLONASS (Krievijas Federācijas vienotā valsts laika skala) vai atomu laika standartu. 2. līmenis tiek sinhronizēts ar kādu no 1. līmeņa iekārtām utt.

Laiks NTP sistēmā tiek attēlots kā 64 bitu skaitlis (8 baiti), kas sastāv no 32 bitu sekunžu skaitītāja un 32 bitu daļēja sekundes skaitītāja, kas ļauj pārraidīt laiku 2-32 sekunžu diapazonā ar teorētiskā precizitāte 2-32 sekundes. Tā kā laika skala NTP atkārtojas ik pēc 2 32 sekundēm (136 gadi), saņēmējam vismaz aptuveni ir jāzina pašreizējais laiks (ar precizitāti līdz 50 gadiem). Ņemiet vērā arī to, ka laiks tiek mērīts no 1900. gada 1. janvāra pusnakts, nevis 1970. gada, tāpēc gandrīz 70 gadi (ieskaitot garo gadu) ir jāatņem no NTP laika, lai pareizi saskaņotu laiku ar Windows vai Unix sistēmām.

NTP protokolu visplašāk izmanto precīza laika serveru ieviešanai. Lai sasniegtu maksimālu precizitāti, priekšroka dodama nepārtrauktai darbībai programmatūra NTP sistēmas apkalpošanas režīmā. Microsoft Windows operētājsistēmu saimē tas ir pakalpojums W32Time (w32time.dll modulis, kas darbojas svchost.exe), Linux - Ntpd pakalpojums.

Vienkāršāka šī algoritma ieviešana ir pazīstama kā SNTP — vienkārša sinhronizācija tīkla protokols. Izmanto iegultās sistēmās un ierīcēs, kurām nav nepieciešama augsta precizitāte, kā arī pielāgotās laika programmās.

Detalizēta protokola un sistēmas ieviešana kopumā ir aprakstīta:

NTP nevajadzētu jaukt ar dienas protokolu RFC 867 vai laika protokolu RFC 868 (win programma FG Time Sync).

Stundu slāņi

NTP izmanto hierarhisku, daudzlīmeņu laika avotu sistēmu. Katrs šīs hierarhijas līmenis tiek saukts par slāni, katram slānim tiek piešķirts numurs, sākot ar 0 (nulle) augšpusē. Slāņa līmenis nosaka attālumu no atsauces pulksteņa un pastāv, lai novērstu cikliskas atkarības hierarhijā. Ir svarīgi atzīmēt, ka slānis nav kvalitātes un uzticamības rādītājs, tas nozīmē, ka avots slānis 3 var dot vairāk signālu Augstas kvalitātes nekā daži avoti slāņi 2. Būtībā slāņi kalpo, lai sadalītu slodzi un nodrošinātu lielāku pārklājuma laukumu. Šī slāņa definīcija atšķiras arī no telekomunikāciju sistēmās izmantotā pulksteņa slāņu jēdziena.

0. slānis

Layer 0 ir augstas precizitātes ierīce, kas kalpo kā laika standarts, piemēram, atomu (molekulārie, kvantu) pulksteņi, radio pulksteņi vai to analogi. Parasti šīs ierīces nav savienotas ar tīklu; tā vietā tie ir savienoti ar vietējo datoru (piemēram, izmantojot RS-232 interfeisu) un pārraida PPS signālus sinhronizācijai.

1. slānis

Šis ir dators, kuram ir tieši pievienots atskaites pulkstenis. Tas darbojas kā tīkla laika serveris un atbild uz NTP pieprasījumiem, ko sūta 2. slāņa datori.

2. slānis

Tie ir datori, kas saņem laiku no pirmā slāņa serveriem, izmantojot NTP protokolu. Parasti otrā slāņa datori sazinās ar vairākiem serveriem pirmajā slānī un, izmantojot NTP algoritmu, iegūst vislabāko datu paraugu, novēršot serverus ar acīmredzami nepareizu laiku. Datori var salīdzināt savus datus ar citiem datoriem savā slānī, lai iegūtu stabilus un konsekventus datus visos slāņa datoros. Savukārt otrā slāņa datori darbojas kā serveri trešajā slānī esošajiem datoriem un atbild uz NTP pieprasījumiem.

3. slānis

Trešā slāņa datori darbojas tieši tāpat kā otrā slāņa datori, ar vienīgo atšķirību, ka tiem paredzētie serveri ir otrā slāņa datori. Tie var darboties arī kā pamata slāņa serveri. NTP (atkarībā no versijas) atbalsta līdz 256 slāņiem.

Skatīt arī

Saites

  • - Krievijas Federācijas valsts laika un frekvences standarta (STSE) NTP serveru saraksts
  • Tīkla laika protokola projekts - publisks projekts NTP protokola un pakalpojumu izstrādei
  • NTP sabiedrisko pakalpojumu projekts - NTP publisko serveru projekts un IETF NTP darba grupa
  • pool.ntp.org ir resurss, kas ir liels virtuālais NTP serveru kopums miljoniem lietotāju. 2010. gada 29. decembrī vietnē pool.ntp.org ir reģistrēti 2078 serveri. Ir iespējams izvēlēties reģionālos serverus.
  • ntp.mobatime.ru - kopš 2005. gada publiskais bezmaksas NTP serveris Mobatime no pirmā slāņa (Krievija, Sanktpēterburga).
  • time.bakulev.ru - pirmā slāņa publiskais bezmaksas NTP serveris (Krievija, Maskava).

Wikimedia fonds. 2010. gads.

Skatiet, kas ir "NTP" citās vārdnīcās:

    NTP- ir trīs burtu iniciālisms, kas var apzīmēt: Saturs 1 skaitļošana 2 Politika 3 Zinātne 3.1 Ķīmija 3.2 Medicīna … Wikipedia

    NTP- saīsinājums. normāla temperatūra un gaisa spiediens: agrākais STP termins * * * NTP saīsinājums. normāla temperatūra un spiediens. * * * …Universāls

    NTP- NTP, Abk. für Network Time Protocol… Universal-Lexikon

    NTP- (Network Time Protocol) (Internet) protokols, kas ieplāno datora iekšējo pulksteni ar atomu pulksteņiem vai radio pulksteņiem internetā... Mūsdienu angļu vārdnīca

    NTP- saīsinājums. normāla temperatūra un gaisa spiediens: agrākais termins STP … angļu Pasaules vārdnīca

    NTP- Cette page d'homonymie répertorie les différents sujets et articles partageant un même nom. Sigles d’une seule Letre Sigles de deux Letres > Sigles de trois Letres Sigles de quatre Letres … Wikipédia en Français

    NTP

    Ntp- Die Abkürzung NTP steht für: Network Time Protocol, ein Protokoll zur Zeitsynchronization zwischen Computern Normal Temperature and Pressure, die englische Bezeichnung für die physikalischen Normalbedingungen Nukleosidtriphosphat in der… … Deutsch Wikipedia

    NTP- Nukleozīda 5′ trifosfāta saīsinājums. * * * narkotiku ārstēšanas programma; Valsts toksikoloģijas programma; nitroprussīds; netrombopēniskā purpura; normāla temperatūra un spiediens; 5' nukleotidāze; nātrija nitroprussīds * * * NTP abbr normal… … Medicīnas vārdnīca


Laika sinhronizācija ir svarīgs uzdevums, lai gan ne daudzi cilvēki par to ir domājuši. Nu, kas slikts, ja laiks bēg uz servera? Vai zinājāt, ka daudzas pulksteņa problēmas ietekmē ar kriptogrāfiju saistītos protokolus? Šī iemesla dēļ iekšā Active Directory Pulksteņa starpība, kas pārsniedz 5 minūtes, radīs Kerberos autentifikācijas problēmas.

Stundu līmeņi. Strata.

Lai saprastu NTP ierīci, jums jāzina par koncepciju slāņi vai slānis. Autoritatīvi laika avoti, piemēram, GPS satelīti, cēzija atompulksteņi, WWVB radioviļņi — tas viss slānis 0. Tie ir autoritatīvi, pamatojoties uz to, ka viņiem ir kāds veids, kā uzturēt ļoti precīzu laika uzskaiti. Var, protams, izmantot parastu kvarca pulksteni, taču, zinot, ka ar tiem mēnesī ir viegli zaudēt 15 sekundes, labāk tos neizmantot kā laika mērauklu. Slānis 0 Tas ir tad, kad sekunde nav zaudēta 300 000 gadu laikā!

Datori, kas tieši (nevis tīklā!) aizņem laiku no slānis 0-Šo slānis 1. Tā kā signāla pārraides un laika iestatīšanas izmaksu dēļ vienmēr ir kavēšanās, datori slānis 1 nav tik precīzi kā slānis 0, bet iekšā īsta dzīve starpība sasniedz pāris mikrosekundes (1 μs = 10 -6 s), kas ir pilnīgi pieņemama novirze.

Nākamā līmeņa datori, kas aizņem laiku tīklā no slānis 1- šī ir... bungu ripināšana... intriga... 2. slānis! Atkal dažādu kavējumu dēļ (noteikti tīkla kavēšanās), 2. slānis nedaudz atpaliek slānis 1 un noteikti no slānis 0. Praksē tā ir atšķirība no vairākām mikrosekundēm (1 μs = 10 -6 s) līdz vairākām milisekundēm (1 ms = 10 -3 s). Daudzi cilvēki vairs nevēlas sinhronizēt ar slāni 2. slānis.

Kā redzams diagrammā, 4. slānis prasa laiku no priekšnieka 3. slānis. 5. slānis plkst 4. slānis un tā tālāk. slānis 16 tiek uzskatīts par zemāko slāni, un laiks tiek skaitīts tur nesinhronizēts.

Lai sinhronizētu laiku, izmantojot NTP, vispirms manuāli jāiestata laiks. Starp jūsu precīzo laiku un pulksteni nedrīkst būt lielāka par 1000 sekundēm. Ja jūsu izmantotais laika serveris atrodas vairāk nekā 1000 milisekundes (1 sekundi), tas tiks izslēgts no saraksta un tā vietā tiks izmantoti citi. Šis mehānisms ļauj filtrēt slikta laika avotus.

Laika klients.

/etc/ntp.conf failā servera rindas ir svarīgas klientam. Tie var būt vairāki - līdz 10 gab!

Cik daudz jāpievieno? Lūdzu, paturiet prātā:

  • Ja tev ir tikai viens serveris (vienas līnijas serveris), tad ja šis serveris sāks melot, tad tu tam akli sekosi. Ja viņa laiks beidzas par 5 sekundēm un jūs skrienat viņam pakaļ.
  • Ja tiek pievienoti 2 serveri (2 serveru rindas), tad NTP tos abus atzīmēs kā viltus tickers. Ja kāds no viņiem melo, tad NTP nevar saprast, kurš melo, jo nav kvoruma.
  • Ja tiek pievienoti 3 vai vairāk laika serveri, tad var identificēt vienu meli viltus tickers. Ja ir 5 vai 6 laika serveri, tad jūs varat atrast 2 meļus viltus tickers. Ja ir 7 vai 8 serveri, tad 3 viltus tickers. Ja ir 9 un 10 serveri, tad 4 viltus tickers.

NTP baseina projekts.

Ir projekts ar nosaukumu NTP Pool, kura adresē pool.ntp.org/zone/ru/ var atrast Krievijas lietotājiem ieteiktos laika serverus.

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

Operētājsistēmas, piemēram, Debian un Ubuntu, piedāvā lietotājiem savus laika serverus.

serveris 0.debian.pool.ntp.org
serveris 1.debian.pool.ntp.org
serveris 2.debian.pool.ntp.org
server3.debian.pool.ntp.org

serveris 0.ubuntu.pool.ntp.org
serveris 1.ubuntu.pool.ntp.org
serveris 2.ubuntu.pool.ntp.org
serveris 3.ubuntu.pool.ntp.org

Ja palaižat komandu ntpq -pn savā Linux datorā, kas izmanto NTP

Attālā pārveide st, kad aptaujas sasniedzamības aizkaves nobīde ================================ ========== =========================================== +93.180.6.3 77.37.134.150 2 u 62 1024 377 53,658 -0,877 1,174 +85,21,78,23 193,190,230,65 2 u 1027 1024 377 54,651 0,167 * 62,81,317 1,3 817 1,24 2 u 940 1024 377 52,796 -0,143 1,001 +91,206,16,3 194,190,168,1 2 u 258 1024 377 93,882 -0,680 2,196 -91,189,94,4 193,79,237,14 2 u 596 1024 377 100,219 1,562 1,482

Ko saka kolonnu nosaukumi:

  • tālvadības pults- attālie serveri, ar kuriem jūs sinhronizējat laiku.
  • refid- šī servera augstākais slānis.
  • st- slāņa līmenis. No 0 (mums nav pieejams) līdz 16 (mums nav vēlams). Ideāli - 2.
  • t- savienojuma veids. " u" - unicast vai manycast, " b" - apraide vai multiraide, " l"vietējais atsauces pulkstenis", s" - simetrisks mezgls," A" - manycast serveris, " B" - apraides serveris, " M" - multiraides serveris.
  • kad- laiks, kad serveris mums pēdējo reizi atbildēja. Parametrs parāda skaitli sekundēs, bet var parādīties minūtēs, ja skaitlis ir ar m vai stundās, ja h.
  • aptauja- aptauju biežums. Vismaz 16 sekundes, maksimāli 32 stundas. Skaitlim jābūt 2n. Parasti šis parametrs parāda vai nu 64 sekundes, vai 1024.
  • sasniegt- 8 okteta biti, kas norāda saziņas statusu ar attālo laika serveri: veiksmīgs vai neizdevies. Ja biti ir iestatīti, tad tas ir veiksmīgi, pretējā gadījumā tā ir neveiksme. Vērtība 377 ir bināra vērtība 0000 0000 1111 1111.
  • kavēšanās- vērtība milisekundēs parāda laiku starp atbildes nosūtīšanu un saņemšanu (turp un atpakaļ laiks — RTT).
  • kompensēt- nobīde milisekundēs starp jums un laika serveriem. Var būt pozitīvs vai negatīvs skaitlis.
  • nervozēt- absolūtā vērtība milisekundēs, kas norāda jūsu nobīdes standarta novirzi.

Pirms NTP servera IP adreses ir simbols - tas ir sakrīt kods. Veidi sakrīt kods:

  • " " - izmests kā nederīgs. Piemēram, ar viņu nav saiknes vai viņš ir bezsaistē, viņš ir pārāk augsts un nekalpo tādiem cilvēkiem kā jūs.
  • "x"- noraidīja krustošanās algoritms. Krustošanās algoritms sagatavo kandidātu partneru sarakstu, kas var kļūt par sinhronizācijas avotiem, un aprēķina ticamības intervālu katram no tiem.
  • "." - izmests galda pārpildes dēļ.
  • "-" - klastera algoritms atmests. Klasterizācijas algoritms sakārto kandidātu sarakstu pēc slāņa un sinhronizācijas attāluma kodiem.
  • "+" - serveris ir ieslēgts, izmantojot “apvienošanas algoritmu”. Šis serveris ir lielisks kandidāts, ja jūsu pašreizējā laika serveris sāk jums neizdoties.
  • "#" - serveris ir lielisks alternatīvais laika serveris. Serveri ar # var redzēt tikai tad, ja mapē /etc/ntp.conf ir vairāk nekā 10 servera ierakstu
  • "*" - pašreizējā laika serveris. Tās rādījumi tiek izmantoti, lai sinhronizētu jūsu pulksteni.
  • "o"- Pulse sekundē (PPS) serveris. Tas parasti nozīmē, ka attiecīgais laika serveris izmanto laika avotus, piemēram, GPS satelītus un citus precīzus laika signālus. Ja zīmē O, tad cita veida sakritības kods vairs netiks rādīts.

Laukā refid var būt šādas vērtības:

  • IP adrese - attālā laika servera adrese.
  • .ACST.- NTP manycast serveris.
  • .ACTS. — Amerikas Nacionālā standartu un tehnoloģiju institūta automatizētais datoru laika pakalpojums.
  • .AUTH — autentifikācijas kļūda.
  • .AUTO — kļūda automātisko taustiņu secībās.
  • .BCST.- NTP apraides serveris.
  • .CHU.- Īsviļņu radio uztvērējs no stacijas CHU Otavā, Ontario, Kanādā.
  • .CRYPT — Autokey protokola kļūda.
  • .DCFx.- LF radio uztvērējs no stacijas DCF77 Mainflingenā, Vācijā.
  • .DENY.- Piekļuve liegta.
  • .GAL.- Eiropas Galileo satelīta uztvērējs.
  • .GOES.- Amerikas ģeostacionārais operatīvais vides satelīta uztvērējs.
  • .GPS.- Amerikas globālās pozicionēšanas sistēmas uztvērējs.
  • .HBG.- LF radio uztvērējs no HBG stacijas Pranginsā, Šveicē.
  • .INIT.- Inicializēta vienaudžu asociācija.
  • .IRIG.- Inter Range Instrumentation Group laika kods.
  • .JJY.- LF radio uztvērējs no JJY stacijas Otakadojas kalnā, netālu no Fukušimas vai Haganes kalna Kjusju salā, Japānā.
  • .LFx.- Parasts LF radio uztvērējs.
  • .LOCL. — lokālais resursdatora pulkstenis.
  • .LORC.- LF radio uztvērējs no Long Range Navigation (LORAN-C).
  • .MCST.- NTP multiraides serveris.
  • .MSF.- Anthorn radiostacija netālu no Entornas, Kambrijā.
  • .NIST.- Amerikas Nacionālais standartu un tehnoloģiju institūts.
  • .PPS.- Pulss sekundē pulkstenis.
  • .PTB.- Physikalisch-Technische Bundesanstalt no Brunsvikas un Berlīnes, Vācijā.
  • .RATE — pārsniegts NTP aptaujas slieksnis.
  • .STEP — mainiet NTP soli. Aizspriedums kompensēt mazāk nekā 1000 milisekundes, bet vairāk nekā 125 milisekundes.
  • .TDF.- LF radio uztvērējs no TéléDiffusion de France stacijas Allouis, Francijā.
  • .TIME.- NTP asociācijas taimauts.
  • .USNO.- Amerikas Savienoto Valstu Jūras spēku observatorija.
  • .WWV.- HF radio uztvērējs no WWV stacijas Fortkolinsā, Kolorādo, Amerikas Savienotajās Valstīs.
  • .WWVB.- LF radio uztvērējs no WWVB stacijas Fortkolinsā, Kolorādo, ASV.
  • .WWVH.- HF radio uztvērējs no WWVH stacijas Kekaha, Kauai salā Havaju salās, ASV.

Pirmkārt, atbrīvojieties no idejas par to, kā iegūt laiku no slānis 1, viņi saka, ka ir vistuvāk precīzam laikam. Tie ir tuvāk visprecīzākajam laikam uz planētas, taču tie paši ir pārslogoti un tiem ir liela RTT aizkave parastajiem serveriem. Labāk atrodi kādu normālu 2. slānis un neuztraucieties par to. Neaizmirstiet, ka mēs runājam par mikrosekundēm un milisekundēm, kas ir pilnīgi pietiekami parastajā dzīvē.

Otrkārt, atcerieties, ka savienojums ar tuvāko laika serveri ne vienmēr ir ideāls. Svarīgāks ir nevis teritoriālais tuvums, bet gan slāņa līmenis. NTP Pool projekts publicē tikai līmeņa serveru sarakstu slānis 1 Un 2. slānis un labāk ir ņemt līdz 10 laika serveriem no šo sarakstu, kas būs vienkārši brīnišķīgi.

Treškārt, ja esat vienkāršs mājas lietotājs-klients, tad jūsu operētājsistēmā jums ieteiktie serveri būs ideāls variants, kas neprasa liekas kustības.

Lieliem birojiem vislabākais risinājums būtu izveidot savu laika serveri darba datoriem. Šis serveris saņems precīzu laiku no interneta laika serveriem un nodrošinās to vietējie datori. Debian un Ubuntu serveros vienkārši noņemiet komentāru

Ierobežot 192.168.0.0 masku 255.255.0.0 nomodify notrap

ntpd dēmona konfigurācijas failā - /etc/ntp.conf

Lietotāji no 192.168/16 tīkla varēs iegūt precīzus pulksteņa rādījumus no jūsu servera. Iekšējiem uz Linux bāzētiem serveriem, kas nav laika serveri un kuri nodarbojas ar saviem uzdevumiem, tā vietā, lai palaistu ntpd dēmonu klienta režīmā, pilnīgi pietiek ar to norādīt /etc/cron.daily/syncntpd failā. Ieteicams izlasīt atšķirības starp ntpdate un ntp un izlemt pašam.
#!/bin/sh
/usr/sbin/ntpdate IP.address.of.your.server > /dev/null 2>&1
izeja 0

un reizi dienā, pateicoties komandai ntpdate, tiks veikta laika sinhronizācija. Lai izvairītos no pārpratumiem, neesiet slinki pirms laika servera ieviešanas un visu sinhronizēšanas caur NTP protokolu – manuāli iestatiet pareizo laiku visos jums pieejamajos serveros un darbstacijās. Ja jūsu nesinhronizētais laiks pārāk atšķiras no pareizā, tad sākumā varat radīt daudz nevajadzīgu problēmu.

Ceturtkārt, NTP nav nekāda sakara ar to, kura valsts un kuras laika joslas tiek izmantotas un kā notiek pāreja uz vasaras un ziemas laiku un vai konkrētajā valstī šāda pāreja tiek veikta. Šī atbildība gulstas uz operētājsistēmu, kas jums ir jāatjaunina, ja valstī notiek izmaiņas pulksteņu ražošanā. Debian un Ubuntu sistēmās par to ir atbildīga tzdata pakotne, un tai ir jābūt atjauninātai.

Piektkārt, labāk nedarbināt NTP serveri ļoti noslogotā sistēmā.

MSK-IX NTP serveris ir publisks laika serveris, ko atbalsta MSK-IX. Precīzā laika serveris ir paredzēts, lai sinhronizētu datoru un tīkla iekārtu (serveru, maršrutētāju, viedtālruņu u.c.) iekšējos pulksteņus ar atsauces avotu, izmantojot NTP protokolu.

MSK-IX NTP serveris pieder pie augstākā precizitātes līmeņa (Stratum One Time Servers) laika līmeņu hierarhiskajā sistēmā. Globālais signāls tiek izmantots kā atsauces laika signāls. satelītu sistēmas navigācija GLONASS (prioritāte) un GPS.

MSK-IX NTP serveris ir ieviests kā serveru grupa, kas atrodas Maskavā, Sanktpēterburgā, Jekaterinburgā un Novosibirskā. Pieteikums tīkla tehnoloģija Anycast nodrošina augstu uzticamību un ātru sistēmas reakciju visā valstī.

MSK-IX serveri ir iekļauti arī starptautiskajā NTP serveru pūlā POOL.NTP.ORG, ko plaši izmanto operētājsistēmas iestatījumos.

Kā sākt lietot NTP servera pakalpojumu?

Konfigurējot aparatūru, izmantojiet šādus parametrus:

Servera nosaukums ntp.msk-ix.ru
IPv4 adrese 194.190.168.1
IPv6 adrese 2001:6d0:ffd4::1

Kā izveidot peering ar MSK-IX NTP serveru tīklu?

Lai saīsinātu tīkla maršrutu līdz MSK-IX NTP serverim, izmantojiet pakalpojumu Route Server vai izveidojiet tiešu peering ar MSK-IX DNS mākoņa tīklu. Vienādranga mijiedarbība tiek izveidota pēc papildu pieteikuma līguma ietvaros par pieslēgumu MSK-IX bez papildu samaksas.

Labdien, viesi un pastāvīgie lasītāji. Es pakāpeniski pāreju no pamatiem uz padziļinātu Linux izpēti. Šodien es vēlos apsvērt ntp protokola darbība, kā arī iestatījumu laika serveris operētājsistēmā Linux(ntp serveris). Tātad, sāksim ar teoriju.

NTP protokols

Tīkla laika protokols (NTP)- tīkla protokols datora iekšējā pulksteņa sinhronizēšanai, izmantojot tīklus ar mainīgu latentumu (lasiet “kanāla platums”/kvalitāte).

NTP tiek izmantots savam darbam UDP protokols un 123. ports.

Pašreizējā protokola versija - NTP 4. NTP izmanto hierarhisku sistēmu "stundu līmeņi"(tos sauc arī Stratum). 0. līmenis (vai 0. slānis)- parasti tās ir ierīces, kas ir atompulksteņi (molekulārie, kvantu), GPS pulksteņi vai radio pulksteņi. Ierīces dati parasti netiek publicēti vispasaules tīkls un izveidojiet savienojumu tieši ar 1. līmeņa laika serveri izmantojot RS-232 protokolu (attēlā norādīts ar dzeltenām bultiņām). 1. līmenis sinhronizēts ar augstas precizitātes pulksteni līmenis 0, parasti darbojas kā avoti serveriem 2. līmenis. 2. līmenis sinhronizēts ar kādu no iekārtām 1. līmenis, un ir iespējama arī sinhronizācija ar jūsu līmeņa serveriem. 3. līmenis darbojas līdzīgi kā otrais. Parasti tīklā tiek publicēti otrā un zemāka līmeņa serveri. NTP protokols atbalsta līdz 256 līmeņiem. Vēlos arī atzīmēt, ka 1. un 2. līmeņa serveri un dažreiz pat 3. līmeņa serveri ne vienmēr ir publiski pieejami. Dažreiz, lai sinhronizētu ar tiem, domēna administratoriem ir jānosūta pieprasījums pa pastu.

Kāpēc ir ierobežojumi piekļuvei serveriem? Pārejot uz katru līmeni, kļūda attiecībā pret primāro serveri nedaudz palielinās, bet kopējais serveru skaits palielinās un tāpēc .

NTP servera piešķiršana lokālajā tīklā

Kāpēc mums var būt nepieciešams NTP serveris? Piemēram, operētājsistēmās ir pakalpojumi, kas var būt atkarīgi no sinhronizētā laika. Spilgtākais šādu pakalpojumu piemērs ir Kerberos autentifikācijas protokols. Lai tas darbotos, datoros, kuriem piekļūst, izmantojot šo protokolu, sistēmas laiks atšķirtos ne vairāk kā par 5 minūtēm. Turklāt precīzs laiks visos datoros ļauj daudz vieglāk analizēt drošības žurnālus, izmeklējot drošības incidentus. lokālais tīkls.

NTP servera/klienta darbības režīmi

Klients/serveris

Šis režīms ir visizplatītākais internetā. Darba shēma ir klasiska. Klients nosūta pieprasījumu, uz kuru serveris noteiktā laikā nosūta atbildi. Klients tiek konfigurēts, izmantojot servera direktīvu konfigurācijas failā, kur ir norādīts laika servera DNS nosaukums.

Simetrisks aktīvais/pasīvais režīms

Šis režīms tiek izmantots, ja laika sinhronizācija tiek veikta starp lielu skaitu vienādranga iekārtu. Papildus tam, ka katra mašīna sinhronizējas ar ārēju avotu, tā sinhronizējas arī ar saviem kaimiņiem (vienaudžiem), darbojoties kā klients un laika serveris. Tātad, pat ja iekārta "pazaudē" ārēju avotu, tā joprojām varēs iegūt precīzu laiku no saviem kaimiņiem. Kaimiņi var strādāt divos režīmos – aktīvajā un pasīvajā. Strādājot aktīvajā režīmā, iekārta pati pārsūta savu laiku visām blakus esošajām mašīnām, kas norādītas ntp.conf konfigurācijas faila vienādranga sadaļā. Ja kaimiņi šajā sadaļā nav norādīti, tiek uzskatīts, ka iekārta darbojas pasīvā režīmā. Lai nepieļautu, ka uzbrucējs apdraud citas mašīnas, uzdodoties par aktīvu avotu, ir jāizmanto autentifikācija.

Apraides režīms

Šo režīmu ieteicams izmantot gadījumos, kad neliels skaits serveru apkalpo lielu skaitu klientu. Darbojoties šajā režīmā, serveris periodiski nosūta paketes, izmantojot apakštīkla apraides adresi. Klients, kas konfigurēts sinhronizēšanai šādā veidā, saņem servera apraides paketi un sinhronizējas ar serveri. Šī režīma iezīme ir tāda, ka laiks tiek piegādāts vienā apakštīklā (ierobežojot apraides paketes). Turklāt, lai aizsargātu pret uzbrucējiem, ir jāizmanto autentifikācija.

Multiraides režīms

Šis režīms daudzējādā ziņā ir līdzīgs apraidei. Atšķirība ir tāda, ka pakešu piegādei tiek izmantotas IP adrešu telpas D klases tīklu multiraides adreses. Klientiem un serveriem tiek norādīta multiraides grupas adrese, kuru tie izmanto laika sinhronizēšanai. Tas ļauj sinhronizēt iekārtu grupas, kas atrodas dažādos apakštīklos, ja maršrutētāji, kas tos savieno, atbalsta IGMP protokolu un ir konfigurēti multiraides trafika pārsūtīšanai.

Daudzraides režīms

Šis režīms ir jauninājums NTP protokola ceturtajā versijā. Tas nozīmē, ka klients meklē manycast serverus starp saviem tīkla kaimiņiem, saņem laika paraugus no katra no tiem (izmantojot kriptogrāfiju) un, pamatojoties uz šiem datiem, izvēlas trīs “labākos” daudzraides serverus, ar kuriem klients sinhronizēs. Ja kāds no serveriem neizdodas, klients automātiski atjaunina savu sarakstu.

Lai pārraidītu laika paraugus, klienti un serveri, kas darbojas multiraides režīmā, izmanto multiraides grupu adreses (D klases tīkli). Klienti un serveri, kas izmanto vienu un to pašu adresi, veido vienu un to pašu asociāciju. Asociāciju skaitu nosaka izmantoto multiraides adrešu skaits.

Laiks Linux

Es īsi pastāstīšu, kāds laiks pastāv Linux un kā to iestatīt. Linux, tāpat kā citās OS, ir 2 reizes. Pirmais - aparatūra , dažreiz sauc Reālā laika pulkstenis, saīsināti ( RTC) (pazīstams arī kā BIOS pulkstenis) tie parasti ir saistīti ar oscilējošu kvarca kristālu, kura precizitāte ir dažas sekundes dienā. Precizitāte ir atkarīga no dažādām svārstībām, piemēram, apkārtējās vides temperatūras. Otrais pulkstenis ir iekšējais programmas pulkstenis , kas notiek nepārtraukti, tostarp sistēmas darbības pārtraukumu laikā. Tie ir pakļauti izmaiņām lielās sistēmas slodzes un pārtraukuma latentuma dēļ. Tomēr parasti sistēma sāknēšanas laikā nolasa aparatūras pulksteni un pēc tam izmanto sistēmas pulksteni.

datums un laiks operētājsistēma iestatīts sāknēšanas laikā, pamatojoties uz vērtību aparatūras pulkstenis, un laika joslas iestatījumi. Laika joslas iestatījumi tiek ņemti no faila /etc/localtime. Šis fails ir saite (bet biežāk kopija) vienam no failiem direktoriju struktūrā /usr/share/zoneinfo/.

Linux aparatūras pulksteņi var uzglabāt laiku šādā formātā UTC(analogs GMT) vai pašreizējais teritoriālais laiks. Vispārīgais ieteikums, kādu laiku iestatīt (?) ir šāds: ja datorā ir instalētas vairākas operētājsistēmas un viena no tām ir Windows, tad jāizmanto pašreizējais laiks (jo Windows ņem laiku no BIOS/CMOS un uzskata to par lokālu). Ja tiek izmantotas tikai ekspluatācijas UNIX sistēmasģimenei, laiku vēlams saglabāt BIOS UTC formātā.

Kad operētājsistēma ir sāknēta, operētājsistēmas pulkstenis un BIOS pulkstenis ir pilnīgi neatkarīgi. Sistēmas kodols sinhronizē sistēmas pulksteni ar aparatūras pulksteni ik pēc 11 sekundēm.

Pēc kāda laika aparatūras un programmatūras pulksteņi var atšķirties par vairākām sekundēm. Kuri pulksteņi rāda pareizo laiku? Ne viens, ne otrs, kamēr neesam to uzstādījuši laika sinhronizācija.

Piezīme:

Linux kodols vienmēr saglabā un aprēķina laiku kā sekunžu skaitu kopš pusnakts 1970. gada 1. janvāris gadā, neatkarīgi no tā, vai jūsu pulkstenis ir iestatīts uz vietējo vai vispārējo laiku. Pārvēršana uz vietējo laiku tiek veikta pieprasījuma procesa laikā.

Tā kā sekunžu skaits kopš 1970. gada 1. janvāra UTC tiek saglabāts kā 32 bitu vesels skaitlis ar parakstu (tas attiecas uz Linux/Intel sistēmām), jūsu pulkstenis pārtrauks darboties 2038. gadā. Linux nav 2000. gada problēmas, bet ir 2038. gada problēma. Par laimi, līdz tam laikam visas Linux sistēmas darbosies 64 bitu sistēmās. 64 bitu vesels skaitlis saturēs mūsu pulksteni līdz aptuveni 292271 miljonajam gadam.

NTP serveris Linux

Ievads

Linux OS laika sinhronizācijai ir daudz implementāciju. Slavenākie ir Xntpd (NTP versija 3), ntpd (NTP versija 4), Crony un ClockSpeed. Mūsu piemērā mēs izmantosim ntpd serveri.

Ntpd dēmons ir gan laika serveris, gan klients, atkarībā no konfigurācijas faila /etc/ntpd.conf (dažreiz /etc/ntp.conf) iestatījumiem dēmons var “saņemt” laiku no attāliem serveriem un “izplatīt”. laiks citiem saimniekiem.

Ģenerālis laika sinhronizācijas ķēde lokālajā tīklā ir šāds: jums ir jābūt 1 vai 2 serveriem ar piekļuvi globālajam tīklam, kas saņems laiku no interneta. Visi datori lokālajā tīklā tiek sinhronizēti ar norādītajiem serveriem, kas saņem laiku no interneta.

Instalējot ntpd

Patiesībā dēmona instalēšana Tas ir saistīts ar šādu pakotņu instalēšanu: ntp(pakotne, ieskaitot pašu dēmonu), ntpdate(manuālās laika sinhronizācijas utilīta ir novecojusi), ntp-doc(pakotnes dokumentācija), dažos izplatījumos jums būs jāinstalē tas pats ntp-utils(diagnostikas utilītas), dažos tie ir iekļauti ntp pakotnē. Es aprakstīju, kā instalēt programmas operētājsistēmā Linux. Pēc pakotnes instalēšanas lielākajā daļā izplatījumu dēmons jau būs konfigurēts kā ntp klients (piemēram, tas bija Debian gadījumā). Attiecīgi tika automātiski izveidoti galvenie konfigurācijas faili: /etc/ntp.conf un /var/lib/ntp/ntp.drift, un dēmons tika automātiski palaists.

Pirms dēmona iestatīšanas sinhronizācijai ar ārpasauli, es ieteiktu iestatīt pašreizējo sistēmas datumu uz vērtību, kas ir pēc iespējas tuvāka reālajam laikam. Datuma iestatīšana operētājsistēmā Linux ko rada komanda: datums MMDDhhmmCCYY.ss, kur MM — mēnesis, DD — mēneša diena, hh — stundas, mm — minūtes, CCYY — gada 4 cipari, ss — sekundes. Tajā pašā laikā vērtības CCYY.ss nav nepieciešams norādīt.

Kā redzat, norādītā komanda iestatīs pašreizējo datumu un laiku uz 2010. gada 27. decembri, 20:06:30. datuma komanda bez parametriem parādīt pašreizējo sistēmas laiku. Šai komandai ir virkne parametru, kurus var atrast mandatā.

Ir arī pareizi jākonfigurē aparatūras pulkstenis un laika josla. Kā minēts iepriekš, laika josla tiek konfigurēta, kopējot nepieciešamo zonas failu no direktorija /usr/share/zoneinfo/ uz failu /etc/localtime:

Ntp-serveris: ~# cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Aparatūra Noliku pulksteni uz UTC:

# cat /etc/sysconfig/clock | grep UTC # UTC=true norāda, ka pulkstenis ir iestatīts uz UTC; UTC=true ntp2-server:~# cat /etc/default/rcS | grep UTC UTC=jā

Pirmajā piemērā ir norādīts konfigurācijas fails, kas definē UTC izmantošanu RH, bet otrajā - Deb sadalījumiem.

Papildus UTC laika izmantošanas iestatījumu iestatīšanai ir jānorāda aparatūras laiks. (vairumā gadījumu tas nav nepieciešams, jo norādītais sistēmas laiks neizbēgami tiek sinhronizēts ar aparatūru, izmantojot kodolu). Bet tomēr, ja ir vēlme to darīt... hwclock komanda nolasa un iestata aparatūras pulksteni, pamatojoties uz tam nodotajiem parametriem. Pieejamās opcijas ir aprakstītas komandas rokasgrāmatas lapā. Šeit ir daži hwclock izmantošanas piemēri:

Ntp-server# hwclock # nolasa laiku no aparatūras pulksteņa ntp-serveris# hwclock --systohc --utc # iestata aparatūras pulksteni uz # UTC, pamatojoties uz sistēmas laiku ntp-server# hwclock --systohc # iestata aparatūras pulksteņa laiku # uz vietējo laiks, pamatojoties uz sistēmas laiku ntp-server# hwclock --set --date "22 Mar 2002 13:17" # iestata aparatūras pulksteņa laiku # uz norādīto virkni

Vēl viena iespēja mainīt laiku aparatūras pulkstenī ir piekļūt BIOS, kad sistēma sāk sāknēties. Tā kā OS laiks nav atkarīgs no aparatūras pulksteņa, visas BIOS izmaiņas tiks ņemtas vērā nākamajā palaišanas reizē.

Tagad, kad viss ir sagatavots un uzstādīts, turpināsim būvlaukumā.

ntpd dēmona pārvaldīšana

Kontrole ntpd dēmons neatšķiras no citu dēmonu kontroles. Sāciet vai restartējiet ntpd pakalpojumu:

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

Apstāties:

#/etc/init.d/ntp stop

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

Dēmonam ir šādi palaišanas parametri:

P — PID fails,
-g - ļauj pāriet uz lielo laika lēcienu
-c - konfigurācijas fails
-q - piespiedu manuāla sinhronizācija

ntpd servera iestatīšana

Pirmkārt, es iesaku mainīt dēmona palaišanas parametrus šādā konfigurācijas failā:

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

# cat /etc/sysconfig/ntpd # Parametri NTP dēmonam. # Sīkāku informāciju skatiet ntpd(8). .... # Norāda papildu parametrus ntpd. NTPD_ARGS="-g"

Šis parametrs ļaus sinhronizēt pulksteni, pat ja ir ļoti liela laika starpība.

Tātad, kā jau teicu, konfigurācijas informācija ntpd dēmons ir failā /etc/ntp.conf. Faila sintakse ir standarta, tāpat kā daudzās citās konfigurācijās: tukšas rindas un rindas, kas sākas ar rakstzīmi "#", tiek ignorētas. Šeit ir vienkāršs piemērs:

Ntp-serveris:~# cat /etc/ntp.conf serveris ntplocal.example.com dod priekšroku serverim timeserver.example.org serverim ntp2a.example.net drifta failam /var/db/ntp.drift

Parametrs serveris norāda, kuri serveri tiks izmantoti sinhronizēšanai, pa vienam katrā rindā. Ja serveris ir dots ar argumentu dod priekšroku, Kā ntplocal.example.com, tad šim serverim tiek dota priekšroka pār citiem. Atbilde no vēlamā servera tiks atmesta, ja tā būtiski atšķirsies no citu serveru atbildēm, pretējā gadījumā tā tiks izmantota, neņemot vērā citas atbildes. Arguments dod priekšroku Parasti izmanto NTP serveriem, kas ir zināmi kā ļoti precīzi, piemēram, tiem, kas izmanto īpašu precizitātes laika aprīkojumu.

Parametrs driftfails norāda failu, kas tiek izmantots, lai saglabātu sistēmas pulksteņa nobīdi. Cik es saprotu, šajā failā pastāvīgi tiek saglabāta kāda vērtība, kas tiek veidota, pamatojoties uz pagātnes laika korekciju analīzi, un, ja ārējie laika avoti kļūst nepieejami, tad laika korekcija notiek atbilstoši faila vērtībai drifts. To nedrīkst mainīt nekādi citi procesi. Un pirms šī faila norādīšanas konfigurācijā fails ir jāizveido.

Pēc noklusējuma NTP serveris būs pieejams visiem interneta saimniekiem. Parametrs ierobežot failā /etc/ntp.confļauj kontrolēt, kuras iekārtas var piekļūt jūsu serverim. Ja Tu gribi neļauj visām mašīnām piekļūt jūsu NTP serverim, pievienojiet failam šādu rindu /etc/ntp.conf:

ierobežot noklusējuma ignorēšanu

Ja Tu gribi Atļaut sinhronizējiet pulksteni tikai ar serveri mašīnas jūsu tīklā, Bet aizliegt viņiem konfigurēt serveri vai ir vienlīdzīgi dalībnieki laika sinhronizācijā, tad iepriekš minētā vietā pievienojiet rindu:

ierobežot 192.168.1.0 maska ​​255.255.255.0 nomodify notrap

kur 192.168.1.0 ir jūsu tīkla IP adrese un 255.255.255.0 ir tā tīkla maska. /etc/ntp.conf var ietvert vairākas ierobežojošas direktīvas.

Pareizai un precīzākai dēmona darbībai vēlams izvēlēties līmeņa serverus - no 2. slāņa (var, protams, stratum1, bet būs jātērē laiks šāda servera meklēšanai) un no izvēlētā slāņa. 2 tie, līdz kuriem ir minimālais “attālums”. Parasti šādus serverus var nodrošināt jūsu ISP. Vēlams atlasīto serveru skaits - vairāk par 2 līdz 3, jo vairāk, jo labāk, bet saprātīgās robežās. Ja esat pārāk slinks, lai izvēlētos labākie serveri, tad atvērto otrā līmeņa serveru sarakstu varat iegūt šeit: http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers.

Atsauces NTP serveru saraksta atlasīšana

Mēs ejam uz norādīto adresi (http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers) un atlasām sākotnējo serveru sarakstu. No šī saraksta mēs atlasām serverus, kas atbilst mūsu prasībām, analizējot komandas izvadi ntpdate. Izpildot komandu, tiek izmantota šāda sintakse:

ntpdate parametri servers_separated by_space

Lai nodrošinātu, ka mūsu vaicājums neveic izmaiņas sistēmā, mums ir jāizmanto parametrs -q, kas norāda vaicājuma izmantošanu, neveicot izmaiņas. Ir iespējams izmantot arī slēdzi -d, kas norāda, ka komanda tiks izpildīta atkļūdošanas režīmā, ar papildu informācijas izvadi, neveicot reālas izmaiņas (ar šo slēdzi tiek parādīts kaudze citu atkritumu :), ko mēs nepieciešams Šis brīdis nav vajadzīgs). Citus parametrus var atrast man 8 ntpdate. No norādītās saites es atlasīju visus atvērtās piekļuves serverus, kas atrodas Krievijā (RU) + pakalpojumu sniedzēja nodrošināto, un palaidu komandu, izrādījās apmēram šādi:

Ntp-serveris:~# ntpdate -q ntp2.ntp-servers.net ntp1.vniiftri.ru ntp2.vniiftri.ru ntp4.vniiftri.ru ntp0.ntp-servers.net ntp1.ntp-servers.net ntp3.vniiftri.ru ntp.corbina.net serveris 88.147.255.85, stratum 1, nobīde 0.006494, aizkave 0.09918 serveris 62.117.76.142, stratum 1, nobīde 0.002552, aizkave 0.06920 serveris .1 .1 stratum 4 .7, 06.011 . 7, aizkave 0.06918 serveris 62.117.76.140, 1. slānis, nobīde 0.004823, aizkave 0.07350 serveris 88.147.254.228, 1. slānis, nobīde -0.002355, aizkave 0.12030 serveris 88.147.254.229, stratum 1, nobīde 1.2.6.0709 serveris 0.0709 -0.0709. 138, 1. slānis, nobīde 0,005331, aizkave 0,07401 serveris 195.14 .40.141, stratum 2, nobīde 0.002846, aizkave 0.07188 13. janvāris 19:14:09 ntpdate: pielāgot laika serveri 62.117.76.141 nobīde 0.003147 sek

Piemērā mūsu serveri veiksmīgi izsniedza stratum1 līmeni, kas ir laba ziņa (izņemot pakalpojumu sniedzēja serveri), nobīde ir laika starpība ar šo serveri sekundēs, aizkave ir sinhronizācijas aizkave sekundēs. Parasti, b PAR Lielāka precizitāte tiek iegūta, ja tiek izmantoti serveri, kuriem ir zems latentums pakešu pārsūtīšanai tīklā. Lai to identificētu, varat izmantot . Attiecīgi vispirms jāizvēlas tie, kuriem ir īsāks reakcijas laiks, un no tiem tie, kuriem jāsasniedz mazāk apiņu. Lai netērētu laiku, izmantošu visus norādītos serverus un ievadīšu konfigurācijas failā. Kopumā, zinot visu iepriekš minēto, es aprakstīšu savu iegūto failu /etc/ntp.conf:

Ntp-serveris:~# cat /etc/ntp.conf # Lokālā tīkla serveri (komentēti, netiek lietoti - tīklā ir viens serveris) #serveris 192.168.0.2 #serveris 192.168.0.5 # Interneta serveri serveris ntp2.ntp- serveris.net serveris ntp1.vniiftri.ru serveris ntp2.vniiftri.ru serveris ntp4.vniiftri.ru serveris ntp0.ntp-servers.net serveris ntp1.ntp-servers.net serveris ntp3.vniiftri.ru serveris ntp.corbina.net # Servera faili driftfile /var/lib/ntp/ntp.drift logfile /var/log/ntpstats # ierobežojot piekļuvi serverim: # pēc noklusējuma mēs ignorējam visu ierobežot noklusējuma ignore # localhost bez parametriem - tas nozīmē, ka viss ir atļauts. Parametri attiecas tikai uz aizliegumiem. ierobežot 127.0.0.1 # Tālāk ir aprakstīti serveri, ar kuriem veicam sinhronizāciju lokālajā tīklā. # Mēs atļaujam viņiem visu, izņemot slazdus un pieprasījumus mums ierobežot 192.168.0.2 noquery notrap ierobežot 192.168.0.5 noquery notrap # lokālajam mēs arī atļaujam visu, izņemot slazdus un modifikācijas ierobežojumus 192.168.0.1 maska ​​255.255.255.0 neļauj ārēju avotu nomodifikēt piekļuve: ierobežot ntp2.ntp-servers.net ierobežot ntp1.vniiftri.ru ierobežot ntp2.vniiftri.ru ierobežot ntp4.vniiftri.ru ierobežot ntp0.ntp-servers.net ierobežot ntp1.ntp-servers.net ierobežot ntp3.vniiftri.ru Ierobežojiet ntp.corbina.net #, un tas ir uzlauzts, kas servera (slāņa) uzticamības līmeni nosaka sev vienādu ar 3 # īsumā, jo augstāks līmenis, jo mazāks skaitlis. 0 ir atompulkstenis, #1 ir sinhronizēts ar to, 2 ir ar pirmo un tā tālāk. serveris 127.127.1.1 fudge 127.127.1.1 stratum 3

Lai iegūtu padziļinātu izpratni un servera konfigurāciju, es aprakstīšu dažus ntpd konfigurācijas parametrus, kurus es neminēju:

  • atļaut liegt auth/monitor/pll/pps/stats - Ieslēdziet, izslēdziet darbības režīms:
    • aut- sazināties ar neminētiem kaimiņiem tikai autentifikācijas režīmā;
    • uzraudzīt- ļauj uzraudzīt pieprasījumus;
    • pll- ļauj iestatīt vietējo pulksteņa frekvenci, izmantojot NTP;
    • statistika- atļaut statistikas apkopošanu;
  • statistikaloopstats- ar katru lokālā pulksteņa modifikāciju ieraksta rindiņu failā loopstats;
  • statistikapeerstats- katra saziņa ar kaimiņu tiek ierakstīta failā saglabātā žurnālā peerstats;
  • statistikapulksteņa statistika- katrs ziņojums no vietējā pulksteņa draivera tiek ierakstīts failā saglabātā žurnālā pulksteņa statistika;
  • statsdir(kataloga_nosaukums_ar_statistiku)- norāda direktorijas nosaukumu, kurā atradīsies faili ar servera statistiku;
  • filegen - nosaka algoritmu failu nosaukumu ģenerēšanai, kas sastāv no:
    • priedēklis- nemainīga faila nosaukuma daļa, kas iestatīta kompilācijas laikā vai ar īpašām konfigurācijas komandām;
    • faila nosaukums- pievienots prefiksam bez slīpsvītras, divi punkti ir aizliegti, var mainīt ar faila taustiņu;
    • piedēklis- ģenerēts atkarībā no tipa nosaukuma;
  • ierobežotciparu adrese- iestata piekļuves ierobežojumus: paketes tiek sakārtotas un maskētas, tiek ņemta avota adrese un secīgi salīdzināta, tiek ņemts karogs no pēdējā veiksmīgā salīdzinājuma piekļuve:
    • nav karogu- dot piekļuvi;
    • ignorēt- ignorēt visas paketes;
    • noquery- ignorēt NTP 6 un 7 paketes (pieprasījums un stāvokļa modifikācija);
    • nomodificēt- ignorēt NTP 6 un 7 paketes (stāvokļa modifikācija);
    • ierobežots- apkalpot tikai ierobežotu skaitu klientu no noteiktā tīkla;
    • - apkalpot saimnieku, bet ne sinhronizēt ar to;
  • klienta limitsierobežojums- par karogu ierobežots nosaka maksimālo apkalpoto klientu skaitu (pēc noklusējuma 3);

Tātad, mēs saņēmām ntpd-serveri, kas sinhronizējas ar ārpasauli, ļauj saņemt laiku klientiem no lokālā tīkla 192.168.0.1 ar masku 255.255.255.0, kā arī var tikt sinhronizēts ar vietējo serveri (ja atceļat dažas rindiņas). Viss, kas mums jādara, ir iestatīt klientus un iemācīties uzraudzīt mūsu serveri.

Ntpd servera uzraudzība un sinhronizācija

Kad viss ir iestatīts. NTP sinhronizēs laiku. Šo procesu var novērot, izmantojot komandu NTP Query (ntpq):

Ntp-serveris: ~# ntpq -p attālā pārveide st t, kad aptaujas sasniedzamības aizkaves nobīde trīce =============================== =================================================== ============ -n3. laiks1.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.time1.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

Šī komanda ar slēdzi -p izdrukā standarta izvadē laika avotu sarakstu ar to raksturlielumiem (pārējie komandas parametri ir man ntpq). Katras kolonnas nozīme ir šāda:

Attālā NTP servera nosaukums. Ja norādāt slēdzi -n, nosaukumu vietā iegūsit servera IP adreses.

Norāda, no kurienes katrs serveris pašlaik iegūst savu laiku. Tas varētu būt resursdatora nosaukums vai kaut kas līdzīgs .GPS., kas norāda globālās pozicionēšanas sistēmas avotu.

Stratum (līmenis) ir skaitlis no 1 līdz 16, kas norāda servera precizitāti. Viens nozīmē maksimālo precizitāti, 16 nozīmē, ka serveris nav pieejams. Jūsu līmenis būs vienāds ar vismazāk precīzā attālā servera līmeni plus 1.

Intervāls starp aptaujām (sekundēs). Vērtība mainīsies starp minimālo un maksimālo aptaujas ātrumu. Sākumā intervāls būs mazs, lai sinhronizācija notiktu ātri. Kad pulksteņi ir sinhronizēti, intervāls sāk palielināties, lai samazinātu trafiku un slodzi uz populārajiem laika serveriem.

8 bitu masīva oktāls attēlojums, kas atspoguļo pēdējo astoņu mēģinājumu izveidot savienojumu ar serveri rezultātus. Bits tiek iestatīts, ja attālais serveris atbildēja.

Laiks (sekundēs), kas nepieciešams, lai saņemtu atbildi uz vaicājumu “cik pulkstenis ir?”

Vissvarīgākā joma. Atšķirība starp vietējo laiku un attālie serveri. Sinhronizācijai turpinoties, šai vērtībai jāsamazinās (tuvāk nullei), norādot, ka pulkstenis vietējā mašīna kļūst precīzāki.

Izkliede (trīce) ir statistisko noviržu mērs no nobīdes vērtības (novirzes lauks) vairākos veiksmīgos pieprasījuma un atbildes pāros. Vēlama ir zemāka dispersijas vērtība, jo tā nodrošina precīzāku laika sinhronizāciju.

Rakstzīmju nozīme pirms serveru nosaukumiem

x - viltus avots saskaņā ar krustošanās algoritmu;
. - izslēgts no kandidātu saraksta tālās distances dēļ;
- - izņemts no kandidātu saraksta ar klasterizācijas algoritmu;
+ - iekļauts galīgajā kandidātu sarakstā;
# - atlasīts sinhronizācijai, bet ir 6 labākie kandidāti;
* - atlasīts sinhronizācijai;
o - izvēlēts sinhronizācijai, bet tiek izmantots PPS;
telpa - pārāk liels līmenis, cilpa vai acīmredzama kļūda;

ntpd pakalpojums“gudrs” un pats par sevi atsijā laika avotus, kas ir pārāk ārpus saprāta robežām. Kādu laiku pēc palaišanas ntpd atlasīs uzticamākos datu avotus un sinhronizēs ar tiem. Pakalpojums regulāri pārskata mūsu piedāvāto atsauces NTP serveru sarakstu.

Jūs varat pārbaudīt sinhronizācijas iespēju lokāli serverī ar komandu:

Ntp-serveris:~# ntpdate -q lokālā resursdatora serveris 127.0.0.1, 2. slānis, nobīde -0,000053, aizkave 0,02573 serveris::1, 2. slānis, nobīde -0,000048, aizkave 0.02571 14. janvāris 14: 4pdate serveri ::1 nobīde -0,000048 sek

No komandas izvades ir skaidrs, ka mūsu serveris jau ir kļuvis par slāni 2. Lai sasniegtu šis līmenis, tas aizņem kādu laiku. Varbūt pirmajās 10-15 minūtēs servera līmenis būs augstāks.

Par pareizu ntp servera darbību var spriest arī pēc ntpd dēmona žurnāliem:

Ntp-server:~# cat /var/log/ntpstats/ntp 13. janvāris 20:13:16 ntpd: Klausīšanās interfeisā #5 eth0, fe80::a00:27ff:fec1:8059#123 Iespējots 13. janvāris 20:13: 16 ntpd: klausīšanās interfeisā #6 eth0, 192.168.0.8#123 Iespējots 14. janvāris 14:31:00 ntpd: sinhronizēts ar 62.117.76.142, stratum 1 14. janvāris 14:31:10 laiks 14. janvāris 14:31:10 atiestatīts ntp1 14:10 janvāris 14 ntpd. :31:10 ntpd: kodola laika sinhronizācijas statusa maiņa 0001 14. janvāris 14:34:31 ntpd: sinhronizēts ar 88.147.255.85, 1. slānis 14. janvāris 14:36:04 ntpd: sinhronizēts ar 62.114. 15. janvāris 17. 17. janvāris. 04:36 ntpd: sinhronizēts ar 62.117.76.142, 1. slānis 14. janvāris 15:10:58 ntpd: sinhronizēts ar 62.117.76.140, 1. slānis 14. janvāris 15:17:54 1. janvāris ntpd: 1. janvāris : 34:4 ntpd : sinhronizēts ar 62.117.76.140, stratum 1 14. janvāris 15:32:14 ntpd: laika atiestatīšana +13,139105 s

Netfilter (iptables) iestatīšana NTP serverim

Pēc servera konfigurēšanas būtu ieteicams to aizsargāt. Mēs zinām, ka serveris darbojas portā 123/udp, un pieprasījumi tiek sūtīti arī no porta 123/udp. Pēc raksta izlasīšanas un praktisko iepazīšanas varat izveidot tīkla trafika filtrēšanas noteikumus:

Ntp ~ # iptables-save # tipiski iptables noteikumi DNS *filter:INPUT DROP :FORWARD DROP :OUTPUT DROP -A INPUT -i lo -j ACCEPT -A INPUT -m conntrack --ctstate SAISTĪTS, IZVEIDOTS -j ACCEPT -A INPUT DROP -m conntrack --ctstate INVALID -j DROP # ļauj piekļūt vietējam tīklam NTP serverim: -A INPUT -s 192.168.1.1/24 -d 192.168.1.1/32 -p udp -m udp --dport 123 -m conntrack - -ctstate JAUNS -j ACCEPT -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 tcp --sport 32768:61000 -j ACCEPT -A OUTPUT -m conntrack --ctstate SAISTĪTS, IZVEIDOTS -j ACCEPT # ļauj piekļūt NTP serverim, lai veiktu izejošos pieprasījumus -A OUTPUT -p udp -m udp -sport 123 -- dport 123 -m conntrack --ctstate JAUNS -j ACCEPT COMMIT

Tas ir tipisks piemērs! Lai iestatītu iptables noteikumus atbilstoši saviem uzdevumiem un tīkla konfigurācijai, jums ir jāsaprot, kā netfilter darbojas operētājsistēmā Linux, izlasot iepriekš minētos rakstus.

Klientu mašīnu iestatīšana

Lai sinhronizētu laiku UNIX iekārtās lokālajā tīklā, ieteicams izmantot utilītu ntpdate, palaižot to vairākas reizes dienā, piemēram, katru stundu. Lai to izdarītu, jums jāpievieno šāda rinda:

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

Slēdzis -s vada komandas izvadi. Ja klienta mašīnām ir pāris papildu megabaiti RAM, varat palaist ntpd dēmonu, tāpat kā serverī ar šādu konfigurāciju:

Serveris ierobežot noklusējuma ignorēt ierobežojumu noquery notrap limit 127.0.0.1 nomodify notrap

Es domāju, ka šajā konfigurācijā viss ir skaidrs: laika avots (serveris) ir vietējais ntpd serveris, liegt piekļuvi visiem, atļaut tikai vietējo ntpd serveri.

Tāpat klientiem ir pareizi jānorāda, kādā formātā jāuzglabā laiks un jāizvēlas pareizā laika josla.

Lai konfigurētu Windows NTP klientu, konsolē ir jāpalaiž šādas komandas:

C:\>neto laiks /setsntp: Komanda veiksmīgi izpildīta. C:\>net stop w32time Windows laika pakalpojums tiek apturēts. Windows laika pakalpojums tika veiksmīgi apturēts. C:\>net start w32time Tiek startēts pakalpojums Windows Time. Windows laika pakalpojums tika veiksmīgi startēts. C:\>neto laiks /querysntp Pašreizējā SNTP vērtība ir: Komanda veiksmīgi izpildīta.

Secinājums

Nu lūk! Raksta apjoms izrādījās milzīgs... Es to pat negaidīju. Ļaujiet man apkopot iepriekš minēto. Šajā rakstā es ceru, ka mums kļuva skaidrs, kas ir un kā darbojas NTP serveris. Mēs iemācījāmies konfigurēt serveri un klientus UNIX un Windows iekārtās. Dažos vārdos laika sinhronizācijas struktūra lokālajā tīklā ir šāda: lokālajā tīklā ir 1,2 vai vairāk laika serveri, tie sinhronizē savu laiku ar ārējie avoti V globālais tīkls. Servera un klienta iestatījumi ir balstīti uz failiem /etc/ntp.conf (galvenais ntpd dēmona konfigurācijas fails), /etc/localtime (pašreizējais laika joslas fails), kā arī /etc/sysconfig/ntp (RH). ) un /etc/default /ntp (deb) - dēmonu palaišanas parametru faili. Vietējam ntp serverim konfigurācijas fails norāda ārējos serverus laika iegūšanai un ļauj piekļūt šiem serveriem, izmantojot ierobežojuma parametru, kā arī lokālā tīkla datoriem, klientiem tiek norādīts laika avots - vietējie serveri lokālajā tīklā, kā arī aizliedz piekļuvi visiem, izņemot laika avotu lokālajā tīklā. Visi. Paldies visiem par uzmanību! Priecāšos par komentāriem!

  • (rakstu arhīvs) apraksta, kā pieslēgt GPS serverim, lai sakārtotu savu Stratum1 līmeņa precīzā laika serveri.
  • apraksta, kā konfigurēt autorizāciju ntp serverī.

Vispirms izlemsim, kāpēc mums ir jāsinhronizē laiks tādās iekārtās kā slēdži, maršrutētāji, ugunsmūri utt.

Tas galvenokārt tiek darīts, lai, izmantojot žurnālus, izsekotu, kad noticis šis vai cits notikums. Un jūs varat iedomāties, kāda nozīme būs žurnāliem, ja laiks nebūs sinhronizēts... tieši tā - nekāda.

Protokols NTP darbojas, pamatojoties uz protokolu UDP, cauri 123 ports.

Šim protokolam ir noteikta hierarhija sistēmu sinhronizēšanai, citiem vārdiem sakot, līmeņi.

1. līmenis tiek piešķirts sistēmai, kas ir sinhronizēta ar augstas precizitātes pulksteni, piemēram, GPS.

Sistēmai, kas tiks sinhronizēta no 1. līmeņa, būs 2. līmenis un tā tālāk.

Tādējādi mēs varam noteikt, cik precīzs ir stacijas laiks, ar kuru mēs esam sinhronizēti.

Mūsu situācijā mums tīklā ir mašīna ar precīzu laiku, man tā ir konfigurēta, pamatojoties uz FreeBSD, no šīs mašīnas galvenā tīkla ierīce aizņems laiku (sinhronizēsies) un tādējādi kļūs par galveno citiem. tīkla ierīces(ideoloģijā cisco būs ntp meistars).

Vēlos atzīmēt faktu, ka laiks caur NTP tiek pārraidīts tikai formātā UTC (Grinviča), katra laika josla tiek konfigurēta tieši aparatūrā.

Apskatīsim vienkāršas NTP iestatīšanas piemēru.

Vispirms sinhronizēsim laiku mūsu galvenajā maršrutētājā (kas tiks izplatīts citām tīkla ierīcēm). Lai to izdarītu, pārejiet uz globālās konfigurācijas režīmu:

ntp serveris 10.0.100.254

kur 10.0.100.254 mūsu gadījumā ir FreeBSD mašīna, kurai ir precīzs laiks.

Tas ir pietiekami minimālai iestatīšanai.

Tagad pārbaudīsim, vai mums izdevās izveidot savienojumu ar laika serveri un iegūt no tā laiku, lai to izdarītu, mēs izmantojam komandu:

jums vajadzētu redzēt kaut ko līdzīgu šim:

Zvaigznīte pretī mūsu ntp servera IP norāda, ka viss ir kārtībā, savienojums ir vismaz izveidots.

Tagad paskatīsimies, vai laiks ir sinhronizēts?

Ja viss ir sinhronizēts, mums vajadzētu redzēt sekojošo:

Laiks ir saņemts, tagad tur jāiestata vajadzīgā laika josla. Globālajā konfigurācijas režīmā darām arī sekojošo:

pulksteņa laika josla MSK/MSD 3
Tagad pārbaudīsim laiku:

Viss ir lieliski.

Pāriesim pie maršrutētāja iestatīšanas galvenajā režīmā.

Šim iestatījumam mums ir jāpadara šis maršrutētājs par galveno un jānorāda līmenis (Cisco to sauc par slāņa numuru), tas pats, par kuru es runāju sākumā, es norādīšu piekto līmeni.

Tagad mēģināsim konfigurēt ntp citā iestatītāja ierīcē, lai tas sinhronizētos ar mūsu galveno maršrutētāju; tas tiek darīts tāpat kā iepriekš iestatījām sinhronizāciju ar FreeBSD serveri.

ntp serveris 10.0.100.1 dod priekšroku

kur 10.0.100.1 ir mūsu galvenais maršrutētājs.

dod priekšrokušis ir atslēgvārds, kas norāda, ka šis ntp serveris ir prioritārs (tas ir, varat norādīt, ka varat sinhronizēt nevis no viena servera, bet no vairākiem, tas tiek darīts, lai gadījumā, ja viens nav pieejams vai laiks pārāk atšķiras no citi, kas norāda, kuras - problēmas, ierīce var pārslēgties uz citu laika serveri, un dod priekšroku padara šo serveri labāku par citiem.)

Mēs arī norādām vajadzīgo laika joslu.

pulksteņa laika josla MSK/MSD 3

Mēs pārbaudām:

Viss ir lieliski, viss darbojas.

Tagad apskatīsim drošības jautājumu.

Vispirms apskatīsim jautājumu par ACL izmantošanas ierobežošanu, kurš var sinhronizēt un kurš nevar.

Viss ir diezgan standarta un caurspīdīgs.

Laika serverī mēs izveidojam atbilstošo ACL:

piekļuves saraksts 20 piezīme PIEKĻUVE NTP sinhronizācijaipiekļuves saraksts 20 atļauja 10.0.100.3

Tagad saistīsim šo piekļuves sarakstu ar ntp.

ntp piekļuves grupa apkalpo tikai 20

Ja viss ir pareizi konfigurēts, tiks izveidota saziņa ar ntp serveri un sinhronizācija būs veiksmīga.

Varat arī papildus reģistrēt klientu piekļuves sarakstu. Kurā laika serveriem var piekļūt. Tas tiek darīts līdzīgā veidā:

piekļuves saraksts 20 piezīme ACCESS SYNC to NTP Servpiekļuves saraksts 20 atļauja 10.0.100.1

Saistiet piekļuves sarakstu ar NTP

ntp piekļuves grupas vienādranga 20

Tagad apskatīsim uz autentifikāciju balstītu drošību.

Viss arī diezgan caurspīdīgs.

Pietiek ar ntp konfigurācijas pievienošanu:

ntp autentifikācijas atslēga 1 md5 15060E1F10243F34 7ntp autentifikācijantp uzticamā atslēga 1
Ar pirmo komandu iestatām autentifikācijas atslēgu, ar otro iespējojam autentifikāciju, ar trešo norādām, ka autentifikācija jāveic, izmantojot pirmo atslēgu. Mēs to konfigurējam katrā pusē (serveris - klients). Tas faktiski arī viss. Rezultāts ir īss ievadkurss par NTP iestatīšanu Cisco ierīcēs. Atkļūdošanai mēs izmantojam:
ASW-M#debug ntp?pielāgot NTP pulksteņa iestatījumusautentifikācija NTP autentifikācijanotikumi NTP notikumicilpas filtrs NTP cilpas filtrspaketes NTP paketesparams NTP pulksteņa parametrirefclock NTP atsauces pulkstenisatlasiet NTP pulksteņa izvēlisinhronizēt NTP pulksteņa sinhronizācijuderīgums NTP peer pulksteņa derīgumsASW-M#debug ntp
Ieslēdzam visu, kas mums ir interesants, piemēram, notikumus, sinhronizāciju, autentifikāciju un skatāmies, kas notiek. Ja ielogojamies ierīcē caur ssh/telnet, neaizmirstiet ter mon :)


Tops