Innledning
Nøyaktig tidtaking er avgjørende for nesten alle tjenester eller programvare. E-post, loggere, hendelsessystemer og planleggere, brukerautentiseringsmekanismer og tjenester som kjører på distribuerte plattformer, trenger alle nøyaktige tidsstempler for å registrere hendelser i kronologisk rekkefølge. DISSE tjenestene bruker Network Time Protocol, ELLER NTP, for å synkronisere systemklokken med en klarert ekstern kilde. Denne kilden kan være en atomur, EN GPS-mottaker eller en annen tidsserver som allerede bruker NTP.
DET er her NTP Pool Prosjektprosjektet kommer inn i spill. Det er en stor verdensomspennende klynge av tidsservere som gir enkel tilgang til kjent «god tid» for titalls millioner kunder over hele verden. Det er standard tidsserver For Ubuntu og de fleste Av De andre Store Linux-distribusjonene, samt mange nettverksapparater og programvare.
i denne veiledningen vil DU sette OPP NTP på serveren din og konfigurere den til Å være en DEL AV NTP-Bassengprosjektet, slik at det gir nøyaktig tid til andre brukere AV NTP-Bassengprosjektet. Å gi dine EKSTRA CPU-sykluser og ubrukt båndbredde er en perfekt måte å gi noe tilbake til samfunnet.
den nødvendige båndbredden er relativt lav og kan justeres avhengig av hvor mye du kan gi og hvor serveren din ligger. Hver klient vil bare sende ET par UDP-pakker hvert 20. minutt, så de fleste servere mottar bare omtrent et dusin NTP-pakker per sekund, med pigger et par ganger om dagen med opptil hundre pakker per sekund. Dette oversetter til båndbreddebruk av 10-15kb / sek med pigger på 50-120kb / sek.
det er tre grunnleggende krav du må tilfredsstille før han begynte I NTP Pool Prosjektet:
- serveren din må ha en statisk IP-adresse.
- serveren din må ha en permanent og stabil internettforbindelse.
- IP-adressen din endres mest ikke, eller endres sjelden (en gang i året eller mindre).
for de fleste skybaserte servere oppfylles de to første kravene vanligvis automatisk. Det tredje kravet understreker at det å bli MED I NTP Pool-Prosjektet utgjør en langsiktig forpliktelse. Selvfølgelig, hvis omstendighetene endres, er det greit å ta en server ut av bassenget, men det vil ta lang tid (for det meste uker, men noen ganger måneder eller år) før trafikken helt forsvinner.
Forutsetninger
for å fullføre denne opplæringen trenger du:
- En Centos 7-server med IPv6-nettverk konfigurert. Hvis Du trenger Å konfigurere IPv6-nettverk på en eksisterende Dråpe, kan du følge denne opplæringen.
- en sudo-ikke-rotbruker og en brannmur, som du kan sette opp ved å følge Det Første Serveroppsettet Med CentOS 7-opplæringen og delen «Konfigurere En Grunnleggende Brannmur» i De Ekstra Anbefalte Trinnene For Nye CentOS 7-Servere.
Trinn 1 — Installere NTP
NTP-pakken er ikke installert som standard, så du bruker pakkebehandleren til å installere den. Først oppdaterer du pakkene dine:
- sudo yum update
deretter installerer NTP:
- sudo yum install ntp
når installasjonen er fullført, starter du tjenesten og konfigurerer den slik at den starter automatisk hver gang serveren starter:
- sudo systemctl start ntpd
- sudo systemctl enable ntpd
Hvis du har konfigurert brannmuren som angitt i forutsetningene, må DU tillate UDP-trafikk FOR NTP-tjenesten for å kommunisere MED NTP-bassenget:
- sudo firewall-cmd --permanent --add-service=ntp
- sudo firewall-cmd --reload
For mer Om FirewallD, se Hvordan Sette Opp En Brannmur Ved Hjelp Av FirewallD På CentOS 7.
NTP er nå installert, men den er konfigurert til å bruke standard NTP pool tidsservere. Lar plukke noen spesifikke tidsservere i stedet.
Trinn 2 — Velge En Passende Oppstrøms Server
NTP Pool-prosjektet ber operatører som ønsker å bli med i bassenget for å velge gode nettverk-lokale tidsservere i stedet for å bruke standard pool.ntp.org
servere . DETTE sikrer AT NTP Pool Prosjektet forblir pålitelig, rask og sunn. Når du velger tidskilde, vil du ha en stabil nettverkstilkobling uten pakketap og så få hopp som mulig mellom serverne.
den multi-lagdelt OG hierarkisk NTP-protokollen skiller de involverte partene i primære servere, sekundære servere og klienter. De primære serverne kalles Stratum 1 og er koblet direkte til tidskilden, Som kalles Stratum 0. Denne kilden kan være en atomur, EN GPS-mottaker eller et radionavigasjonssystem. Sekundære servere i kjeden kalles Stratum 2, Stratum 3 og så videre.
hver server er også en klient. En Stratum 2 klient mottar tid fra En Oppstrøms Stratum 1 server, og gir tid til nedstrøms Stratum 3 servere eller andre klienter. FOR NTP Pool Prosjektmedlemmer til å fungere skikkelig, TRENGER NTP daemon minst tre servere konfigurert. Prosjektet anbefaler minst fire, og ikke mer enn syv kilder.
NTP Pool Prosjektet gir en liste over offentlige Stratum 1 Og Startum 2 tidsservere. Listene utpeke NTP – servere tid tilgjengelig for offentlig tilgang under angitte restriksjoner. Du finner tre typer:
- OpenAccess: Denne tidsserveren er åpen for enhver klient som overholder ANBEFALINGENE FOR BRUK AV NTP-Bassenget.
- RestrictedAccess: Denne tidsserveren har noen tilgangsbegrensninger i tillegg TIL ANBEFALINGENE FOR BRUK AV NTP-Bassenget.
- Lukket Tilgang: Denne tidsserveren er stengt eller krever forhåndsavtale.
Advarsel: ikke bruk servere som Ikke er Oppført Som OpenAccess, med mindre du har fått godkjenning til å gjøre det.
Gå til Stratum 1 Tidsservere-listen. Du vil se en liste som følgende:
Sorter listen etter ISO – kode-kolonnen og finn en eller to servere som er geografisk nær serverens datasenter. Når serverens Tilgangspolicykolonne angir OpenAccess, kan du bruke Den uten problem. Hvis det står «RestrictedAccess», klikker du for å åpne oppføringen og lese instruksjonene i Access Details-feltet. Ofte finner Du At NotificationMessage er satt Til Ja, noe som betyr at du må lage En uformell e-post rettet til adressen som er oppgitt I ServerContact, og informerer serveroperatøren om ditt ønske om å bruke denne tidsserveren som en tidskilde for NTP-Bassengprosjektmedlemmet ditt.
når du har identifisert serverne du vil bruke, klikker du på koblingen for hver server I ISO-kolonnen og kopierer vertsnavnet eller IP-adressen. Du bruker disse adressene I Trinn 3.
Velg deretter tre eller fire servere Fra Stratum 2-listen, etter samme prosess.
Når du har valgt tidsservere, er det på tide å konfigurere NTP-klienten til å bruke dem.
Trinn 3-Konfigurere NTP For Å Bli Med I Bassenget
for å bruke serveren din MED NTP-bassenget, og konfigurere dine nye tidsservere, må du gjøre noen endringer I NTP-daemonens konfigurasjon. For å gjøre dette, rediger filen /etc/ntp.conf
:
- sudo vi /etc/ntp.conf
Først må du sørge for at en drivfil er konfigurert. En drivfil lagrer frekvensforskyvningen mellom systemklokken som kjører ved sin nominelle frekvens, og frekvensen som kreves for å forbli synkronisert med riktig tid. Det bidrar til å oppnå en stabil og nøyaktig tid. Du bør finne dette øverst i konfigurasjonsfilen din på en standardinstallasjon:
# 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...
fjern deretter standardkildeoppføringene fra konfigurasjonen. Du leter etter alle linjer som er av mønsteret server 0.centos.pool.ntp.org iburst
. Hvis du bruker en standardkonfigurasjon, fjerner du de uthevede linjene som vist i følgende eksempel:
...# 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
Erstatt linjene du fjernet med de håndplukkede serverne du valgte i forrige trinn.
...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...
vi bruker alternativet iburst
for hver server, per NTP Pool anbefalinger. På den måten, hvis serveren ikke er tilgjengelig, vil dette sende en serie på åtte pakker i stedet for den vanlige pakken. Bruke alternativet burst
i NTP Pool-Prosjektet regnes som misbruk, da det vil sende de åtte pakkene hvert avstemningsintervall, mens iburst
sender de åtte pakkene bare første gang.
Kontroller deretter at standardkonfigurasjonen ikke tillater administrasjonsspørringer. Hvis du ikke gjør det, kan serveren din brukes I NTP-refleksjonsangrep, eller kan være sårbar for ntpq
og ntpdc
spørringer som forsøker å endre tilstanden til serveren. Kontroller at alternativet noquery
er lagt til standard restrict
linjer. Pass også på at du legger til alternativene kod
og limited
da de begrenser for ivrig å spørre klienter og håndheve hastighetsbegrensning.
...# 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
du finner mer informasjon om de andre alternativene i den offisielle dokumentasjonen.
DIN NTP daemon konfigurasjonsfil skal nå se ut som følgende, selv om filen din kan ha flere kommentarer, som du trygt kan se bort fra:
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
Lagre filen og avslutt redigeringsprogrammet.
start NÅ NTP-tjenesten PÅ NYTT og la tidsserveren synkronisere klokken til oppstrøms servere.
- sudo systemctl restart ntpd
etter noen minutter, kontroller helsen til tidsserveren din med kommandoen ntpq
:
- ntpq -p
utgangen skal se ut som dette:
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
den eksterne kolonnen forteller deg vertsnavnet til serverne NTP-demonen bruker, og refid-kolonnen forteller deg kilden serverne bruker. Så For Stratum 1-servere skal refid-feltet vise GPS, PPS, ACTS eller PTB, Og Stratum 2 og høyere servere vil vise IP-adressen til oppstrøms serveren. St-kolonnen viser stratum, og forsinkelse, forskyvning og jitter forteller deg om kvaliteten på tidskilden. Lavere verdier er bedre for disse tre feltene.
din tidsserver er nå i stand til å tjene tid til publikum. Du kan bekrefte dette ved å ringe ntpdate
fra en annen vert:
- ntpdate -q your_server_ip
utgangen skal se ut som dette, og det forteller deg at det justerte tidsserveren og forskyvningen:
Outputserver 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
Du er nå klar til å registrere DIN NTP server MED NTP Pool Prosjektet slik at andre kan bruke den.
Trinn 4-Legge Til Serveren I NTP-Bassenget
for å legge til serveren din slik at andre kan bruke den, besøk manage.ntppool.org og registrer deg for en konto. DU vil motta EN e-post FRA NTP Pool [email protected] be om at du bekrefter kontoen din. Bekreft kontoen din ved å følge instruksjonene i e-posten, og logg deretter på manage.ntppool.org.
når du er logget inn, ser du det enkle grensesnittet for å legge til servere:
Skriv inn serverens IP-adresse og klikk På Send.
det neste skjermbildet ber deg om å bekrefte at det identifiserte området til serveren din. Hvis den viser serveren din i et annet område enn du forventer, kan du bruke Kommentarfeltet til å gi dem beskjed.
hvis du er fornøyd, bekreft oppføringen Ved å klikke Ja, dette er min server, legg til den!
serveren din er nå en del AV NTP Pool-Prosjektet. Besøk http://www.pool.ntp.org/scores/your_server_ip
for å se informasjon NTP-Bassengets overvåkingssystem har samlet om serveren din. Den sjekker serveren et par ganger i timen og viser offset data, alog med poengsummen for systemet. Så lenge serveren din holder god tid og kan nås, vil poengsummen stige til den når 20 poeng. Bare servere med en poengsum høyere enn 10 brukes i bassenget.
Feilsøke Tilkoblingsproblemer
hvis du har problemer med å få serveren til å synkronisere, kan det hende du har en pakkebrannmur på plass som slipper utgående pakker på port 123
. Ta En titt På Hvordan Du Konfigurerer En Brannmur Ved Hjelp Av FirewallD På CentOS 7 for å lære hvordan du kontrollerer statusen til brannmuren.
Hvis NTP Pool-Prosjektets overvåkingsstasjon ikke kan nå NTP-serveren din og serverpoengsummen din går ned, eller du kan ikke bruke serveren din til å synkronisere en annen klokke, kan du ha en pakkebrannmur på plass som slipper innkommende trafikk på port 123
. Sjekk brannmurstatusen din.
hvis du er sikker på at du ikke har brannmur på plass, eller du har åpnet port 123
for både innkommende og utgående trafikk, kan serverleverandøren din eller en annen transportleverandør slippe pakkene dine underveis. Hvis du ikke har kunnskap til å løse disse problemene alene, er det best å vende seg til samfunnet og nå for hjelp. NTP Pool Projects forum er et godt sted å starte. Du kan også bli med i adresselisten eller sende en emaill TIL NTP Pool prosjektoperatøren. Bare vær sikker på at du kan vise alle trinnene du allerede har prøvd å løse problemet før du ber om hjelp.
Konklusjon
i denne opplæringen har du satt opp din egen tidsserver og gjort den til medlem AV NTP-Bassengprosjektet, som serverer tid til samfunnet. For å holde kontakten med tidsbesparende samfunnet. bli MED I NTP Pool Projects forum eller e-postlisten. Pass på å overvåke serverens score og foreta nødvendige justeringer.