Purpose of high stratum values for the local clock (fudge option)
In the NTP configuration, what is the purpose of specifying high stratum values for the local clock?
fudge 127.127.1.0 stratum 10
Correct me if I’m wrong: the server will rely anyway on the internal clock if remote NTP servers (which have low stratum e.g. 2 or 3) are unreachable. Otherwise, it will sync time with these NTP servers.
Therefore, is the above config line unnecessary, and setting a local clock stratum makes sense only if that stratum value is lower than some of the remote NTP servers stratum?
A high stratum means a lower priority clock. NTP clients often have an odd number of servers, but more than one, and the reason for using a high stratum for a local clock is to advise clients that this clock should be less trusted than other clocks synchronised to a better source.
You also asked whether this was the default, even without the
fudge 127.127.1.0 stratum 10 configuration statement.
By default the
ntpd implementation of an NTP server won’t synchronise to a local clock at all, so it won’t serve time. (I’m not as familiar with other NTP implementations, so I can’t comment on those.) Adding the
fudge 127.127.1.0 stratum 10 line allows it to consider continuing to serve time from the local clock (at the really low priority stratum 10) when all other sources have failed. This is generally a better scenario for a time-sensitive environment (e.g. one using Kerberos or other time-based authentication) than letting all the end client systems freewheel without synchronisation.