Cum se configurează NTP pentru utilizare în proiectul Pool NTP pe CentOS 7

Introducere

păstrarea exactă a timpului este esențială pentru aproape orice serviciu sau software. E-mailurile, jurnalele, sistemele de evenimente și planificatoarele, mecanismele de autentificare a utilizatorilor și serviciile care rulează pe platforme distribuite au nevoie de marcaje temporale precise pentru a înregistra evenimentele în ordine cronologică. Aceste servicii utilizează Network Time Protocol sau NTP pentru a sincroniza ceasul sistemului cu o sursă externă de încredere. Această sursă poate fi un ceas atomic, un receptor GPS sau un alt server de timp care utilizează deja NTP.

aici intră în joc Proiectul NTP Pool Project. Este un grup imens la nivel mondial de servere de timp, care oferă acces ușor la cunoscut „timp bun” pentru zeci de milioane de clienți din întreaga lume. Este serverul de timp implicit Pentru Ubuntu și majoritatea celorlalte distribuții majore Linux, precum și multe aparate în rețea și aplicații software.

în acest ghid, veți configura NTP pe serverul dvs. și îl veți configura pentru a face parte din proiectul NTP Pool, astfel încât să ofere timp exact altor utilizatori ai proiectului NTP Pool. Furnizarea ciclurilor CPU de rezervă și a lățimii de bandă neutilizate este o modalitate perfectă de a da ceva înapoi comunității.

lățimea de bandă necesară este relativ scăzută și poate fi ajustată în funcție de suma pe care o puteți furniza și de locul în care se află serverul dvs. Fiecare client va trimite doar câteva pachete UDP la fiecare 20 de minute, astfel încât majoritatea serverelor primesc doar aproximativ o duzină de pachete NTP pe secundă, cu vârfuri de câteva ori pe zi de până la o sută de pachete pe secundă. Acest lucru se traduce prin utilizarea lățimii de bandă de 10-15kb/sec cu vârfuri de 50-120kb/sec.

există trei cerințe de bază pe care trebuie să le îndepliniți înainte de a vă alătura proiectului NTP Pool:

  1. serverul dvs. trebuie să aibă o adresă IP statică.
  2. serverul dvs. trebuie să aibă o conexiune permanentă și stabilă la internet.
  3. adresa dvs. IP nu se schimbă cel mai mult sau se schimbă doar rar (o dată pe an sau mai puțin).

pentru majoritatea serverelor bazate pe cloud, primele două cerințe sunt de obicei îndeplinite automat. A treia cerință subliniază faptul că aderarea la proiectul NTP Pool constituie un angajament pe termen lung. Desigur, dacă circumstanțele dvs. se schimbă, este bine să scoateți un server din piscină, dar va dura mult timp (mai ales săptămâni, dar uneori luni sau chiar ani) înainte ca traficul să dispară complet.

cerințe preliminare

pentru a finaliza acest tutorial, veți avea nevoie de:

  • un server Centos 7 cu rețea IPv6 configurat. Dacă trebuie să configurați rețeaua IPv6 pe o picătură exising, puteți urma acest tutorial.
  • un utilizator sudo non-root și un firewall, pe care îl puteți configura urmând configurarea inițială a serverului cu tutorialul CentOS 7 și secțiunea „Configurarea unui Firewall de bază” în pașii suplimentari recomandați pentru noul tutorial CentOS 7 Servers.

Step 1 — Instalarea NTP

pachetul NTP nu este instalat în mod implicit, deci veți utiliza managerul de pachete pentru a-l instala. În primul rând, Actualizați pachetele:

  • sudo yum update

apoi instalați NTP:

  • sudo yum install ntp

după finalizarea instalării, porniți serviciul și configurați-l astfel încât să pornească automat de fiecare dată când serverul pornește:

  • sudo systemctl start ntpd
  • sudo systemctl enable ntpd

dacă ați configurat firewall-ul așa cum este specificat în cerințele preliminare, trebuie să permiteți traficul UDP pentru serviciul NTP pentru a comunica cu piscina NTP:

  • sudo firewall-cmd --permanent --add-service=ntp
  • sudo firewall-cmd --reload

pentru mai multe informații despre FirewallD, consultați Cum se configurează un Firewall folosind FirewallD pe CentOS 7.

