CentOS NTP Server

Oct 2019

Overview

This was created and tested using CentOS 7.6

Using NTP so sync CentOS is fairly straightforward, and all you need is an NTP source, of which there are many. However occasionally, it is advantageous to have your NTP source and clients all local.
NTP is more about ensuring the correct operation of a system, rather than just having the correct time (with exceptions of course, scheduling, SCTE really require accurate time).
In this example, I have three CentOS systems, and the first will be the NTP server, with the second two being NTP clients. I did this for a Split ABR Encoding system, so I did not have to rely on any external NTP servers.

NTP Server

If the OS was installed using a MediKind .iso, you may have to remove ChronyD:

systemctl stop chronyd
systemctl disable chronyd

Now install NTP:

yum install ntp

The NTP settings will have to be modified, you will need to edit the following file.

vim /etc/ntp.conf

Find the list of public servers:

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
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

When the OS was installed, if hte correct regional settings were selected, this ntp list will be fine. You can find local servers to you using the url https://www.ntppool.org/en/use.html.
You can restrict the range of IPs that can ask for NTP services by using the following:

# Hosts on local network are less restricted.
restrict 10.43.30.0 mask 255.255.255.0 nomodify notrap
This will restrict NTP services to IP Addresses in the 10.43.30.x range

Ensure that CentOS is using the correct timezone:

cd /etc
rm localtime
ls /usr/share/zoneinfo/
ln -s /usr/share/zoneinfo/[expected_time_zone] localtime (I normally use GMT or UTC)

Finally start and enable NTP services.

systemctl start ntpd
systemctl enable ntpd

At this point, the server should have the correct time (if using UTC, depending on the time of year it could look 1 hour off). If the time is way out, ensure you have internet access, that the firewall is not blocking NTP and that your timezone is correct.

NTP Clients

If the OS was installed using a MediKind .iso, you may have to remove ChronyD:

systemctl stop chronyd
systemctl disable chronyd

Now install NTP:

yum install ntp

The NTP settings will have to be modified, you will need to edit the following file.

vim /etc/ntp.conf

Find the list of public servers:

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 10.43.30.11 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

In the server list, we have added the following line, as the first server in the list:

server 10.43.30.11 iburst - This is the IP Address of the NTP server we previously configured.

When the OS was installed, if the correct regional settings were selected, this NTP list will be fine. You can find local servers to you using the url https://www.ntppool.org/en/use.html.
Ensure that CentOS is using the correct timezone:

cd /etc
rm localtime
ls /usr/share/zoneinfo/
ln -s /usr/share/zoneinfo/[expected_time_zone] localtime (I normally use GMT or UTC)

Finally start and enable NTP services.

systemctl start ntpd
systemctl enable ntpd

date