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
bnep
cmtp
hidp
rfcomm
6lowpan.c -rw-r--r-- 27.3 KB
Kconfig -rw-r--r-- 4.4 KB
Makefile -rw-r--r-- 848 bytes
a2mp.c -rw-r--r-- 21.8 KB
a2mp.h -rw-r--r-- 3.2 KB
af_bluetooth.c -rw-r--r-- 17.1 KB
amp.c -rw-r--r-- 13.9 KB
amp.h -rw-r--r-- 1.9 KB
aosp.c -rw-r--r-- 4.9 KB
aosp.h -rw-r--r-- 643 bytes
ecdh_helper.c -rw-r--r-- 5.9 KB
ecdh_helper.h -rw-r--r-- 1.4 KB
eir.c -rw-r--r-- 7.2 KB
eir.h -rw-r--r-- 1.5 KB
hci_codec.c -rw-r--r-- 5.7 KB
hci_codec.h -rw-r--r-- 252 bytes
hci_conn.c -rw-r--r-- 45.3 KB
hci_core.c -rw-r--r-- 88.1 KB
hci_debugfs.c -rw-r--r-- 33.0 KB
hci_debugfs.h -rw-r--r-- 1.7 KB
hci_event.c -rw-r--r-- 174.8 KB
hci_request.c -rw-r--r-- 69.1 KB
hci_request.h -rw-r--r-- 5.1 KB
hci_sock.c -rw-r--r-- 46.9 KB
hci_sync.c -rw-r--r-- 138.5 KB
hci_sysfs.c -rw-r--r-- 2.3 KB
l2cap_core.c -rw-r--r-- 198.9 KB
l2cap_sock.c -rw-r--r-- 42.0 KB
leds.c -rw-r--r-- 2.2 KB
leds.h -rw-r--r-- 554 bytes
lib.c -rw-r--r-- 4.0 KB
mgmt.c -rw-r--r-- 244.6 KB
mgmt_config.c -rw-r--r-- 9.3 KB
mgmt_config.h -rw-r--r-- 490 bytes
mgmt_util.c -rw-r--r-- 7.1 KB
mgmt_util.h -rw-r--r-- 2.5 KB
msft.c -rw-r--r-- 19.8 KB
msft.h -rw-r--r-- 2.4 KB
sco.c -rw-r--r-- 29.6 KB
selftest.c -rw-r--r-- 8.5 KB
selftest.h -rw-r--r-- 1.6 KB
smp.c -rw-r--r-- 92.9 KB
smp.h -rw-r--r-- 5.1 KB

back to top