NTP este acum instalat, dar este configurat să utilizeze serverele de timp implicite NTP pool. Permite alege unele servere de timp specifice în loc.

Step 2 — Alegerea unui server Upstream adecvat

proiectul Pool NTP solicită operatorilor care doresc să se alăture pool-ului să aleagă servere bune de rețea locală, mai degrabă decât să utilizeze serverele implicite pool.ntp.org. Acest lucru asigură că proiectul NTP Pool rămâne fiabil, rapid și sănătos. Atunci când alegeți sursa de timp, veți dori o conexiune de rețea stabilă, fără pierderi de pachete și cât mai puține hamei între servere.

protocolul NTP cu mai multe niveluri și ierarhic separă părțile implicate în servere primare, servere secundare și clienți. Serverele primare se numesc Stratum 1 și sunt conectate direct la sursa de timp, care se numește Stratum 0. Această sursă poate fi un ceas atomic, un receptor GPS sau un sistem de navigație radio. Serverele secundare din lanț se numesc Stratum 2, Stratum 3 și așa mai departe.

fiecare server este, de asemenea, un client. Un client Stratum 2 primește timp de la un server stratum 1 din amonte și oferă timp serverelor stratum 3 din aval sau altor clienți. Pentru ca membrii proiectului NTP Pool să funcționeze corect, demonul NTP are nevoie de cel puțin trei servere configurate. Proiectul recomandă un minim de patru, și nu mai mult de șapte surse.

proiectul NTP Pool oferă o listă de servere de timp Stratum 1 și Startum 2 publice. Listele desemnează serverele de timp NTP disponibile pentru accesul publicului în conformitate cu restricțiile declarate. Veți găsi trei tipuri:

  • OpenAccess: acest server de timp este deschis pentru orice client care respectă recomandările de Utilizare NTP Pool.
  • RestrictedAccess: acest server de timp are unele restricții de acces în plus față de recomandările de Utilizare NTP Pool.
  • Închisacces: Acest server de timp este închis sau necesită un aranjament prealabil.

Avertisment: Nu utilizați servere care nu sunt listate ca OpenAccess decât dacă ați primit aprobarea pentru a face acest lucru.

vizitați lista de servere de timp Stratum 1. Veți vedea o listă ca următoarea:

Stratum 1 servere

Sortați lista după coloana cod ISO și găsiți unul sau două servere apropiate geografic de centrul de date al serverului. Când coloana politicii de acces a serverului se deschide, îl puteți utiliza fără probleme. Dacă scrie” RestrictedAccess”, faceți clic pentru a deschide intrarea și citiți instrucțiunile notate în câmpul AccessDetails. Adesea, veți găsi că NotificationMessage este setat la da, ceea ce înseamnă că trebuie să creați un e-mail informal direcționat către adresa furnizată în ServerContact, informând operatorul serverului despre dorința dvs. de a utiliza acest server de timp ca sursă de timp pentru membrul proiectului NTP Pool.

după ce ați identificat serverele pe care doriți să le utilizați, Faceți clic pe linkul pentru fiecare server din coloana ISO și copiați numele gazdei sau adresa IP. Veți utiliza aceste adrese la Pasul 3.

apoi, selectați trei sau patru servere din lista Stratum 2, urmând același proces.

după ce ați selectat serverele de timp, este timpul să configurați clientul NTP pentru a le utiliza.

Step 3 — Configurarea NTP pentru a vă alătura Pool-ului

pentru a utiliza serverul cu pool-ul NTP și pentru a configura noile servere de timp, va trebui să faceți unele modificări configurației daemonului NTP. Pentru a face acest lucru, editați fișierul /etc/ntp.conf :

  • sudo vi /etc/ntp.conf

mai întâi, asigurați-vă că este configurat un fișier driftfile. Un driftfile stochează diferența de frecvență între ceasul sistemului care rulează la frecvența sa nominală și frecvența necesară pentru a rămâne în sincronizare cu timpul corect. Ajută la obținerea unui timp stabil și precis. Ar trebui să găsiți acest lucru în partea de sus a fișierului de configurare pe o instalare implicită:

/etc/ntp.conf

# For more information about this file, see the man pages# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).driftfile /var/lib/ntp/drift...

