====== 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. \\ \\ If you have installed the OS from a MediKind .ISO (as opposed to using the CentOS minimal .ISO) then you will have to do the following: 1. Create the CentOS-Base.repo in /etc/yum.repos.d 2. Ensure you have access to the internet 3. Ensure DNS is running (or you won't connect to any repos) You will still have to perform steps 2 and 3 if you used the CentOS Minimal install. \\ \\ ==== 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 Use the command line 'date' to check the time and date of each server, and check they are the same. Synchronization normally only takes up to 10 seconds. \\ # date Fri Oct 4 13:45:46 UTC 2019 \\ \\