Chrony je výchozí server Network Time Protocol (NTP) v operačním systému CentOS 8. Jedná se o náhradu starého Ntpd používaného ve starší verzi operačního systému Linux. Používá se k synchronizaci systémových hodin se vzdálenými internetovými časovými servery. Nastavení přesného času je velmi důležité pro správné fungování jakékoli aplikace.
Je vyroben ze dvou složek chronyc a chronyd. chronyd je démon spouštěný při spouštění systému. chronyc je rozhraní příkazového řádku používané ke sledování výkonu chronydu.
V tomto tutoriálu vám ukážu, jak nainstalovat a používat Chrony na serveru CentOS 8.
Předpoklady
- Dva servery se systémem CentOS 8.
- Na serveru je nakonfigurováno heslo uživatele root.
Začínáme
Před instalací Chrony budete muset na vašem serveru nastavit správné časové pásmo. Můžete jej nastavit pomocí následujícího příkazu:
timedatectl set-timezone Asia/Kolkata
Nyní ověřte své aktuální časové pásmo pomocí následujícího příkazu:
timedatectl
Měli byste získat následující výstup:
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
Instalovat Chrony Server
Ve výchozím nastavení je balíček Chrony součástí výchozího úložiště CentOS 8. Můžete jej nainstalovat pomocí následujícího příkazu:
dnf install chrony -y
Jakmile je Chrony nainstalován, spusťte službu Chrony a povolte její spuštění při restartu systému:
systemctl start chronyd
systemctl enable chronyd
Stav Chrony můžete také ověřit pomocí následujícího příkazu:
systemctl status chronyd
Měli byste vidět následující výstup:
? 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
Konfigurace serveru Chrony
Hlavní konfigurační soubor Chrony se nachází na /etc/chrony.conf. Budete jej muset upravit a změnit časové servery, které jsou vám nejblíže.
nano /etc/chrony.conf
Zakomentujte výchozí fond a přidejte seznam serverů NTP nejblíže vašemu umístění.
#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
Po dokončení uložte a zavřete soubor, poté nastavte synchronizaci NTP pomocí následujícího příkazu:
timedatectl set-ntp true
Poté restartujte službu Chrony, aby se změny projevily:
systemctl restart chronyd
Můžete také povolit konkrétní rozsah IP ve vaší místní síti, abyste umožnili přístup k vašemu NTP serveru. Můžete to povolit přidáním následujícího řádku do souboru /etc/chrony.conf:
# Allow NTP client access from local network. allow 192.168.0.0/24
Nyní můžete zkontrolovat, zda váš NTP server funguje nebo ne, pomocí následujícího příkazu:
chronyc sources
Pokud je vše v pořádku, měli byste získat následující výstup:
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
Konfigurovat bránu firewall
Dále budete muset povolit službu NTP přes bránu firewall. Můžete to povolit pomocí následujícího příkazu:
firewall-cmd --permanent --add-service=ntp --permanent
Poté znovu načtěte službu brány firewall, aby se změny projevily:
firewall-cmd --reload
Konfigurace klienta Chrony
Dále budete muset nainstalovat klienta Chrony na klientský počítač a nakonfigurovat jej tak, aby používal váš server Chrony.
Na klientském počítači nastavte správné časové pásmo pomocí následujícího příkazu:
timedatectl set-timezone Asia/Kolkata
Dále nainstalujte balíček Chrony pomocí následujícího příkazu:
dnf install chrony -y
Po dokončení instalace upravte konfigurační soubor Chrony a nasměrujte svůj NTP server.
nano /etc/chrony.conf
Zakomentujte výchozí fond a přidejte následující řádek:
server chrony-server-ip
Uložte a zavřete soubor a poté nastavte synchronizaci NTP pomocí následujícího příkazu:
timedatectl set-ntp true
Dále spusťte službu Chrony a povolte její spuštění při restartu systému pomocí následujícího příkazu:
systemctl start chronyd
systemctl enable chronyd
Nyní ověřte synchronizaci času pomocí následujícího příkazu:
chronyc sources
Měli byste získat následující výstup:
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
Závěr
Ve výše uvedené příručce jste se naučili, jak nastavit server Chrony NTP na CentOS 8. Také jste se naučili, jak nainstalovat klienta Chrony a nakonfigurovat jej tak, aby synchronizoval čas se serverem Chrony. Neváhejte se mě zeptat, pokud máte nějaké otázky.