I have some questions regarding the maximum connection allowed. Why is it set to such a low value of 30,720 by default? What happens when I exceed that number? And how do I increase it (need to surive a reboot)?
The default value is not arbitrary — according to the Linux kernel documentation, nf_conntrack_max is derived from the conntrack hash table size (nf_conntrack_buckets), which itself depends on available RAM.
If you set nf_conntrack_max too high for your router, the main risk is excessive memory usage.
Each conntrack entry consumes memory (roughly a few hundred bytes), so increasing the limit significantly can use tens of megabytes of RAM under load.
This can lead to:
out-of-memory (OOM) conditions
system instability or slowdowns
processes being killed by the kernel
in worst cases, reboots
Also, the issue may not appear immediately — memory is only used as connections increase, so the router might seem fine until it is under heavy load.
That’s why it’s recommended to increase the value gradually and monitor memory usage and conntrack count after the change.
You might also want to take a look at this related case on the forum, it describes a very similar situation with nf_conntrack table exhaustion and how it was eventually caused by an unintended traffic flood from a misbehaving script/device:
Afaik/iirc if the connection pool is full then the oldest connection which is kind of inactive gets deleted.
It does not need to result in instability.
Yes the general advice is: if you hit hw limits, spend some money on better hw.