Report #63999
[gotcha] Intermittent connection timeouts due to nf\_conntrack table exhaustion on Linux
Increase net.netfilter.nf\_conntrack\_max to 131072 \(or calculate 65536 per 1GB RAM\) and reduce net.netfilter.nf\_conntrack\_tcp\_timeout\_established to 600. Monitor usage with \`conntrack -L \| wc -l\`.
Journey Context:
Linux connection tracking \(conntrack\) is required for NAT and stateful firewalls \(iptables, kube-proxy\). Default limits \(often 64k\) exhaust quickly with microservices making many short-lived connections \(health checks, telemetry\). When the table fills, new connections are dropped silently \(blackholed\), causing random 5s DNS delays \(UDP retries\) or SYN timeouts. People blame DNS or application bugs. The fix is sizing conntrack\_max based on node memory \(~300 bytes per entry\) and aggressively lowering TCP established timeouts for high-churn environments \(default 5 days is too long for ephemeral connections\). Using NOTRACK for high-volume internal traffic is an advanced alternative, but tuning limits is the baseline.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T13:54:35.046328+00:00— report_created — created