apoi, eliminați intrările sursă de timp implicite din configurație. Căutați toate liniile care sunt de model server 0.centos.pool.ntp.org iburst. Dacă utilizați o configurație implicită, eliminați liniile evidențiate așa cum se arată în exemplul următor:

/etc/ntp.conf
...# Use public servers from the pool.ntp.org project.# Please consider joining the pool (http://www.pool.ntp.org/join.html).server 0.centos.pool.ntp.org iburstserver 1.centos.pool.ntp.org iburstserver 2.centos.pool.ntp.org iburstserver 3.centos.pool.ntp.org iburst

înlocuiți liniile pe care le-ați eliminat cu serverele selectate manual pe care le-ați selectat în pasul anterior.

/etc/ntp.conf
...server ntp_server_hostname_1 iburstserver ntp_server_hostname_2 iburstserver ntp_server_hostname_3 iburstserver ntp_server_hostname_4 iburstserver ntp_server_hostname_5 iburst...

folosim opțiunea iburst pentru fiecare server, conform recomandărilor NTP Pool. În acest fel, dacă serverul este inaccesibil, acesta va trimite o explozie de opt pachete în loc de un pachet obișnuit. Utilizarea opțiunii burst în proiectul Pool NTP este considerată abuz, deoarece va trimite acele opt pachete la fiecare interval de sondaj, în timp ce iburst trimite cele opt pachete doar prima dată.

apoi, asigurați-vă că configurația implicită nu permite interogări de gestionare. Dacă nu, serverul dvs. ar putea fi utilizat în atacuri de reflecție NTP sau ar putea fi vulnerabil la interogări ntpq și ntpdc care încearcă să modifice starea serverului. Verificați dacă opțiunea noquery este adăugată la liniile implicite restrict. De asemenea, asigurați-vă că adăugați opțiunile kod și limited, deoarece restricționează solicitarea prea nerăbdătoare a clienților și impune limitarea ratei.

/etc/ntp.conf
...# Permit time synchronization with our time source, but do not# permit the source to query or modify the service on this system.restrict default nomodify notrap nopeer noquery kod limited# Permit all access over the loopback interface. This could# be tightened as well, but to do so would effect some of# the administrative functions.restrict 127.0.0.1restrict ::1

puteți găsi mai multe informații despre celelalte opțiuni în documentația oficială.

fișierul dvs. de configurare a demonului NTP ar trebui să arate acum după cum urmează, deși fișierul dvs. poate avea comentarii suplimentare, pe care le puteți ignora în siguranță:

/etc/ntp.conf
driftfile /var/lib/ntp/ntp.driftrestrict default nomodify notrap nopeer noquery kod limitedrestrict 127.0.0.1restrict ::1server ntp_server_hostname_1 iburstserver ntp_server_hostname_2 iburstserver ntp_server_hostname_3 iburstserver ntp_server_hostname_4 iburstserver ntp_server_hostname_5 iburst

salvați fișierul și ieșiți din editor.

acum reporniți serviciul NTP și lăsați serverul de timp să-și sincronizeze ceasul cu serverele din amonte.

  • sudo systemctl restart ntpd

după câteva minute, verificați starea serverului dvs. de timp cu comanda ntpq :

  • ntpq -p

rezultatul ar trebui să arate similar cu acesta:

Output
remote refid st t when poll reach delay offset jitter============================================================================== mizbeaver.udel. .INIT. 16 u - 64 0 0.000 0.000 0.000 montpelier.ilan .GPS. 1 u 25 64 7 55.190 2.121 130.492+nist1-lnk.binar .ACTS. 1 u 28 64 7 52.728 23.860 3.247*ntp.okstate.edu .GPS. 1 u 31 64 7 19.708 -8.344 6.853+ntp.colby.edu .GPS. 1 u 34 64 7 51.518 -5.914 6.669

coloana de la distanță vă indică numele de gazdă al serverelor pe care le utilizează demonul NTP, iar coloana refid vă indică sursa pe care o utilizează serverele. Deci, pentru serverele Stratum 1, câmpul refid ar trebui să afișeze GPS, PPS, ACTS sau PTB, iar serverele Stratum 2 și superior vor afișa adresa IP a serverului din amonte. Coloana st arată stratul, iar întârzierea, compensarea și bruiajul vă spun despre calitatea sursei de timp. Valorile mai mici sunt mai bune pentru aceste trei câmpuri.

