docs: add blog post on nf_conntrack overflow with Docker UDP tracker#193
Merged
josecelano merged 1 commit intodevelopfrom Apr 27, 2026
Merged
Conversation
Documents the mechanism, diagnosis, fix, and alternatives for the nf_conntrack table exhaustion problem that caused UDP tracker downtime on both the DigitalOcean and Hetzner demos. Covers: - How Docker bridge DNAT forces connection tracking for UDP - The three-parameter sysctl fix (nf_conntrack_max, udp_timeout, udp_timeout_stream) and module pre-load for reboot persistence - Hash table sizing (nf_conntrack_buckets / hashsize) - Alternative approaches: host networking, NOTRACK, macvlan - Real-world NOTRACK failure on torrust/torrust-demo#72 - Monitoring commands (conntrack -S, early_drop, 80% alert) - Links to independent documentation (Aquatic tracker guide) Fixes confirmed: post-fix UDP uptime 99.9% on Hetzner demo.
Member
Author
|
ACK 2762210 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a new blog post documenting the
nf_conntracktable exhaustion problem that caused UDP tracker downtime on both the DigitalOcean and Hetzner Torrust demos.What the post covers
dmesg,/proc/sys/net/netfilter/nf_conntrack_count,conntrack -Snf_conntrack_max,udp_timeout,udp_timeout_stream) + module pre-load for reboot persistencenf_conntrack_buckets/hashsizeto avoid O(n) lookup degradation after raising the ceilingmodules-load.d--network=host),NOTRACKrules (with real-world failure story from Fixnf_conntracktable overflow causing UDP packet drops torrust-demo#72), and macvlanconntrack -Searly_drop counter, 80% fill-level alerting ruleRelated issues
nf_conntracktable overflow causing UDP packet drops torrust-demo#72 — second occurrence + failed NOTRACK attempt