NTP står for National Time Protocol og brukes til klokkesynkronisering på tvers av flere datamaskiner. En NTP -server er ansvarlig for å holde et sett med datamaskiner synkronisert med hverandre. På et lokalt nettverk skal serveren kunne holde alle klientsystemer til innenfor et enkelt millisekund av hverandre.
En slik konfigurasjon ville være nødvendig hvis for eksempel systemene som trengs for å starte eller stoppe en oppgave unisont på et presist tidspunkt. I denne artikkelen viser vi deg hvordan du konfigurerer en NTP -server på Ubuntu 20.04 Focal Fossa og hvordan du konfigurerer et klientsystem for å synkronisere systemtiden med nevnte server.
I denne opplæringen lærer du:
- Hvordan installere og konfigurere NTP -serveren
- Hvordan koble til en NTP -server fra en klientmaskin
Kategori | Krav, konvensjoner eller programvareversjon brukt |
---|---|
System | Installert Ubuntu 20.04 eller oppgradert Ubuntu 20.04 Focal Fossa |
Programvare | NTP Server Daemon |
Annen | Privilegert tilgang til Linux -systemet ditt som rot eller via sudo kommando. |
Konvensjoner | # - Krever gitt Linux -kommandoer som skal utføres med rotrettigheter enten direkte som rotbruker eller ved bruk av sudo kommando$ - Krever gitt Linux-kommandoer som skal utføres som en vanlig ikke-privilegert bruker |
Installer NTP -server
For å begynne med, må vi installere NTP -serveren. Du kan gjøre det ved å åpne en terminal og legge inn følgende kommando:
$ sudo apt install ntp
Konfigurer NTP -server
NTP-serveren kommer forhåndskonfigurert med noen serverbassenger allerede, som du kan se inne i /etc/ntp.konf
fil.
$ katt /etc /ntp.konfStandard serverbassenger i NTP -konfigurasjonsfilen vår
Generelt er det best å erstatte disse linjene med serverbassenger fra ditt eget land, eller i det minste ditt eget kontinent. Jo mindre latens mellom deg og en tidsserver, jo bedre. Du kan bruke NTP Pool Project -nettstedet for å finne det nærmeste NTP -serverbassenget til ditt sted.
Finn dine nærmeste serverpooler fra NTP Pool Project -nettstedetNår du har funnet den mest relevante sonen, er alt du trenger å gjøre å legge til linjene i konfigurasjonsfilen din ved å bruke Nano eller din foretrukne tekstredigerer:
$ sudo nano /etc /ntp.konf
Skriv inn serverne i NTP -konfigurasjonsfilen
Når du har gjort disse endringene, lagrer du og avslutter konfigurasjonsfilen. Start NTP -tjenesten på nytt for at endringene skal tre i kraft:
$ sudo SystemCTL omstart NTP
Sjekk på statusen til NTP -tjenesten når som helst med denne kommandoen:
$ sudo systemctl status ntpStatusen til NTP Server -demon
Klienter som prøver å koble til NTP -serveren din, vil gjøre det på UDP -port 123
. Hvis du har UFW -brannmuren aktivert på systemet ditt, må du huske å konfigurere det for å tillate disse innkommende tilkoblingsforespørsler:
$ sudo ufw tillater fra hvilken som helst port 123 Proto UDP -regler Oppdaterte regler Oppdatert (V6)
NTP -klientkonfigurasjon
Nå som vi har en NTP -server i gang, vil vi vise hvordan klientsystemer kan koble seg til den for tidssynkronisering. Bare følg trinnene nedenfor på kundesystemene dine:
- Først må vi installere
ntpdate
pakke. Vi kan bruke dette til å bekrefte tilkobling mellom klienten og NTP Time -serveren vi opprettet.$ sudo apt installer ntpdate
- Neste, la oss forsøke å mantuelt synkronisere systemtiden vår med NTP -serveren. Skriv inn følgende kommando, erstatte NTP -serverens IP -adresse eller vertsnavn der det er aktuelt:
$ sudo ntpdate 192.168.1.55
Tilkobling til NTP -serveren er vellykket - Det ser ut til å fungere som vi forventer. Neste, sørg for å deaktivere Ubuntus standard
Timesyncd
Service, da dette vil komme i konflikt med våre forsøk på å synkronisere med NTP -serveren.$ sudo timedatectl set-ntp off
- Nå må vi installere NTP -demonen på vårt klientsystem, slik at vi kan konfigurere det til å trekke tiden fra NTP -serveren vår som vi satte opp tidligere.
$ sudo apt install ntp
- Vi trenger bare å legge en enkelt linje til vår
ntp.konf
fil, og vi kan gjøre det veldig enkelt med en enkelt kommando. Bare sørg for å erstatte IP -adressen nedenfor med enten vertsnavnet eller IP -adressen til NTP -serveren din.$ sudo bash -c "Echo Server 192.168.1.55 foretrekker iburst >> /etc /ntp.Conf "
- Start deretter NTP -demonen på nytt:
$ sudo SystemCTL omstart NTP
- Til slutt, bruk
ntpq
Kommando for å liste opp NTP -tidssynkroniseringskøen:$ ntpq -p
Utgang fra NTPQ -kommandoenStjerne
*
i skjermdumpen over indikerer at NTP -serveren vår192.168.1.55
velges som gjeldende tidssynkroniseringskilde. Dette bør forbli tilfelle med mindre NTP -serveren går offline, da det er slik vi har konfigurert den inne intp.konf
konfigurasjonsfil.Les vedlegg nedenfor for mer informasjon om hvordan du tolker
ntpq
Kommandoens utgang.
blindtarm
NTPQ Kommandokolonneutgangstolkning:
- Fjernkontroll - Den eksterne serveren du ønsker å synkronisere klokken med
- Refid - Oppstrøms stratum til den eksterne serveren. For Stratum 1 -servere vil dette være Stratum 0 -kilden.
- st - Stratumnivået, 0 til 16.
- t - Typen tilkobling. Kan være "u" for unicast eller mangecast, "b" for kringkasting eller multicast, "l" for lokal referanseklokke, "s" for symmetrisk peer, "a" for en mange cast -server, "b" for en kringkastingsserver, eller “M” for en multicast -server
- når - Siste gang da serveren ble spurt om tiden. Standard er sekunder, eller "M" vises i minutter, "H" i timevis og "D" i flere dager.
- avstemming - Hvor ofte serveres serveren for tiden, med minimum 16 sekunder til maksimalt 36 timer. Det vises også som en verdi fra en kraft på to. Det er vanligvis mellom 64 sekunder og 1024 sekunder.
- å nå - Dette er en 8-biters venstre skift oktalverdi som viser suksess og feilhastighet for å kommunisere med den eksterne serveren. Suksess betyr at biten er satt, feil betyr at biten ikke er satt. 377 er den høyeste verdien.
- forsinkelse - Denne verdien vises i millisekunder, og viser tur / retur (RTT) på datamaskinen din som kommuniserer med den eksterne serveren.
- offset - Denne verdien vises i millisekunder, ved hjelp av rotmidler, og viser hvor langt utenfor klokken din er fra den rapporterte tiden serveren ga deg. Det kan være positivt eller negativt.
- jitter - Dette tallet er en absolutt verdi i millisekunder, og viser den gjennomsnittlige kvadratiske avviket til forskyvningene dine.
NTPQ Kommando Row Output tolkning:
- "" Kassert som ikke gyldig. Kan være at du ikke kan kommunisere med den eksterne maskinen (det er ikke online), denne tidskilden er en ".Locl.”Refid tidskilde, det er en høy Stratum -server, eller den eksterne serveren bruker denne datamaskinen som en NTP -server.
- x Kastet av kryssalgoritmen.
- . Kassert av bordoverløp (ikke brukt).
- - Kastet av klyngealgoritmen.
- + Inkludert i Combine -algoritmen. Dette er en god kandidat hvis den nåværende serveren vi synkroniserer med blir kastet av en eller annen grunn.
- # God ekstern server som skal brukes som en alternativ sikkerhetskopi. Dette vises bare hvis du har mer enn 10 eksterne servere.
- * Gjeldende system peer. Datamaskinen bruker denne eksterne serveren som sin tidskilde for å synkronisere klokken
- o Puls per sekund (PPS) jevnaldrende. Dette brukes vanligvis med GPS -tidskilder, selv om enhver tidskilde som leverer en PPS vil gjøre. Denne Tally -koden og den forrige Tally -koden “*” vises ikke samtidig.
REF: https: // ptree.org/2013/11/05/ekte-life-ntp/
Konklusjon
I denne artikkelen lærte vi om National Time Protocol (NTP) og hvordan vi konfigurerer vår egen NTP -server på Ubuntu 20.04 Focal Fossa. Vi så også hvordan du konfigurerer en klientmaskin (eller flere maskiner, som vanligvis er tilfelle) for å koble til NTP -serveren for tidssynkronisering.