I never ever got this far, no Draytek, no Fritzbox, no MicroTik, not anything.
I did a tiny bit of IPfire tweaking, but my local network is not affected after 30 minutes.
What is going on here?
Only tweaks I did are:
# UDP timeout tacking, 15 seconds instead of 30
net.netfilter.nf_conntrack_udp_timeout = 15
# Increase kernel backlog queue:
net.core.netdev_max_backlog=4000
# Packets queued per CPU between NIC and socket layer
There is no substitute for testing with real NTP traffic, of course. Bas’s traffic is very bursty. One step in determining “why” could be using chrony’s built in tools
In chrony.conf:
clientloglimit 100000000
I like to dump out the client counters every ten minutes:
while true
do
date
chronyc -n clients -r
sleep 600
done
The NTP packet isn’t larger than 100 bytes - I haven’t had DSL is over 25 years, but I think the frame size back then was 1492 bytes - MTU isn’t an issue
Sounds like IPfire is being overloaded with states and not clearing them fast enough
Well I have Steve his suggestion running, and it’s answering this many clients:
zo 28 jun 2026 17:17:49 CEST
36
zo 28 jun 2026 17:27:49 CEST
11789
zo 28 jun 2026 17:37:50 CEST
19906
zo 28 jun 2026 17:47:50 CEST
35400
zo 28 jun 2026 17:57:50 CEST
42652
zo 28 jun 2026 18:07:51 CEST
47501
zo 28 jun 2026 18:17:52 CEST
56647
zo 28 jun 2026 18:23:00 CEST
61736
zo 28 jun 2026 18:33:01 CEST
69047
zo 28 jun 2026 18:43:02 CEST
78398
zo 28 jun 2026 18:53:03 CEST
84656
The code I use, adapted a bit.
while true
do
date >> output.txt
#chronyc -n clients -r
chronyc -a -n -m clients | wc -l >> output.txt
sleep 600
done
This is running at 100mbit setting.
Also beware, the router is set to drop hostile networks, so not al traffic reaches Chrony.
I know, but I have lowered it to 1452, just to be sure.
Did some testing with ping and got loads of timeout on packets size 1492 and 1500.
Lowering the MTU/MRU won’t harm, just to make sure it’s small enough.
I also did lower UDP tracking from 30sec to 15sec, so it should not track too long.
This worked in the MicroTik as well as in the DrayTek.
But I was never able to set it near 100mbit or more.
At 3 gpbs and 0s udp timeout (stateless udp) on pfsense (state type = none), my router sees ~700,000 connections at any particular time
ipfire cant assign stateless udp like pfsense can, so the best you can do is keep lowering the udp timeout (but I dont think ipfire can make it rule dependent, its a global setting)