Issues with Chrony

Hi guys,

I currently use Chrony to provide NTP service, however I am having issues with this.

When the router reboots Chrony is able to sync with a NTP server like 0.openwrt.pool.ntp.org but after a short period of time, the time and date resets to another date and time other than what it should be at the present.

I do use AdguardHome as my main DNS resolver and acording to the OpenWRT wiki you have to spcifiy the NTP server domain to force it on a unencrypted DNS so that it is able to connect, which I have setup with both [/pool.ntp.org/]1.1.1.1 and
[/pool.ntp.org/]1.0.0.1 as an upstrem on AdguardHome.

when the above happens, what is the result of running:

chronyc tracking
host 0.openwrt.pool.ntp.org

This is what I get

Reference ID    : 00000000 ()
Stratum         : 0
Ref time (UTC)  : Thu Jan 01 00:00:00 1970
System time     : 0.000000000 seconds fast of NTP time
Last offset     : -0.000160267 seconds
RMS offset      : 0.000160267 seconds
Frequency       : 327.184 ppm fast
Residual freq   : +0.000 ppm
Skew            : 0.000 ppm
Root delay      : 1.000000000 seconds
Root dispersion : 1.000000000 seconds
Update interval : 3.8 seconds
Leap status     : Not synchronised

When I check the system log I get Thu Jan 1 00:00:10 2030 daemon.info chronyd[25083]: Can't synchronise: no selectable sources

so chrony cannot find a ntp server a this time, what is the result of

host 0.openwrt.pool.ntp.org

after running:

chronyc tracking

because if the host command not returns the ip addresses, the problem lies with your dns server not chrony

I get -ash: host: not found

I think I got it working, in the OpenWRT wiki it states that you need to add [/pool.ntp.org/]1.1.1.1 and
[/pool.ntp.org/]1.0.0.1 as an upstrem on AdguardHome.

However after changing them to [/.pool.ntp.org/]1.1.1.1 and
[/
.pool.ntp.org/]1.0.0.1 seems to have fixed the issue. By adding a *. Before the domain name.

so you need to install it

You can check if the isue is fixed, and the time is synchronyzed running chronyc tracking and the line "Leap status" will show "Normal"

Nice, whats the name of the package I need to install?

Yes leap status says normal at the moment. If I have spoken to soon I let you know.

is bind-host

There is also nslookup from busybox already in the base system.

But I think a DNS issue wouldn't explain the "no majority" message. Any chance the sysntpd service is running? Two NTP clients running at the same time could be interfering with each other.

Thanks

@mlichvar That is a good point, the one that is built into OpenWRT was still active and they were interfearing with each other.

Since disabling the inbuilt NTP in OpenWRT and updating the upsteam DNS by adding a star then fullstop defore the domain name it works. However when i tried to add all the spcific pools from 0 to 3 it still would not allow them for some reason.

However

if you run:

chronyc sources

that will show the status of each ntp server

If I resolve 0.openwrt.pool.ntp.org, I get the IP addresses of 4 NTP server. So it is enough to specify only one domain.

Specifying 0.openwrt.pool.ntp.org til 3.openwrt.pool.ntp.org will deliver at least 16 NTP servers. More servers do not give you more exact results.

In the past I've read somewhere (but I don't remember where), that too many NTP servers will confuse chrony.

1 Like

16 servers would not confuse chrony, you could use thousands of servers if you really wanted, but it's breaking the terms of use. The servers are run by volunteers and they don't like their resources to be wasted on bad configurations and implementations.

2 Likes

Thats a interesting point, I think for the original config, the inbuilt NTP client had spcifyed all 0 to 3 so I just copied that to Chrony so might as well change it to spcify only one.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.