Use of ntpd in Centos8

302 views
Skip to first unread message

Derek Barnes

unread,
Jun 26, 2021, 12:45:39 AM6/26/21
to
I have recently built a server running Centos8 only to find that it doesnot support ntpd, only chronyd.
That would not be a problem except that chrony does not like my stratum 1 GPS receiver and the only possible reason that I can work out is the incorrect Precision figure reported. (see below)
Is there anyway that I can force ntpd onto Centos8 or anyway I can make chrony ignore this missing number?

cheers,
Derek.

Leap Indicator 0, NTP Version 1, Mode 4
Stratum Level 1 (Primary reference, e.g. radio clock)
Poll Interval 0 (1 seconds), Precision 0 (1000.00000 ms)
Root Delay 0.00 ms, Root Dispersion 0.00 ms
Reference Identifier GPS
Time server clock was last synchronized on Saturday, June 26, 2021 16:38:40

David Taylor

unread,
Jun 26, 2021, 2:20:31 AM6/26/21
to
On 26/06/2021 05:45, Derek Barnes wrote:
> I have recently built a server running Centos8 only to find that it doesnot support ntpd, only chronyd.
> That would not be a problem except that chrony does not like my stratum 1 GPS receiver and the only possible reason that I can work out is the incorrect Precision figure reported. (see below)
> Is there anyway that I can force ntpd onto Centos8 or anyway I can make chrony ignore this missing number?
>
> cheers,
> Derek.

Perhaps?

sudo apt-get remove chrony
sudo apt-get install ntp
--
Cheers,
David
Web: http://www.satsignal.eu

Derek Barnes

unread,
Jun 26, 2021, 2:58:09 AM6/26/21
to
==========================================
Thanks David.
sudo yum remove chrony gets rid of chrony and 62 dependencies but sudo install ntp fails. (Error: Unable to find a match: ntp)
I believe /assume that there is no ntp packages in the centos8 repositories. Can my installation be forced to use a different repository such as centos7 ??

Derek Barnes

unread,
Jun 26, 2021, 2:59:12 AM6/26/21
to
On Saturday, 26 June 2021 at 18:58:09 UTC+12, Derek Barnes wrote:
> On Saturday, 26 June 2021 at 18:20:31 UTC+12, David Taylor wrote:
> > On 26/06/2021 05:45, Derek Barnes wrote:
> > > I have recently built a server running Centos8 only to find that it doesnot support ntpd, only chronyd.
> > > That would not be a problem except that chrony does not like my stratum 1 GPS receiver and the only possible reason that I can work out is the incorrect Precision figure reported. (see below)
> > > Is there anyway that I can force ntpd onto Centos8 or anyway I can make chrony ignore this missing number?
> > >
> > > cheers,
> > > Derek.
> > Perhaps?
> >
> > sudo apt-get remove chrony
> > sudo apt-get install ntp
> > --
> > Cheers,
> > David
> > Web: http://www.satsignal.eu
> ==========================================
> Thanks David.
> sudo yum remove chrony gets rid of chrony and 62 dependencies but sudo yum install ntp fails. (Error: Unable to find a match: ntp)

Derek Barnes

unread,
Jun 26, 2021, 3:00:29 AM6/26/21
to
On Saturday, 26 June 2021 at 18:58:09 UTC+12, Derek Barnes wrote:
==============================================================
That should be sudo yum install ntp fails.
Same with the newer dnf command.

David Taylor

unread,
Jun 26, 2021, 3:52:12 AM6/26/21
to
On 26/06/2021 07:58, Derek Barnes wrote:
> Thanks David.
> sudo yum remove chrony gets rid of chrony and 62 dependencies but sudo install ntp fails. (Error: Unable to find a match: ntp)
> I believe /assume that there is no ntp packages in the centos8 repositories. Can my installation be forced to use a different repository such as centos7 ??

I don't know Centos8, but my immediate reaction is:

"If it doesn't support NTP, don't touch it".

OK, a bit extreme, but NTP works on all my other devices (Linux,
Raspberry Pi, Windows, and even some stand-alone devices).

One of my issues with Linux is that there are too many incompatible
versions!

chris

unread,
Jun 26, 2021, 7:03:14 AM6/26/21
to
Package name may be wrong. Suggest try ntpd ?...

William Unruh

unread,
Jun 26, 2021, 2:30:50 PM6/26/21
to
On 2021-06-26, Derek Barnes <deci...@gmail.com> wrote:
> I have recently built a server running Centos8 only to find that it doesnot support ntpd, only chronyd.

