netfilter: conntrack: add nf_conntrack_default_on sysctl
This switch (default on) can be used to disable automatic registration of connection tracking functionality in newly created network namespaces. This means that when net namespace goes down (or the tracker protocol module is unloaded) we *might* have to unregister the hooks. We can either add another per-netns variable that tells if the hooks got registered by default, or, alternatively, just call the protocol _put() function and have the callee deal with a possible 'extra' put() operation that doesn't pair with a get() one. This uses the latter approach, i.e. a put() without a get has no effect. Conntrack is still enabled automatically regardless of the new sysctl setting if the new net namespace requires connection tracking, e.g. when NAT rules are created. Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:

committed by
Pablo Neira Ayuso

parent
0c66dc1ea3
commit
481fa37347
@@ -96,6 +96,17 @@ nf_conntrack_max - INTEGER
|
||||
Size of connection tracking table. Default value is
|
||||
nf_conntrack_buckets value * 4.
|
||||
|
||||
nf_conntrack_default_on - BOOLEAN
|
||||
0 - don't register conntrack in new net namespaces
|
||||
1 - register conntrack in new net namespaces (default)
|
||||
|
||||
This controls wheter newly created network namespaces have connection
|
||||
tracking enabled by default. It will be enabled automatically
|
||||
regardless of this setting if the new net namespace requires
|
||||
connection tracking, e.g. when NAT rules are created.
|
||||
This setting is only visible in initial user namespace, it has no
|
||||
effect on existing namespaces.
|
||||
|
||||
nf_conntrack_tcp_be_liberal - BOOLEAN
|
||||
0 - disabled (default)
|
||||
not 0 - enabled
|
||||
|
Reference in New Issue
Block a user