- ntpd - powerfull Network Time Protocol Daemon. Full implementation of NTP protocol
- systemd-timesyncd - it is lightweight daemon for synchronizing the system clock. This client implements an SNTP. if we have ntpd daemon we can use ntpdc - utility program used to monitor NTP daemo (now it's deprecated and we use ntpq). If we have systemd-timesyncd we can use timedatectl - it has very beautiful configurations and controls the system time/date very well.
- chrony is also full implementation of NTP. it has really great performance because It quickly detects sudden time changes like ntpd.
- OpenNTPD - It's part of the Open BSD project that also implements NTP protocol.
There are another implementations too but know let's talk for about ntpd and timedatectl.
How to Configure ntpd
- Install and enable ntpd for CentOS:
yum install ntpd systemctl enable ntpd firewall-cmd --add-service=ntp --permanent
- Install and enable ntpd for Debian:
apt-get install ntpd apt-get install ntpdate
- Add pools in /etc/ntp.conf server configuration
server 0.[YOUR_POOLl] server 1.[YOUR_POOLl]
- Add local clock in /etc/ntp.conf server configuration. For example, we can add local clock as a stratum 10 server or we can set up to stratum 15 - so that it will never be used unless internet access is lost.
server 127.127.1.0 fudge 127.127.1.0 stratum 10
- Add pool adress in /etc/ntp.conf client configuration
server X.X.X.X
- Force update time, we can create crontab too (optional)
ntpdate -u X.X.X.X
- Start ntpd service for CentOS:
systemctl start ntpd
- Start ntpd service for Debian:
service ntp start or systemctl start ntp
Let's check if everything works well and print all the peers of the servers
[vq@centos etc]# ntpq -p remote refid st t when poll reach delay offset jitter =========================================================== *LOCAL(0) .LOCL. 10 l 40 64 17 0.000 0.000 0.000
How to Configure timesyncd
Because of we have installed ntpd we can't use systemd-timesyncd. Even if you try to use systemd-timesyncd service you will have the follolwing error:
vq@debian:/var/log# systemctl status
systemd-timesyncd.service ● systemd-timesyncd.service - Network Time Synchronization Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/systemd-timesyncd.service.d └─disable-with-time-daemon.conf Active: inactive (dead) Condition: start condition failed at Fri 2018-07-27 13:31:23 +04; 35s ago └─ ConditionFileIsExecutable= !/usr/sbin/ntpd was not met Docs: man:systemd-timesyncd.service(8)
So we should remove ntpd if we want to use timesyncd and timedatectl. You can find timesyncd configuration to the following URL:
/etc/systemd/timesyncd.conf
[Time] NTP= ${URLS} FallbackNTP=${URLS} #RootDistanceMaxSec=5 #PollIntervalMinSec=32 #PollIntervalMaxSec=2048
- check if NTP synchronization is enabled
vq@debian:/etc# timedatectl Local time: Fri 2018-07-27 13:27:36 +04 Universal time: Fri 2018-07-27 09:27:36 UTC RTC time: Fri 2018-07-27 09:46:02 Time zone: Asia/Tbilisi (+04, +0400) Network time on: YES NTP synchronized: YES RTC in local TZ: YES