Debian / Ubuntu Linux Install NTPD To Synchronism Clock With Internet Standard Time Servers

Q. How do I install and configure NTP ( Network Time Protocol ) daemon to keep my dedicated servers clock in sync?

A. ntpd is an operating system daemon which sets and maintains the system time-of-day in synchronism with Internet standard time servers. Ntpd is a complete implementation of the Network Time Protocol (NTP) version 4 but also retains compatibility with version 3.

Install ntp server

Type the following command:
# apt-get install ntp
Sample output:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
Suggested packages:
The following NEW packages will be installed:
  libcap1 ntp
0 upgraded, 2 newly installed, 0 to remove and 1 not upgraded.
Need to get 443kB of archives.
After this operation, 1126kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 lenny/main libcap1 1:1.10-14 [9082B]
Get:2 lenny/main ntp 1:4.2.4p4+dfsg-7 [434kB]
Fetched 443kB in 0s (480kB/s)
Selecting previously deselected package libcap1.
(Reading database ... 20411 files and directories currently installed.)
Unpacking libcap1 (from .../libcap1_1%3a1.10-14_i386.deb) ...
Selecting previously deselected package ntp.
Unpacking ntp (from .../ntp_1%3a4.2.4p4+dfsg-7_i386.deb) ...
Processing triggers for man-db ...
Setting up libcap1 (1:1.10-14) ...
Setting up ntp (1:4.2.4p4+dfsg-7) ...
Starting NTP server: ntpd.

Configure NTP server

/etc/ntp.conf is default configuration file. NTP uses UDP port 123 as its transport layer. It is designed particularly to resist the effects of variable latency by using a jitter buffer.
# vi /etc/ntp.conf
The default configuration will sync to various low-stratum NTP servers. You can set server as follows:

server iburst dynamic
server iburst dynamic
server iburst dynamic
server iburst dynamic

Once file updaed, restart ntp:
# /etc/init.d/ntp restart

ntpq – NTP query program

You can use ntpq to list the servers that you are currently polling:
$ ntpq
Sample output:

ntpq> peer
     remote           refid      st t when poll reach   delay   offset  jitter
*   .ACTS.           1 u  128   64  376   64.616   -8.079   0.863    2 u   19   64  377    9.105   -9.229   0.543
+hydrogen.cert.u  2 u   12   64  377   35.950   -7.184   0.438    3 u   50   64  377   33.782   -0.376   0.464

Alternatively, you can type the following to find out if ntp is working or not:
$ ntpq -p
Sample output:

     remote           refid      st t when poll reach   delay   offset  jitter
*   .ACTS.           1 u    3   64  373   64.616   -8.079   0.716    2 u   28   64  377    9.065   -9.429   0.628
+hydrogen.cert.u  2 u   19   64  377   35.950   -7.184   0.357    3 u   57   64  377   33.695   -0.893   0.645

Further readings:

Posted by: SXI ADMIN

The author is the creator of SXI LLC and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.