The NTP server is using outdated IPv6 addresses when synchronising, instead of the addresses being returned by Pi-hole.
From the pihole log:
Oct 29 20:55:56 query[A] 2.au.pool.ntp.org from 127.0.0.1
Oct 29 20:55:56 forwarded 2.au.pool.ntp.org to ::1#5335
Oct 29 20:55:56 query[AAAA] 2.au.pool.ntp.org from 127.0.0.1
Oct 29 20:55:56 forwarded 2.au.pool.ntp.org to ::1#5335
Oct 29 20:55:58 reply 2.au.pool.ntp.org is 202.142.133.141
Oct 29 20:55:58 reply 2.au.pool.ntp.org is 162.159.200.1
Oct 29 20:55:58 reply 2.au.pool.ntp.org is 168.138.12.93
Oct 29 20:55:58 reply 2.au.pool.ntp.org is 103.249.238.208
Notice the lack of an IPv6 address. Yet:
From the FTL log:
All FTL errors are Failed to receive data from NTP server 2.au.pool.ntp.org. NTP server 2.au.pool.ntp.org was removed to improve the formatting.
2026-10-29 20:56:01.913 ERROR Failed to receive data from (2403:5807:a51a:2011:5449:434b:544f:434b): Timeout
2026-10-29 20:56:07.033 ERROR Failed to receive data from (2403:5807:a51a:2011:5449:434b:544f:434b): Timeout
2026-10-29 20:56:12.153 ERROR Failed to receive data from (2403:5807:a51a:2011:5449:434b:544f:434b): Timeout
2026-10-29 20:56:17.273 ERROR Failed to receive data from (2403:5807:a51a:2011:5449:434b:544f:434b): Timeout
2026-10-29 20:56:22.393 ERROR Failed to receive data from (2403:5807:a51a:2011:5449:434b:544f:434b): Timeout
2026-10-29 20:56:27.513 ERROR Failed to receive data from (2403:5807:a51a:2011:5449:434b:544f:434b): Timeout
2026-10-29 20:56:32.633 ERROR Failed to receive data from (2403:5807:a51a:2011:5449:434b:544f:434b): Timeout
2026-10-29 20:56:37.753 ERROR Failed to receive data from (2403:5807:a51a:2011:5449:434b:544f:434b): Timeout
2026-10-29 20:56:37.755 WARNING Warning NTP client: No valid NTP replies received, check server and network connectivity
The last time 2403:5807:a51a:2011:5449:434b:544f:434b1 was returned was:
Oct 29 12:52:59 reply 2.au.pool.ntp.org is 2403:5807:a51a:2011:5449:434b:544f:434b
And the result is:
2026-10-29 00:56:29.818 WARNING Warning NTP client: No valid NTP replies received, check server and network connectivity
2026-10-29 01:56:29.948 WARNING Warning NTP client: No valid NTP replies received, check server and network connectivity
2026-10-29 03:56:30.459 WARNING Warning NTP client: No valid NTP replies received, check server and network connectivity
2026-10-29 05:56:30.971 WARNING Warning NTP client: No valid NTP replies received, check server and network connectivity
2026-10-29 10:56:33.658 WARNING Warning NTP client: No valid NTP replies received, check server and network connectivity
2026-10-29 12:56:35.194 WARNING Warning NTP client: No valid NTP replies received, check server and network connectivity
2026-10-29 13:56:35.322 WARNING Warning NTP client: No valid NTP replies received, check server and network connectivity
2026-10-29 14:56:35.451 WARNING Warning NTP client: No valid NTP replies received, check server and network connectivity
2026-10-29 15:56:35.579 WARNING Warning NTP client: No valid NTP replies received, check server and network connectivity
2026-10-29 19:56:36.603 WARNING Warning NTP client: No valid NTP replies received, check server and network connectivity
2026-10-29 20:56:37.755 WARNING Warning NTP client: No valid NTP replies received, check server and network connectivity
The times that NTP used each IPv6 address today and the pihole log entries for those IPv6 addresses:
2026-10-29 00:55:53.977 ERROR Failed to receive data from (2402:9e80:1::1:88ba): Timeout
2026-10-29 01:55:54.105 ERROR Failed to receive data from (2402:9e80:1::1:88ba): Timeout
Oct 29 03:52:55 reply 2.au.pool.ntp.org is 2402:9e80:1::1:88ba
Oct 29 12:52:59 reply 2.au.pool.ntp.org is 2402:9e80:1::1:88ba
2026-10-29 03:55:54.617 ERROR Failed to receive data from (2403:5807:a51a:2011:5449:434b:544f:434b): Timeout
2026-10-29 12:55:59.353 ERROR Failed to receive data from (2403:5807:a51a:2011:5449:434b:544f:434b): Timeout
2026-10-29 20:56:01.913 ERROR Failed to receive data from (2403:5807:a51a:2011:5449:434b:544f:434b): Timeout
Oct 29 07:52:57 reply 2.au.pool.ntp.org is 2403:5807:a51a:2011:5449:434b:544f:434b
Oct 29 09:55:53 reply 2.au.pool.ntp.org is 2403:5807:a51a:2011:5449:434b:544f:434b
Oct 29 12:52:59 reply 2.au.pool.ntp.org is 2403:5807:a51a:2011:5449:434b:544f:434b
2026-10-29 05:55:55.129 ERROR Failed to receive data from (2403:580c:ffff:808e:d329:945c:2014:8e4f): Timeout
2026-10-29 10:55:57.821 ERROR Failed to receive data from (2403:580c:ffff:808e:d329:945c:2014:8e4f): Timeout
2026-10-29 13:55:59.481 ERROR Failed to receive data from (2403:580c:ffff:808e:d329:945c:2014:8e4f): Timeout
2026-10-29 15:55:59.737 ERROR Failed to receive data from (2403:580c:ffff:808e:d329:945c:2014:8e4f): Timeout
2026-10-29 19:56:00.761 ERROR Failed to receive data from (2403:580c:ffff:808e:d329:945c:2014:8e4f): Timeout
Oct 29 05:55:51 reply 2.au.pool.ntp.org is 2403:580c:ffff:808e:d329:945c:2014:8e4f
Oct 29 10:52:58 reply 2.au.pool.ntp.org is 2403:580c:ffff:808e:d329:945c:2014:8e4f
2026-10-29 14:55:59.609 ERROR Failed to receive data from (2401:c080:1800:499c::1:123): Timeout
Oct 29 09:55:53 reply 2.au.pool.ntp.org is 2401:c080:1800:499c::1:123
Oct 29 12:52:59 reply 2.au.pool.ntp.org is 2401:c080:1800:499c::1:123
2026-10-29 14:55:59.609 ERROR Failed to receive data from (2401:c080:1800:499c::1:123): Timeout
Oct 29 09:55:53 reply 2.au.pool.ntp.org is 2401:c080:1800:499c::1:123
Oct 29 12:52:59 reply 2.au.pool.ntp.org is 2401:c080:1800:499c::1:123
One can see there is a very weak correlation between when the Pi-hole returned an IPv6 address, and when NTP synchronisation attempted to use it.
And before anyone says cache, I use Unbound and dns.cache.size = 0.