W RHEL 8 pakiet ntp nie jest już dostępny a obsługa protokołu NTP jest realizowana przez demona chronyd, który dostarcza nam pakiet o nazwie chrony. Do wykonania instalacji oraz konfiguracji wymagany jest użytkownik root lub dowolny użytkownik z uprawnieniami sudo.
Środowisko testowe:
- NTP serwer - Fedora 30 / RHEL 8: 192.168.1.187 (ctx07vm.local.lnxorg)
- NTP klient - Centos 7: 192.168.1.183 (ctx03vm.local.lnxorg)
W obu przypadkach pakiet chrony został domyślnie zainstalowany wraz z instalacją systemu. W przypadku jego braku zainstalujemy go poleceniem:
# Fedora 30 / RHEL 8
dnf update -y && dnf install chrony -y
# Centos 7
yum update -y && yum install chrony -y
Stan usługi sprawdzamy za pomocą polecenia systemctl. W przypadku gdy pakiet został doinstalowany, uruchamiamy usługę chronyd oraz włączamy automatyczne uruchamianie wraz z systemem:
systemctl status chronyd.service
sudo systemctl start chronyd.service
sudo systemctl enable chronyd.service
Na serwerze edytujemy plik konfiguracyjny /etc/chrony.conf i ustawiamy dyrektywę allow na adres sieci, z której klienci będą się łączyć do naszego serwera NTP, np.:
Restartujemy usługę chronyd. Jeśli korzystamy z zapory firewalld otwieramy port dla serwera NTP w jej konfiguracji:
systemctl restart chronyd.service
firewall-cmd --permanent --add-service=ntp
firewall-cmd --reload
Konfigurację klienta NTP również przeprowadzamy w pliku /etc/chrony.conf. Komentujemy domyślne serwery NTP określone jako wartość dyrektywy server i w ich miejsce ustawiamy adres naszego serwera:
Restartujemy usługę chronyd:
systemctl restart chronyd.service
systemctl status chronyd.service
Za pomocą polecenia chronyc sources wyświetlamy bieżące źródła czasu, do których chronyd uzyskuje dostęp. W wyniku powinien pojawić się adres naszego serwera NTP:
[serwis@ctx03vm ~]$ sudo chronyc sources
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* ctx07vm.local.lnxorg 3 6 17 0 +523us[+4075us] +/- 55ms
Na serwerze uruchamiamy polecenie:
Tym razem w wyniku powinna pojawić się informacja o klientach NTP podłączonych do naszego serwera.
[sysadmin@ctx07vm ~]$ sudo chronyc clients
Hostname NTP Drop Int IntL Last Cmd Drop Int Last
===============================================================================
ctx03vm.local.lnxorg 3 0 6 - 13 0 0 - -
W pliku konfiguracyjnym można również wskazać lokalizację zawierającą klucze uwierzytelniające podnoszące bezpieczeństwo połączenia między serwerem a klientami. Odpowiada za to dyrektywa keyfile. Domyślną lokalizacją jest /etc/chrony.keys natomiast klucze generujemy za pomocą polecenia: