Peppe Tech
Sorry I did not see you note until today. I hope this response is what you are looking for, here is what I used for my stratum 1 time servers.
I started with 2 raspberry pi CM4 units (which was before the shortage). These were attached to the CM4 IO board. This was to accommodate some intel pcie cards that supported PTP. I can’t remember the exact chip set but they were 1Gb cards. I can find this if necessary.
At the time the RPI-OS did not support PTP on its internal Ethernet chip. I believe is does now, so one may not need the intel chip set. I do know that I had to recompile the RPI-OS kernel for the intel cards to be recognized. ( As an aside, I have rebuilt the clocks a few times since my initial posting back in 2022, and I find the intel chip set keeps better time than the chip set on the CM4, which is why I have stuck with the intel based cards).
To these servers, I then attached the Uptronics RPI GPS RTC board. There are numerous instructions on the web as to how to set this up. I chose those boards as I could set them up over USB to talk to more satellites ( I believe the US, EU and the RU constellations are available).
So time server 1 was step up to be a master clock. Time server 2 was set up to be a boundary clock. The boundary clock picks up time from both the master clock and its own GPS based clock. This all uses the packages linuxptp and linuxphp. Looking through my notes, it looks like the timemaster package can be used to configure both ptp and php services. If memory serves, timemaster service was only enabled on the boundary clock as it did not seem to play well with the master clock.
In the DHCP server portion of IPFire, the primary time server is set to boundary clock (Time server 2). The secondary server is set to the master clock (Time Server 1). That way all dhcp clients pick up the correct time.
The firewall itself is directed to the boundary clock and the master clock via a modification to “/etc/ntp.conf” where the both internal time servers are added as: (this is the contents of ntp.conf)
disable monitor
restrict default nomodify noquery
restrict 127.0.0.1
server 127.127.1.0
fudge 127.127.1.0 stratum 10
peer 10.10.10.25 minpoll 0 maxpoll 1 prefer
peer 10.10.10.26 minpoll 0 maxpoll 1 prefer
driftfile /etc/ntp/drift
includefile /etc/ntp/ntpInclude.conf
NOTE: The contents of this file (/etc/ntp.conf) need to be backed up some where on the system as it can be overwritten at system update. That way it can easily be recovered.
In the implementation of ntp within IPFire, ntp is used in some sort of odd form, so these time servers will precede the ones specified GUI. But this over-ride also allows for more frequent polling, which you can now set to whatever you want and increase the accuracy of the local network clock.
Hope this helps you out.
PZ