Hello,

I think this bug could be tagged "won't fix" because it is a policy decision upstream.

Ntpd works by collecting statistics of the NTP servers it tries to synchronize to. It needs these statistics to decide which server is the most reliable and it won't synchronize to anything until it knows it can trust that time source. If the IP address of an upstream server changes, it would have to start from scratch, because those statistics won't be relevant anymore for another NTP server.

The typical time span of statistics contained for an upstream NTP server is 8*1024 seconds (about 2h15min). The typical TTL for a DNS record for an NTP server is 3600 (1h). Hence, ntpd could never fully trust any of its upstreams.

Also, the default ntp.conf ships with a huge round robin DNS name from pool.ntp.org, which means that every time ntpd would try to re-resolve that name it would get a different address and it would start collecting the statistics from scratch.

WORKAROUND:

If you want to synchronize time in an environment where you want to re-resolve the DNS for an upstream NTP server all the time, you should be running ntpdate from cron. Ntpd was not designed to be used that way. Or you could switch to OpenNtpd, which does work that way for some bizarre reason.

Yours,

--
        Aleksi Suhonen

        () ascii ribbon campaign
        /\ support plain text e-mail

Reply via email to