The server certainly does support ntpd-- all you need to do is download
ntpd from the Centos rpm repository.
Never mind that chrony is more accurate than ntpd and is faster to come
into sync with UTC.

> That would not be a problem except that chrony does not like my stratum 1 GPS receiver and the only possible reason that I can work out is the incorrect Precision figure reported. (see below)
> Is there anyway that I can force ntpd onto Centos8 or anyway I can make chrony ignore this missing number?
>
> cheers,
> Derek.
>
> Leap Indicator 0, NTP Version 1, Mode 4
> Stratum Level 1 (Primary reference, e.g. radio clock)
> Poll Interval 0 (1 seconds), Precision 0 (1000.00000 ms)
> Root Delay 0.00 ms, Root Dispersion 0.00 ms
> Reference Identifier GPS
> Time server clock was last synchronized on Saturday, June 26, 2021 16:38:40

It sounds to me like you have misconfigured the GPS. Post your
configuration (/etc/chrony.conf).

William Unruh

unread,
Jun 26, 2021, 2:42:28 PM6/26/21
to
On 2021-06-26, David Taylor <david-...@blueyonder.co.uk.invalid> wrote:
> On 26/06/2021 07:58, Derek Barnes wrote:
>> Thanks David.
>> sudo yum remove chrony gets rid of chrony and 62 dependencies but sudo install ntp fails. (Error: Unable to find a match: ntp)
>> I believe /assume that there is no ntp packages in the centos8 repositories. Can my installation be forced to use a different repository such as centos7 ??
>
> I don't know Centos8, but my immediate reaction is:
>
> "If it doesn't support NTP, don't touch it".
>
> OK, a bit extreme, but NTP works on all my other devices (Linux,
> Raspberry Pi, Windows, and even some stand-alone devices).

And chrony works on my devices. This is not a chrony vs ntpd problem.
This a configuration problem, and and installation of ntp.

I just googled, and
"In RHEL Linux 8, the ntp package is no longer supported and it is
implemented by the chronyd (a daemon that runs in user-space) which
is... "

https://www.tecmint.com/install-ntp-in-rhel-8
contains instructions as to how to configure chrony.

But you can always download ntpd from say the 7 repository and install
it.

http://rpmfind.net/linux/RPM/centos/7.9.2009/x86_64/Packages/ntp-4.2.6p5-29.el7.centos.2.x86_64.html

Download it, and then do (as root)
rpm -Uhv ntp-4.2.6p5-29.el7.centos.2.src.rpm
(assuming you have downloaded it into the directory you are now in)

Miroslav Lichvar

unread,
Jun 28, 2021, 8:33:35 AM6/28/21
to
On 2021-06-26, Derek Barnes <deci...@gmail.com> wrote:
> Is there anyway that I can force ntpd onto Centos8 or anyway I can
> make chrony ignore this missing number?

There is no official package of ntp for RHEL8/CentOS8. You would need to
build your own.

What software/hardware is the NTP server?

> Leap Indicator 0, NTP Version 1, Mode 4
> Stratum Level 1 (Primary reference, e.g. radio clock)
> Poll Interval 0 (1 seconds), Precision 0 (1000.00000 ms)
> Root Delay 0.00 ms, Root Dispersion 0.00 ms
> Reference Identifier GPS
> Time server clock was last synchronized on Saturday, June 26, 2021 16:38:40

The version and precision are odd, but I think they should be accepted
by chrony. Could you post a tcpdump output showing all fields from the
response and the packet length?

--
Miroslav Lichvar

Derek Barnes

unread,
Jun 29, 2021, 2:21:01 AM6/29/21
to
On Tuesday, 29 June 2021 at 00:33:35 UTC+12, Miroslav Lichvar wrote:

> What software/hardware is the NTP server?
>
The Stratum 1 receiver is a propriety unit called a Plato 200
There is no access to the command line.
> The version and precision are odd, but I think they should be accepted
> by chrony. Could you post a tcpdump output showing all fields from the
> response and the packet length?
> --
> Miroslav Lichvar
=========================================
First - here is a dump of a MX linux box requesting time from a Raspberry Pi running Debian.(stratum 2)