serverul dvs. de timp este acum capabil să servească timp pentru public. Puteți verifica acest lucru apelând ntpdate de la o altă gazdă:

  • ntpdate -q your_server_ip

ieșirea ar trebui să arate similar cu acest lucru și vă spune că ajustat serverul de timp și offset:

Output
server your_server_ip, stratum 2, offset 0.001172, delay 0.16428 2 Mar 23:06:44 ntpdate: adjust time server your_server_ip offset 0.001172 sec

acum sunteți gata să vă înregistrați serverul NTP cu proiectul Pool NTP, astfel încât alții să îl poată folosi.

Pasul 4-adăugarea serverului la piscina NTP

pentru a adăuga serverul dvs., astfel încât alții să îl poată utiliza, vizitați manage.ntppool.org și înscrieți-vă pentru un cont. Veți primi un e-mail de la NTP Pool [email protected] solicitarea de a vă verifica contul. Confirmați contul urmând instrucțiunile din e-mail, apoi conectați-vă la manage.ntppool.org.

odată conectat, veți vedea interfața simplă pentru adăugarea serverelor:

adăugați un server

introduceți adresa IP a serverului dvs. și faceți clic pe Trimiteți.

ecranul următor vă solicită să verificați dacă a identificat Regiunea serverului dvs. Dacă afișează serverul dvs. într-o altă regiune decât vă așteptați, utilizați caseta de comentarii pentru a le informa.

ecranul de verificare

dacă sunteți mulțumit, confirmați intrarea făcând clic pe Da, Acesta este serverul meu, adăugați-l!

serverul dvs. face acum parte din proiectul Pool NTP. Vizitați http://www.pool.ntp.org/scores/your_server_ip pentru a vedea informațiile pe care sistemul de monitorizare al Grupului NTP le-a colectat despre serverul dvs. Se verifică serverul de câteva ori pe oră și afișează date offset, alog cu scorul de sistemul dumneavoastră. Atâta timp cât serverul dvs. păstrează timp bun și este accesibil, scorul va crește până când va ajunge la 20 de puncte. Numai serverele cu un scor mai mare de 10 sunt utilizate în piscină.

Depanarea problemelor de conectivitate

Dacă întâmpinați probleme la sincronizarea serverului, este posibil să aveți un firewall de pachete în loc să vă lăsați pachetele de ieșire pe portul 123. Aruncați o privire la modul de configurare a unui Firewall folosind FirewallD pe CentOS 7 pentru a afla cum să verificați starea firewall-ului.

dacă stația de monitorizare a proiectului NTP Pool nu poate ajunge la serverul dvs. NTP și scorul serverului dvs. scade sau nu puteți utiliza serverul pentru a sincroniza un alt ceas, este posibil să aveți un firewall de pachete în loc să vă scadă traficul de intrare pe portul 123. Verificați starea firewall-ului.

dacă sunteți sigur că nu aveți nici un firewall în loc, sau ați deschis port 123 pentru traficul de intrare și de ieșire, furnizorul de server sau un alt furnizor de tranzit ar putea fi în scădere pachetele de-a lungul drum. Dacă nu aveți cunoștințele necesare pentru a rezolva aceste probleme pe cont propriu, cel mai bine este să vă adresați comunității și să ajungeți la ajutor. Forumul NTP Pool Projects este un loc bun pentru a începe. De asemenea, vă puteți alătura listei de corespondență sau puteți trimite un e-mail operatorului proiectului NTP Pool. Asigurați-vă că puteți afișa toți pașii pe care i-ați încercat deja pentru a rezolva problema înainte de a cere ajutor.

concluzie

în acest tutorial, ați configurat cu succes propriul server de timp și l-ați făcut membru al proiectului NTP Pool, servind timp comunității. Pentru a păstra legătura cu comunitatea de menținere a timpului. Alăturați-vă forumului NTP Pool Projects sau listei de corespondență. Asigurați-vă că monitorizați scorul serverului dvs. și efectuați orice ajustări necesare.

Lasă un răspuns

Adresa ta de email nu va fi publicată.

Previous post Arnold Palmer Invitational câștigătorii din trecut
Next post Dreptul național la muncă Fundația dreptul la muncă Statele: Florida