Install ntpd
Installation instructions for Ubuntu 16.04 and 18.04 LTS
apt update && apt upgrade && apt -y install ntp ntpstat apt-get purge ntpdate
vi /etc/default/ntp
NTPD_OPTS='-g'
The -g
option enables ntpd
to ignore the offset limit of 1000s and attempt to synchronize the time even if the offset is larger than 1000s, but only on system start.
configure local timeserver
vi /etc/ntp.conf
# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help driftfile /var/lib/ntp/ntp.drift # Leap seconds definition provided by tzdata leapfile /usr/share/zoneinfo/leap-seconds.list # Enable this if you want statistics to be logged. statsdir /var/log/ntpstats/ statistics loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegen clockstats file clockstats type day enable interface ignore wildcard interface listen 192.168.0.18 # Specify one or more NTP servers. # Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board # on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for # more information. #pool 0.ubuntu.pool.ntp.org iburst #pool 1.ubuntu.pool.ntp.org iburst #pool 2.ubuntu.pool.ntp.org iburst #pool 3.ubuntu.pool.ntp.org iburst server ts1.univie.ac.at iburst server ts2.univie.ac.at iburst # Use Ubuntu's ntp server as a fallback. #pool ntp.ubuntu.com # Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for # details. The web page <http://support.ntp.org/bin/view/Support/AccessRestrictions> # might also be helpful. # # Note that "restrict" applies to both servers and clients, so a configuration # that might be intended to block requests from certain clients could also end # up blocking replies from your own upstream servers. # By default, exchange time with everybody, but don't allow configuration. restrict -4 default kod notrap nomodify nopeer noquery limited restrict -6 default kod notrap nomodify nopeer noquery limited restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap nopeer # Unrestriced access from specific host restrict 192.168.0.2 restrict 192.168.0.3 # Local users may interrogate the ntp server more closely. restrict 127.0.0.1 restrict -6 ::1 # Needed for adding pool entries restrict source notrap nomodify noquery # Clients from this (example!) subnet have unlimited access, but only if # cryptographically authenticated. #restrict 192.168.123.0 mask 255.255.255.0 notrust # If you want to provide time to your local subnet, change the next line. # (Again, the address is an example only.) #broadcast 192.168.123.255 # If you want to listen to time broadcasts on your local subnet, de-comment the # next lines. Please do this only if you trust everybody on the network! #disable auth #broadcastclient #Changes recquired to use pps synchonisation as explained in documentation: #http://www.ntp.org/ntpfaq/NTP-s-config-adv.htm#AEN3918 #server 127.127.8.1 mode 135 prefer # Meinberg GPS167 with PPS #fudge 127.127.8.1 time1 0.0042 # relative to PPS for my hardware #server 127.127.22.1 # ATOM(PPS) #fudge 127.127.22.1 flag3 1 # enable PPS API
restart ntpd
service ntp restart
tail -f /var/log/syslog | grep ntpd
netstat -tulpa | grep ntp
Open Port 123 UDP
ufw allow 123/udp
Forward port 123/UDP to timeserver!
adjust time
sntp -s ts1.univie.ac.at
If the file /var/db/ntp-kod
does not exist it need to be created:
mkdir -p /var/db && touch /var/db/ntp-kod && chown ntp:ntp /var/db/ntp-kod
otherwise you’ll get the error message
kod_init_kod_db(): Cannot open KoD db file /var/db/ntp-kod: No such file or directory
KoD means Kiss of Death.
Enable network time synchronization
timedatectl set-ntp true
timedatectl
Local time: Wed 2018-08-22 01:04:48 CEST Universal time: Tue 2018-08-21 23:04:48 UTC RTC time: n/a Time zone: Europe/Vienna (CEST, +0200) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: yes Last DST change: DST began at Sun 2018-03-25 01:59:59 CET Sun 2018-03-25 03:00:00 CEST Next DST change: DST ends (the clock jumps one hour backwards) at Sun 2018-10-28 02:59:59 CEST Sun 2018-10-28 02:00:00 CET
ntp Status
ntpq -p
ntpstat