16:48:39.213213 IP (tos 0x0, ttl 64, id 52515, offset 0, flags [DF], proto UDP (17), length 76)
mx.fritz.box.44231 > DebianNTP.fritz.box.ntp: [bad udp cksum 0xe623 -> 0x2418!] NTPv4, length 48
Client, Leap indicator: clock unsynchronized (192), Stratum 0 (unspecified), poll 3 (8s), precision -6
Root Delay: 1.000000, Root dispersion: 1.000000, Reference-ID: (unspec)
Reference Timestamp: 0.000000000
Originator Timestamp: 0.000000000
Receive Timestamp: 0.000000000
Transmit Timestamp: 3833930919.213197800 (2021/06/29 16:48:39)
Originator - Receive Timestamp: 0.000000000
Originator - Transmit Timestamp: 3833930919.213197800 (2021/06/29 16:48:39)
16:48:39.214748 IP (tos 0xb8, ttl 63, id 64399, offset 0, flags [DF], proto UDP (17), length 76)
DebianNTP.fritz.box.ntp > mx.fritz.box.44231: [udp sum ok] NTPv4, length 48
Server, Leap indicator: (0), Stratum 2 (secondary reference), poll 3 (8s), precision -18
Root Delay: 0.002136, Root dispersion: 0.024444, Reference-ID: 215.96.124.202.static.snap.net.nz
Reference Timestamp: 3833929920.970956835 (2021/06/29 16:32:00)
Originator Timestamp: 3833930919.213197800 (2021/06/29 16:48:39)
Receive Timestamp: 3833930919.213171659 (2021/06/29 16:48:39)
Transmit Timestamp: 3833930919.213520038 (2021/06/29 16:48:39)
Originator - Receive Timestamp: -0.000026140
Originator - Transmit Timestamp: +0.000322238

Second - here is a dump of a MX linux box requesting time from the Plato 200 (stratum 1)

16:45:31.156825 IP (tos 0x0, ttl 64, id 10193, offset 0, flags [DF], proto UDP (17), length 76)
mx.fritz.box.34431 > Plato200.fritz.box.ntp: [bad udp cksum 0xe68f -> 0xc75f!] NTPv4, length 48
Client, Leap indicator: clock unsynchronized (192), Stratum 0 (unspecified), poll 3 (8s), precision -6
Root Delay: 1.000000, Root dispersion: 1.000000, Reference-ID: (unspec)
Reference Timestamp: 0.000000000
Originator Timestamp: 0.000000000
Receive Timestamp: 0.000000000
Transmit Timestamp: 3833930731.156810003 (2021/06/29 16:45:31)
Originator - Receive Timestamp: 0.000000000
Originator - Transmit Timestamp: 3833930731.156810003 (2021/06/29 16:45:31)
16:45:31.159830 IP (tos 0x0, ttl 63, id 15716, offset 0, flags [none], proto UDP (17), length 76)
Plato200.fritz.box.ntp > mx.fritz.box.34431: [udp sum ok] NTPv4, length 48
Server, Leap indicator: (0), Stratum 1 (primary reference), poll 3 (8s), precision -6
Root Delay: 0.000000, Root dispersion: 0.000000, Reference-ID: GPS^@
Reference Timestamp: 3833930731.156722446 (2021/06/29 16:45:31)
Originator Timestamp: 3833930731.156810003 (2021/06/29 16:45:31)
Receive Timestamp: 3833930731.156722446 (2021/06/29 16:45:31)
Transmit Timestamp: 3833930731.158818295 (2021/06/29 16:45:31)
Originator - Receive Timestamp: -0.000087556
Originator - Transmit Timestamp: +0.002008292

Both of the above are ntpd, not chrony

David Woolley

unread,
Jun 29, 2021, 5:48:20 AM6/29/21
to
On 29/06/2021 07:21, Derek Barnes wrote:
> Server, Leap indicator: (0), Stratum 1 (primary reference), poll 3 (8s), precision -6
> Root Delay: 0.000000, Root dispersion: 0.000000, Reference-ID: GPS^@

That isn't reporting a precision of 1 second, but it is reporting an
impossibly good root dispersion. As I recall it, root dispersion cannot
be better than the precision, which, in our case, appears to be about 16ms.

Miroslav Lichvar

unread,
Jun 29, 2021, 11:51:14 AM6/29/21
to
On 2021-06-29, Derek Barnes <carterto...@gmail.com> wrote:
> Second - here is a dump of a MX linux box requesting time from the Plato 200 (stratum 1)

The output shows that the reponse has a precision of -6, same as the
request. Previously you said it was 0. I suspect it copies the value
from the request. That is not how it is supposed to work.

