Debugging NTP Server Installations
Sunday, 07.01.2007, 12:50pm (GMT)
Network Time Protocol (NTP) is a standard protocol for the transfer of
time across the Internet and computer networks. The NTP protocol source
code is ‘open source' and can be freely downloaded from the NTP web
site. The NTP primary development platform is LINUX but ports to
Windows are also available.
This article describes how to debug a NTP server installation after compilation and configuration of the distribution.
NTP Server Debugging
Once the NTP distribution is installed and configured, correct
operation needs to be verified. NTP includes a number of tools that can
be used to query and debug a NTP server. The most widely used tool is
‘ntpq' – the standard NTP query utility. The ‘ntpq' utility can be run
on the NTP Server installation or from any other computer on the
network. The utility can be used to inspect NTP Server system variables
to verify correct operation.
Using ‘ntpq' – The NTP Query Utility
The ‘ntpq' utility is run from a Linux command prompt. It can be run
with a number of command line options. The most useful parameter is the
‘-p' option which display NTP server peer variables. Run the ntpq
utility with the –p option, thus:
>ntpq –p 192.168.0.1 # where 192.168.0.1 is the IP address of the NTP server.
If the ntpq utility is run on the NTP server, the IP address may be
omitted. Output similar to the information below may be generated.
remote refid st t when poll reach delay offset jitter
=============================================================
*127.127.0.32 .GPS. 1 u 18 64 377 0.000 0.412 0.015
+127.127.0.7 .MSF. 1 u 18 64 377 1.622 0.546 1.125
This first character on the left margin indicates the synchronisation
status of each reference peer in the list. The currently selected
reference peer is indicated by an asterisk (‘*'). Additional peers
marked with a ‘+' are also used in the computation, while peers marked
with any other symbol are not used.
The ‘remote' address corresponds to the server or peer entries in the
NTP server configuration file. The ‘refid' field indicates the time
source utilised by the server. The ‘st' field indicates the stratum,
‘t' indicates type; unicast, multicast or local. The ‘when' field
indicates the time since the reference was last contacted. The ‘poll'
field indicates the polling frequency of the reference. The ‘delay'
field provides the round-trip delay when contacting the reference. The
‘offset' field is the difference between the reference time and the
server time. The ‘jitter' field indicates the dispersion of time stamps
received from the reference.
In the event of problems synchronising to a reference peer, a
four-character status string is entered in the ‘refid' field. The
status fields may consist of one of:
ACST - The association belongs to a anycast server.
AUTH - Server authentication failed.
AUTO - Autokey sequence failed.
BCST - The association belongs to a broadcast server.
CRYP - Cryptographic authentication or identification failed. The
details should be in the system log file or the cryptostats statistics
file, if configured. No further messages will be sent to the server.
DENY - Access denied by remote server. No further messages will be sent to the server.
DROP - Lost peer in symmetric mode. Please wait while the association is restarted.
RSTR - Access denied due to local policy. No further messages will be sent to the server.
INIT - The association has not yet synchronized for the first time.
MCST - The association belongs to a manycast server.
NKEY - No key found. Either the key was never installed or is not trusted.
RATE - Rate exceeded. The server has temporarily denied access because the client exceeded the rate threshold.
RMOT - Somebody is tinkering with the association from a remote host
running ntpdc. Not to worry unless some rascal has stolen your keys.
STEP - A step change in system time has occurred, but the association has not yet resynchronized.
|