Chrony NTP Server installeren op CentOS 8

Chrony is de standaard Network Time Protocol (NTP) server in het CentOS 8 besturingssysteem. Het is een vervanging voor het oude Ntpd dat in de oudere versie van het Linux besturingssysteem gebruikt werd. Het wordt gebruikt om de systeemklok te synchroniseren met afgelegen tijdservers op het internet. Het instellen van een nauwkeurige tijd is erg belangrijk om een toepassing goed te laten werken.

Het bestaat uit twee componenten chronyc en chronyd. chronyd is een daemon die bij het opstarten van het systeem gestart wordt. chronyc is een command-line interface die gebruikt wordt om de prestaties van chronyd te controleren.

In deze handleiding laat ik je zien hoe je chronyd op een CentOS 8 server kunt installeren en gebruiken.

Vereisten

  • Twee servers met CentOS 8.
  • Op de server is een root wachtwoord ingesteld.

Aan de slag

Voor je Chrony installeert, moet je een juiste tijdzone instellen op je server. Je kunt die instellen met het volgende commando:

timedatectl set-timezone Asia/Kolkata

Controleer nu je huidige tijdzone met het volgende commando:

timedatectl

Je zou de volgende uitvoer moeten krijgen:

               Local time: Sun 2021-05-02 20:00:44 IST
           Universal time: Sun 2021-05-02 14:30:44 UTC
                 RTC time: Sun 2021-05-02 14:30:43
                Time zone: Asia/Kolkata (IST, +0530)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Installeer Chrony Server

Standaard is het Chrony pakket opgenomen in de CentOS 8 standaard repository. Je kunt het installeren met het volgende commando:

dnf install chrony -y

Zodra de Chrony geïnstalleerd is, start je de Chrony service en schakel je hem in om te starten bij het herstarten van het systeem:

systemctl start chronyd
systemctl enable chronyd

Je kunt ook de status van de Chrony controleren met het volgende commando:

systemctl status chronyd

Je zou de volgende uitvoer moeten zien:

? chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2021-05-02 20:00:13 IST; 1min 7s ago
     Docs: man:chronyd(8)
           man:chrony.conf(5)
 Main PID: 616 (chronyd)
    Tasks: 1 (limit: 25014)
   Memory: 2.3M
   CGroup: /system.slice/chronyd.service
           ??616 /usr/sbin/chronyd

May 02 20:00:12 centos8 systemd[1]: Starting NTP client/server...
May 02 20:00:12 centos8 chronyd[616]: chronyd version 3.5 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +SECHASH >
May 02 20:00:12 centos8 chronyd[616]: Frequency 18.331 +/- 0.061 ppm read from /var/lib/chrony/drift
May 02 20:00:12 centos8 chronyd[616]: Using right/UTC timezone to obtain leap second data
May 02 20:00:13 centos8 systemd[1]: Started NTP client/server.
May 02 20:00:20 centos8 chronyd[616]: Selected source 129.250.35.250
May 02 20:00:20 centos8 chronyd[616]: System clock TAI offset set to 37 seconds
May 02 20:00:20 centos8 chronyd[616]: System clock wrong by 1.153394 seconds, adjustment started
May 02 20:00:21 centos8 chronyd[616]: System clock was stepped by 1.153394 seconds

Configureer Chrony Server

Het belangrijkste configuratiebestand van Chrony staat in /etc/chrony.conf. Je zult het moeten bewerken en de tijdservers die het dichtst bij je staan veranderen.

nano /etc/chrony.conf

Commentarieer de standaard pool uit en voeg een lijst van NTP servers toe die het dichtst bij je locatie staan.

#pool 2.centos.pool.ntp.org iburst
server 1.in.pool.ntp.org
server 2.in.pool.ntp.org
server 3.in.pool.ntp.org

Bewaar en sluit het bestand als je klaar bent en stel dan NTP synchronisatie in met het volgende commando:

timedatectl set-ntp true

Herstart vervolgens de Chrony dienst om de veranderingen toe te passen:

systemctl restart chronyd

Je kunt ook een bepaald IP bereik in je lokale netwerk toegang tot je NTP server toestaan. Je kunt dit toestaan door de volgende regel aan het bestand /etc/chrony.conf toe te voegen:

# Allow NTP client access from local network.
allow 192.168.0.0/24

Je kunt nu controleren of je NTP server werkt of niet met het volgende commando:

chronyc sources

Als alles in orde is, zou je de volgende uitvoer moeten krijgen:

210 Number of sources = 4
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^? ntp7.mum-in.hosts.301-mo>     2   6     1     8    +31ms[  +31ms] +/-  248ms
^? static.15.192.216.95.cli>     2   6     1     8  +2616us[+2616us] +/-   88ms
^? 157.245.102.2                 2   6     1     9  -4088us[-4088us] +/-  139ms
^? ec2-13-126-27-131.ap-sou>     2   6     1     9  +6017us[+6017us] +/-  181ms

Configureer Firewall

Vervolgens moet je de NTP dienst door de firewall toelaten. Je kunt het toestaan met het volgende commando:

firewall-cmd --permanent --add-service=ntp --permanent

Herlaad vervolgens de firewall dienst om de veranderingen toe te passen:

firewall-cmd --reload

Configureer Chrony Client

Vervolgens moet je Chrony client op de client machine installeren en hem instellen om je Chrony server te gebruiken.

Stel op de client machine je juiste tijdzone in met het volgende commando:

timedatectl set-timezone Asia/Kolkata

Installeer vervolgens het Chrony pakket met het volgende commando:

dnf install chrony -y

Als de installatie voltooid is, bewerk dan je Chrony configuratiebestand en wijs je NTP server aan.

nano /etc/chrony.conf

Commentarieer de standaard pool uit en voeg de volgende regel toe:

server chrony-server-ip

Bewaar en sluit het bestand en stel dan NTP synchronisatie in met het volgende commando:

timedatectl set-ntp true

Start vervolgens de Chrony dienst en zet hem aan om te starten bij het herstarten van het systeem met het volgende commando:

systemctl start chronyd
systemctl enable chronyd

Controleer nu de tijdsynchronisatie met het volgende commando:

chronyc sources

Je zou de volgende uitvoer moeten krijgen:

210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^? chrony-server-ip              0   6     0   10y     +0ns[   +0ns] +/-    0ns

Conclusie

In de bovenstaande gids heb je geleerd hoe je een Chrony NTP server kunt opzetten op CentOS 8. Je leerde ook hoe je de Chrony client installeert en hem instelt om de tijd met de Chrony server te synchroniseren. Stel me gerust als je nog vragen hebt.