Chrony è il server NTP (Network Time Protocol) predefinito nel sistema operativo CentOS 8. È un sostituto del vecchio Ntpd utilizzato nella versione precedente del sistema operativo Linux. Viene utilizzato per sincronizzare l'orologio di sistema con i server orari Internet remoti. L'impostazione dell'ora esatta è molto importante per il corretto funzionamento di qualsiasi applicazione.
È composto da due componenti chronyc e chronyd. chronyd è un demone avviato all'avvio del sistema. chronyc è un'interfaccia a riga di comando utilizzata per monitorare le prestazioni di chronyd.
In questo tutorial, ti mostrerò come installare e utilizzare Chrony sul server CentOS 8.
Prerequisiti
- Due server che eseguono CentOS 8.
- Sul server è configurata una password di root.
Per iniziare
Prima di installare Chrony, dovrai impostare un fuso orario corretto nel tuo server. Puoi configurarlo con il seguente comando:
timedatectl set-timezone Asia/Kolkata
Ora verifica il tuo fuso orario attuale con il seguente comando:
timedatectl
Dovresti ottenere il seguente output:
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
Installa Chrony Server
Per impostazione predefinita, il pacchetto Chrony è incluso nel repository predefinito di CentOS 8. Puoi installarlo con il seguente comando:
dnf install chrony -y
Una volta installato Chrony, avvia il servizio Chrony e abilitalo all'avvio al riavvio del sistema:
systemctl start chronyd
systemctl enable chronyd
Puoi anche verificare lo stato del Chrony con il seguente comando:
systemctl status chronyd
Dovresti vedere il seguente output:
? 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
Configura Chrony Server
Il file di configurazione principale di Chrony si trova in /etc/chrony.conf. Dovrai modificarlo e cambiare i server orari più vicini a te.
nano /etc/chrony.conf
Commenta il pool predefinito e aggiungi un elenco di server NTP più vicini alla tua posizione.
#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
Salva e chiudi il file al termine, quindi imposta la sincronizzazione NTP con il seguente comando:
timedatectl set-ntp true
Quindi, riavvia il servizio Chrony per applicare le modifiche:
systemctl restart chronyd
Puoi anche consentire a un intervallo IP specifico nella tua rete locale di consentire l'accesso al tuo server NTP. Puoi consentirlo aggiungendo la seguente riga al file /etc/chrony.conf:
# Allow NTP client access from local network. allow 192.168.0.0/24
Ora puoi verificare se il tuo server NTP funziona o meno con il seguente comando:
chronyc sources
Se tutto va bene, dovresti ottenere il seguente output:
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
Configura Firewall
Successivamente, dovrai consentire il servizio NTP attraverso il firewall. Puoi consentirlo con il seguente comando:
firewall-cmd --permanent --add-service=ntp --permanent
Quindi, ricarica il servizio firewall per applicare le modifiche:
firewall-cmd --reload
Configura client Chrony
Successivamente, dovrai installare il client Chrony sul computer client e configurarlo per utilizzare il tuo server Chrony.
Sulla macchina del Cliente, imposta il tuo fuso orario corretto con il seguente comando:
timedatectl set-timezone Asia/Kolkata
Quindi, installa il pacchetto Chrony con il seguente comando:
dnf install chrony -y
Una volta completata l'installazione, modifica il file di configurazione di Chrony e punta il tuo server NTP.
nano /etc/chrony.conf
Commenta il pool predefinito e aggiungi la seguente riga:
server chrony-server-ip
Salva e chiudi il file, quindi imposta la sincronizzazione NTP con il seguente comando:
timedatectl set-ntp true
Quindi, avvia il servizio Chrony e abilitalo all'avvio al riavvio del sistema con il seguente comando:
systemctl start chronyd
systemctl enable chronyd
Ora verifica la sincronizzazione dell'ora con il seguente comando:
chronyc sources
Dovresti ottenere il seguente output:
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
Conclusione
Nella guida sopra, hai imparato come configurare un server Chrony NTP su CentOS 8. Hai anche imparato come installare il client Chrony e configurarlo per sincronizzare l'ora con il server Chrony. Sentiti libero di chiedermi se hai domande.