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
File | Mode | Size |
---|---|---|
Kconfig | -rw-r--r-- | 1.8 KB |
Makefile | -rw-r--r-- | 556 bytes |
addr.c | -rw-r--r-- | 3.7 KB |
addr.h | -rw-r--r-- | 4.0 KB |
bcast.c | -rw-r--r-- | 22.0 KB |
bcast.h | -rw-r--r-- | 4.6 KB |
bearer.c | -rw-r--r-- | 32.4 KB |
bearer.h | -rw-r--r-- | 9.8 KB |
core.c | -rw-r--r-- | 5.9 KB |
core.h | -rw-r--r-- | 5.8 KB |
crypto.c | -rw-r--r-- | 65.7 KB |
crypto.h | -rw-r--r-- | 7.3 KB |
diag.c | -rw-r--r-- | 3.5 KB |
discover.c | -rw-r--r-- | 12.6 KB |
discover.h | -rw-r--r-- | 2.3 KB |
eth_media.c | -rw-r--r-- | 3.6 KB |
group.c | -rw-r--r-- | 23.8 KB |
group.h | -rw-r--r-- | 3.5 KB |
ib_media.c | -rw-r--r-- | 3.7 KB |
link.c | -rw-r--r-- | 82.7 KB |
link.h | -rw-r--r-- | 6.9 KB |
monitor.c | -rw-r--r-- | 22.2 KB |
monitor.h | -rw-r--r-- | 3.5 KB |
msg.c | -rw-r--r-- | 22.4 KB |
msg.h | -rw-r--r-- | 29.3 KB |
name_distr.c | -rw-r--r-- | 12.0 KB |
name_distr.h | -rw-r--r-- | 3.3 KB |
name_table.c | -rw-r--r-- | 31.8 KB |
name_table.h | -rw-r--r-- | 6.5 KB |
net.c | -rw-r--r-- | 10.2 KB |
net.h | -rw-r--r-- | 2.4 KB |
netlink.c | -rw-r--r-- | 10.1 KB |
netlink.h | -rw-r--r-- | 2.6 KB |
netlink_compat.c | -rw-r--r-- | 34.7 KB |
node.c | -rw-r--r-- | 78.7 KB |
node.h | -rw-r--r-- | 5.8 KB |
socket.c | -rw-r--r-- | 104.7 KB |
socket.h | -rw-r--r-- | 3.6 KB |
subscr.c | -rw-r--r-- | 5.8 KB |
subscr.h | -rw-r--r-- | 4.5 KB |
sysctl.c | -rw-r--r-- | 3.5 KB |
topsrv.c | -rw-r--r-- | 18.3 KB |
topsrv.h | -rw-r--r-- | 2.3 KB |
trace.c | -rw-r--r-- | 7.0 KB |
trace.h | -rw-r--r-- | 13.0 KB |
udp_media.c | -rw-r--r-- | 21.5 KB |
udp_media.h | -rw-r--r-- | 2.5 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...