ntp.linuxfabrik.ch: public NTP server in the NTP Pool

linux news

ntp.linuxfabrik.ch is a public NTP server and part of the NTP Pool. Anyone may use it, directly or through ch.pool.ntp.org and europe.pool.ntp.org.

Our own public NTP server - why?

Actually, we only wanted to bring the NTP checks of the Linuxfabrik Monitoring Plugins up to the state of the art once again. They always worked, but there was room for more. ntp-offset was added, which measures the clock against any NTP server, independently of the local time service.

While testing our plugins, we tripped over our own NTP configuration. LFOps, and with it many of our customer environments, had been given ntp.metas.ch as the time source. METAS, the Swiss Federal Institute of Metrology, operates three public stratum 1 servers (ntp11, ntp12 and ntp13.metas.ch) and offers the service free of charge. chronyd polls several servers, compares their answers and steers the clock by the ones that agree - servers that are out of line get discarded. That takes at least three independent sources, as the chrony FAQ recommends. ntp.metas.ch, however, is only an alias for one of these three servers. A host with this single source has nothing to compare against: if the source goes wrong, chronyd follows it without objection.

The obvious alternative, pool.ntp.org, is ruled out as a default. The NTP Pool tells vendors who put a time server into their default configuration not to use the general pool names under any circumstances (NTP Pool: Information for vendors). Instead, a vendor gets its own zone with names like 0.vendor.pool.ntp.org, which lets the pool control the load.

If you use the pool, you should support it as well. That is why we contribute a server of our own with ntp.linuxfabrik.ch, in the Swiss and the European zone.

Where the time comes from

A server in the NTP Pool must not use the pool as its own source. ntp.linuxfabrik.ch therefore synchronizes to seven fixed stratum 1 servers from four operators:

  • METAS, Swiss Federal Institute of Metrology: ntp11.metas.ch, ntp12.metas.ch, ntp13.metas.ch
  • SWITCH: ntp.switch.ch
  • PTB, Physikalisch-Technische Bundesanstalt (Germany): ptbtime1.ptb.de, ptbtime2.ptb.de
  • BEV, Bundesamt für Eich- und Vermessungswesen (Austria): bevtime1.metrologie.at

No operator holds half of the sources. If one delivers a wrong time, the others outvote it, even if all three METAS servers are off at the same time.

How to use it

The easiest way is the pool. The distributions configure it out of the box, Rocky Linux for example with pool 2.rocky.pool.ntp.org iburst, Debian with pool 2.debian.pool.ntp.org iburst. If you leave that as it is, you are well served. If you configure a pool yourself, 2.pool.ntp.org is the best choice. The pool then picks servers nearby, and the 2. prefix returns IPv6 addresses as well. In /etc/chrony.conf:

pool 2.pool.ntp.org iburst

chronyd takes four servers from the pool and compares them with each other. ntp.linuxfabrik.ch may be among them by chance.

If you want to use ntp.linuxfabrik.ch directly, add it in addition to the pool, never as the only source:

pool 2.pool.ntp.org iburst
server ntp.linuxfabrik.ch iburst

Test without touching the running configuration:

$ chronyd -Q -t 10 'server ntp.linuxfabrik.ch iburst'

System clock wrong by ... means the server is reachable, Timeout reached means UDP 123 is blocked.

We help you

Need help with time synchronization or chrony? Have a look at our Service & Support plans and get in touch.

Previous Post

DE · EN