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.