aboutsummaryrefslogtreecommitdiffstats
path: root/net/netfilter/nf_conntrack_core.c
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2022-03-08 13:52:11 +0100
committerFlorian Westphal <fw@strlen.de>2022-03-08 13:52:11 +0100
commita82c25c366b0963d33ddf699196e6cf57f6d89b1 (patch)
tree0ee98e723ff4d4695dac75185365806a79e2ef64 /net/netfilter/nf_conntrack_core.c
parentMerge branch 'smc-fix' (diff)
downloadlinux-dev-a82c25c366b0963d33ddf699196e6cf57f6d89b1.tar.xz
linux-dev-a82c25c366b0963d33ddf699196e6cf57f6d89b1.zip
Revert "netfilter: nat: force port remap to prevent shadowing well-known ports"
This reverts commit 878aed8db324bec64f3c3f956e64d5ae7375a5de. This change breaks existing setups where conntrack is used with asymmetric paths. In these cases, the NAT transformation occurs on the syn-ack instead of the syn: 1. SYN x:12345 -> y -> 443 // sent by initiator, receiverd by responder 2. SYNACK y:443 -> x:12345 // First packet seen by conntrack, as sent by responder 3. tuple_force_port_remap() gets called, sees: 'tcp from 443 to port 12345 NAT' -> pick a new source port, inititor receives 4. SYNACK y:$RANDOM -> x:12345 // connection is never established While its possible to avoid the breakage with NOTRACK rules, a kernel update should not break working setups. An alternative to the revert is to augment conntrack to tag mid-stream connections plus more code in the nat core to skip NAT for such connections, however, this leads to more interaction/integration between conntrack and NAT. Therefore, revert, users will need to add explicit nat rules to avoid port shadowing. Link: https://lore.kernel.org/netfilter-devel/20220302105908.GA5852@breakpoint.cc/#R Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2051413 Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'net/netfilter/nf_conntrack_core.c')
0 files changed, 0 insertions, 0 deletions