I have set Chrony to sync with 4 NTP servers (config file below). When I run chronyc tracking and chronyc sources, it looks like the servers my machine is connecting to for NTP are not correct. I'd expect to see the list of servers I specify in the chronyd.conf file when I ask what server is being tracked and which sources it's using.


$ chronyc tracking
Reference ID    : (
Stratum         : 3
Ref time (UTC)  : Thu Feb 18 19:05:11 2016
System time     : 0.000564536 seconds fast of NTP time
Last offset     : +0.000280794 seconds
RMS offset      : 0.000322653 seconds
Frequency       : 19.616 ppm fast
Residual freq   : +0.003 ppm
Skew            : 0.053 ppm
Root delay      : 0.039604 seconds
Root dispersion : 0.000406 seconds
Update interval : 1042.6 seconds
Leap status     : Normal


$ chronyc sources
210 Number of sources = 4
MS Name/IP address         Stratum Poll Reach LastRx Last sample
^+ ntp.newfxlabs.com             2  10   377   754   -415us[ -143us] +/-   31ms
^*               2  10   377   221  +1823us[+2104us] +/-   21ms
^- nox.prolixium.com             2  10   273    22  +4137us[+4137us] +/-   93ms
^- triangle.kansas.net           2  10   376   34m  -2860us[-2291us] +/-  103ms

Config file (all defaults except for the server portion at the top):

$ cat /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.rhel.pool.ntp.org iburst
##server 1.rhel.pool.ntp.org iburst
##server 2.rhel.pool.ntp.org iburst
##server 3.rhel.pool.ntp.org iburst
server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org

# Ignore stratum in source selection.
stratumweight 0

# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift

# Enable kernel RTC synchronization.

# In first three updates step the system clock instead of slew
# if the adjustment is larger than 10 seconds.
makestep 10 3

# Allow NTP client access from local network.
#allow 192.168/16

# Listen for commands only on localhost.
bindcmdaddress ::1

# Serve time even if not synchronized to any NTP server.
#local stratum 10

keyfile /etc/chrony.keys

# Specify the key used as password for chronyc.
commandkey 1

# Generate command key if missing.

# Disable logging of client accesses.

# Send a message to syslog if a clock adjustment is larger than 0.5 seconds.
logchange 0.5

logdir /var/log/chrony
#log measurements statistics tracking


$ timedatectl
      Local time: Thu 2016-02-18 14:13:33 EST
  Universal time: Thu 2016-02-18 19:13:33 UTC
        RTC time: Thu 2016-02-18 19:13:33
       Time zone: America/New_York (EST, -0500)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: no
 Last DST change: DST ended at
                  Sun 2015-11-01 01:59:59 EDT
                  Sun 2015-11-01 01:00:00 EST
 Next DST change: DST begins (the clock jumps one hour forward) at
                  Sun 2016-03-13 01:59:59 EST
                  Sun 2016-03-13 03:00:00 EDT
  • 1
    You are aware that those are pools that round-robin to hundreds of NTP servers, right? – Michael Hampton Feb 18 '16 at 19:21
  • My question should indicate that, no, I wasn't aware of that. Answer the question if you'd like credit. – Chris Williams Feb 18 '16 at 19:40

The servers you've specified:

server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org

are, as the names suggest, pools. When you look up one of these names, you may get any of hundreds of public NTP servers in the US, (and thousands worldwide if you chose some other countries) which are part of the pool. These are delivered via round-robin DNS.

When you view chronyc sources, you see the actual servers in the pool which were used.


Maybe you are pinging the pool by its name, and thinking that the IP address you see in the response is the same IP address you should see in the response from the sources command.

Ping the pool again after a few minutes and you will see a different IP address, because it is a pool.

Do not worry, it should work, only that it takes some time to sync.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.