Revision a82c25c366b0963d33ddf699196e6cf57f6d89b1 authored by Florian Westphal on 08 March 2022, 12:52:11 UTC, committed by Florian Westphal on 08 March 2022, 12:52:11 UTC
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>
1 parent f8e9bd3
History
File Mode Size
1.Intro.rst -rw-r--r-- 14.3 KB
2.Process.rst -rw-r--r-- 23.7 KB
3.Early-stage.rst -rw-r--r-- 10.7 KB
4.Coding.rst -rw-r--r-- 21.1 KB
5.Posting.rst -rw-r--r-- 16.7 KB
6.Followthrough.rst -rw-r--r-- 11.8 KB
7.AdvancedTopics.rst -rw-r--r-- 9.5 KB
8.Conclusion.rst -rw-r--r-- 3.1 KB
adding-syscalls.rst -rw-r--r-- 26.6 KB
applying-patches.rst -rw-r--r-- 17.0 KB
botching-up-ioctls.rst -rw-r--r-- 11.3 KB
changes.rst -rw-r--r-- 13.1 KB
clang-format.rst -rw-r--r-- 6.4 KB
code-of-conduct-interpretation.rst -rw-r--r-- 7.2 KB
code-of-conduct.rst -rw-r--r-- 3.2 KB
coding-style.rst -rw-r--r-- 41.1 KB
deprecated.rst -rw-r--r-- 14.8 KB
development-process.rst -rw-r--r-- 810 bytes
email-clients.rst -rw-r--r-- 11.0 KB
embargoed-hardware-issues.rst -rw-r--r-- 13.1 KB
howto.rst -rw-r--r-- 27.0 KB
index.rst -rw-r--r-- 1.5 KB
kernel-docs.rst -rw-r--r-- 23.8 KB
kernel-driver-statement.rst -rw-r--r-- 4.1 KB
kernel-enforcement-statement.rst -rw-r--r-- 4.9 KB
license-rules.rst -rw-r--r-- 17.6 KB
magic-number.rst -rw-r--r-- 9.4 KB
maintainer-handbooks.rst -rw-r--r-- 472 bytes
maintainer-pgp-guide.rst -rw-r--r-- 37.3 KB
maintainer-tip.rst -rw-r--r-- 24.9 KB
maintainers.rst -rw-r--r-- 25 bytes
management-style.rst -rw-r--r-- 13.1 KB
programming-language.rst -rw-r--r-- 2.0 KB
stable-api-nonsense.rst -rw-r--r-- 9.2 KB
stable-kernel-rules.rst -rw-r--r-- 6.4 KB
submit-checklist.rst -rw-r--r-- 4.9 KB
submitting-drivers.rst -rw-r--r-- 6.8 KB
submitting-patches.rst -rw-r--r-- 36.3 KB
volatile-considered-harmful.rst -rw-r--r-- 5.6 KB

back to top