I think there is a fundamental misunderstanding here of how NTP actually works.
The actual NTP protocol and how NTP servers work are both time-zone agnostic. That is, the NTP servers - all of them - speak only UTC. It's the system that queries the NTP servers that handles the timezone offset and such.
Here's the example case - my laptop.
Here's some info for this case: My computer only has Ubuntu 22.04 installed on it, and Ubuntu installs by default assume the RTC (Real Time Clock) in the computer / system / BIOS is set to UTC. As such, the system itself is configured with timesyncd
here to sync with Ubuntu's timeservers (NTP pool) and my local Stratum 1 NTP server (basically, an NTP server that is connected to time sync via GPS timepulse syncing; this server's local timezone is the same as mine, America/New_York, but that's only for the system locale, RTC and such are using UTC because that's how Ubuntu defaults to).
What my system does is it queries the NTP server for the current time and says what my current time is (in UTC), and is returned the current time AND offset in UTC from my current RTC clock.
My system (or in this case, timesyncd
) will then take this offset and compare it against the system RTC time and adjust the system RTC based on the offset detected from the NTP query.
It is therefore not possible to set an NTP server if it's compliant with NTP spec to respond based off of timezone rules - those are controlled by the end point system and its locales, and the NTP server and how it behaves are completely oblivious to timezone offsets - in Ubuntu the timezone data for daylight savings time, etc. are all stored in tzdata
and other system utilities, so you really need to be updating your endpoint machines on how to handle timezone offsetting and DST autoconfig - that's not an NTP server side function, that's a client-side function.
(Note that this is why I can query a time server in Japan from the United States and get my local timezone displayed still locally on my system, or querying a US server from Europe and get the proper system time - NTP itself doesn't care about the timezone offset it only speaks UTC. And NTP servers in general are fed from the stratum layout of servers - Stratum 0 aka general worldwide time are powered by atomic clocks; Stratum 1 are pulling from GPS, etc. sources which are synced from Stratum 0 data sources; Stratum 2 servers feed from Stratum 1 servers; Stratum 3 feed from stratum 2, etc.)