chrony as a client sets the value to 32 to indicate the timestamps are
fully randomized. If the response has 32 too, it won't be accepted.

As a workaround, you can try specifying the server as a peer in the
chrony config instead of server.

--
Miroslav Lichvar

David Woolley

unread,
Jun 29, 2021, 7:46:50 PM6/29/21
to
On 29/06/2021 10:48, David Woolley wrote:
> As I recall it, root dispersion cannot be better than the precision,
> which, in our case, appears to be about 16ms.


Looks like this part isn't true. 0 is OK for stratum1.

Derek Barnes

unread,
Jun 29, 2021, 10:44:52 PM6/29/21
to
==================================
Thank you Miroslav, this has worked perfectly, my chrony client is now accepting the GPS unit correctly and is synching off it.
cheers,
Derek.

Derek Barnes

unread,
Jul 4, 2021, 1:09:56 AM7/4/21
to
On Wednesday, 30 June 2021 at 14:44:52 UTC+12, Derek Barnes wrote:
> On Wednesday, 30 June 2021 at 03:51:14 UTC+12, Miroslav Lichvar wrote:
> > On 2021-06-29, Derek Barnes <c**o...@gmail.com> wrote:
> > > Second - here is a dump of a MX linux box requesting time from the Plato 200 (stratum 1)
> > The output shows that the reponse has a precision of -6, same as the
> > request. Previously you said it was 0. I suspect it copies the value
> > from the request. That is not how it is supposed to work.
> >
> > chrony as a client sets the value to 32 to indicate the timestamps are
> > fully randomized. If the response has 32 too, it won't be accepted.
> >
> > As a workaround, you can try specifying the server as a peer in the
> > chrony config instead of server.
> >
> > --
> > Miroslav Lichvar
> ==================================
> Thank you Miroslav, this has worked perfectly, my chrony client is now accepting the GPS unit correctly and is synching off it.
> cheers,
> Derek.
========================================
I notice that since the change suggested by Miroslav, all servers other than my GPS receiver are marked with a " - "
Is this normal??
[dirk@b***b ~]$ chronyc sources
210 Number of sources = 7
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^- DebianNTP.fritz.box 2 8 377 205 -265us[ -267us] +/- 23ms
^- 60.220.47.163.ip.2degree> 2 10 177 136 -1276us[-1276us] +/- 49ms
=* Plato200.fritz.box 1 8 373 180 -3804ns[-5925ns] +/- 111us
^- 101-100-146-146.myrepubl> 2 10 377 291 -402us[ -404us] +/- 54ms
^- dts.net.nz 2 9 377 262 -1563us[-1565us] +/- 34ms
^- ns2.att.wlg.telesmart.co> 2 10 377 113 -6196us[-6196us] +/- 16ms
^- msltime.irl.cri.nz 1 10 377 643 -513us[ -512us] +/- 2262us
[dirk@ba**mob ~]$

William Unruh

unread,
Jul 4, 2021, 3:53:22 AM7/4/21
to
man chronyc
...
sources [-v]
This command displays information about the current time sources that chronyd is accessing.

The optional argument -v can be specified, meaning verbose. In this case, extra caption lines are shown as a reminder of the meanings of the columns.

210 Number of sources = 3
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
#* GPS0 0 4 377 11 -479ns[ -621ns] +/- 134ns
^? foo.example.net 2 6 377 23 -923us[ -924us] +/- 43ms
^+ bar.example.net 1 6 377 21 -2629us[-2619us] +/- 86ms
The columns are as follows:

M
This indicates the mode of the source. ^ means a server, = means a peer and # indicates a locally connected reference clock.

S
This column indicates the state of the source.

* indicates the source to which chronyd is currently synchronised.

+ indicates acceptable sources which are combined with the selected source.

- indicates acceptable sources which are excluded by the combining algorithm.

? indicates sources to which connectivity has been lost or whose packets do not pass all tests. It is also shown at start-up, until at least 3 samples have been gathered from it.

x indicates a clock which chronyd thinks is a falseticker (i.e. its time is inconsistent with a majority of other sources).

~ indicates a source whose time appears to have too much variability.

---------------------------------

So yes. Plato is by far the most accurate source, and is
stratum 1. It will be the source that chrony chooses for its time
reference. Note that the other two sources have a +/- 100 times or more
larger than the GPS source. Why would chrony want to use them?


Reply all
Reply to author
Forward
0 new messages