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

Posted on in Categories , , , last updated August 30, 2008

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:
  libcap1
Suggested packages:
  ntp-doc
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 http://ftp.us.debian.org lenny/main libcap1 1:1.10-14 [9082B]
Get:2 http://ftp.us.debian.org 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 0.debian.pool.ntp.org iburst dynamic
server 1.debian.pool.ntp.org iburst dynamic
server 2.debian.pool.ntp.org iburst dynamic
server 3.debian.pool.ntp.org 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
==============================================================================
*time.nist.gov   .ACTS.           1 u  128   64  376   64.616   -8.079   0.863
+iguana.igtc.com 198.60.22.240    2 u   19   64  377    9.105   -9.229   0.543
+hydrogen.cert.u 216.218.254.202  2 u   12   64  377   35.950   -7.184   0.438
-snag.rack911.co 66.90.104.142    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
==============================================================================
*time.nist.gov   .ACTS.           1 u    3   64  373   64.616   -8.079   0.716
+iguana.igtc.com 198.60.22.240    2 u   28   64  377    9.065   -9.429   0.628
+hydrogen.cert.u 216.218.254.202  2 u   19   64  377   35.950   -7.184   0.357
-snag.rack911.co 66.90.104.142    3 u   57   64  377   33.695   -0.893   0.645

Further readings:

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

Share this on (or read 7 comments/add one below):

7 comment

  1. Hi, I have updated the ntp.conf as per the steps here and my NTP server is running in a Windows 2008 machine. The output of ntpq pe is
    remote refid st t when poll reach delay offset jitter
    ==============================================================================
    10.4.13.40 .LOCL. 1 u 15 16 377 0.713 2613780 10.556

    I had changed the date in my Linux machine to check if NTP is working or not. My Linux machine is not synching up with my NTP server, even after the .conf file is edited. Can you please help?

  2. If you have issues with these commands, you may need to open port 123 for UDP on your system’s firewall, or on your upstream firewall. (a few turn it off by default – security first!)

Leave a Comment