NTP server is important component in every enterprise system since it gets the network time synchronized, scripts execute on time, backup jobs done…
On RHEL 8 ntp is implemented by chronyd. Chrony can work both as server and client.
So, let us set it up.
(run all commands as root)
Install and configure chrony server:
First, we will install the package
sudo yum -y install chrony
Next, we will start chronyd service and set it to start after reboot
systemctl start chronyd
systemctl status chronyd
systemctl enable chronyd
Now we will set Chrony as our main time server for the local network.
We will edit /etc/chrony.conf
I will edit it with vi editor.
vi /etc/chrony.conf
There is a line in chrony.conf which we will uncomment and set to allow machines from local network to update from our time server
Before
I will set network for my lab network, you of course will enter network you use
This is after
Save and exit
You can also use /etc/chrony.conf file to add more NTP servers to it, here are some of the NTP servers you can add:
server 0.rhel.pool.ntp.org iburst
server 1.rhel.pool.ntp.org iburst
server 2.rhel.pool.ntp.org iburst
server 3.rhel.pool.ntp.org iburst
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
here is also great list of NTP servers here – https://www.ntppool.org/en/
I added a few servers that are close to my area – at the beginning of the /etc/chrony.conf
Save and exit…
After that we can run following command
sudo timedatectl set-ntp true
Restart service by entering:
systemctl restart chronyd
Next, we will open firewall to allow NTP requests
(two minuses are before permanent, add and reload words)
firewall-cmd --permanent --add-service=ntp
firewall-cmd --reload
We will now check if NTP is working by entering following command
chronyc sources
Now, we will set client to sync time with our NTP server.
I have CentOS 8 which will serve as a client for this purpose
Frist, we will install chrony to our client
yum install chrony
In my case it is already installed, but you will confirm you want to install if you don’t have installation.
Next step will be to start and enable chrony service after reboot
systemctl start chronyd
systemctl enable chronyd
systemctl status chronyd
Again, we will edit /etc/chrony.conf again, this time on this client
vi /etc/chrony.conf
Comment ntp servers that are active at the top of the document and enter address of your local ntp server. In my case it is
server 10.20.10.7
It should look like this
Save and exit
Set NTP synchronization by entering:
sudo timedatectl set-ntp true
Now, we will restart chronyd service by entering:
systemctl restart chronyd
On client, check to see what are your ntp servers by entering:
chronyc sources
On server, you can check active clients by entering
chronyc clients
In case you are getting question mark instead of *, check again your settings, check firewall setup, check if the chrony service is active on server and client, recheck all.