Building a Stratum-1 NTP Server with a Raspberry Pi 3 or 4
Picture 1, Precision timepiece
Why do I need accurate and precise time on my network?
- Log file accuracy, auditing & monitoring
- Trouble shooting and recovery
- File time stamps
- Directory services
- Access security and authentication (i.e. Kerberos in AD)
- Distributed computing
- Transactions (not least financial)
There's also legal requirements to be aware of for many industries - far more than you might think - some requiring accurate timestamps on all logs. However the benefits of keeping accurate time alone is reason enough to do it.
NTP Server Hardware
A few Raspberry Pi's with cheap GPS boards and external antennas* should be within reach for most - even home networks. With internet access you could get away with one or two Pi's adding publicly available time servers to reach the sweet spot of 5-7 time sources. With no internet access 5 Pi's won't break the bank either, and you'd even have enough redundancy to swap the inevitable worn out sd-card and update them regularly.
* I Put the cheap indoor antennas inside outdoor electrical boxes like the one in picture 2, and mounted them outside with a clear view of the sky. They did work in the window sill, however with less satellites seen.
Picture 2, Electrical Box
A lot of different GPS Boards are available, including some complete hats that can be mounted directly on the 40 Pin GPIO on the Pi, however it's easy to connect a breakout board with 5 pieces of wire.
Chrony vs NTPD
PTP Hardware Clock: none
Hardware Transmit Timestamp Modes: none
Hardware Receive Filter Modes: none