[chrony-users] DNS RR and chrony

[ Thread Index | Date Index | More chrony.tuxfamily.org/chrony-users Archives ]

When using pools in the config, chrony is subject to some implementation "problems" with libc's getaddrinfo() on many platforms.  This breaks DNS round-robin as served by the DNS server.

There is a long standing "bug" in several libc implementations due to strict adherence to RFC 3484 Rule #9.  There were many long arguments about this in the 2007 era, with no resolution.

Thankfully RFC 6724 obsoletes 3484, but nobody's implemented it yet, and it's not likely to get backported to stable distributions like Debian.

The end result here is that getaddrinfo() always sorts the output of IPv4 results and chrony will pick the first N in that list.  For example I have a DNS record internally that has 8 servers, and I have chrony pick 4.  Every node has the same identical 4 node list instead of a random sampling of the 4.

It would be nice if chrony were have an option to shuffle the list before selecting.

Something like this:
pool pool.ntp.org iburst maxsources 4 shuffle

[0]: https://tools.ietf.org/html/rfc6724

- Ben Kochie

Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/