[Bug 473] New: 2.6.16.x translates addresses of RELATED packets
incorrectly
bugzilla-daemon at bugzilla.netfilter.org
bugzilla-daemon at bugzilla.netfilter.org
Thu May 11 16:00:42 CEST 2006
https://bugzilla.netfilter.org/bugzilla/show_bug.cgi?id=473
Summary: 2.6.16.x translates addresses of RELATED packets
incorrectly
Product: netfilter/iptables
Version: linux-2.6.x
Platform: i386
OS/Version: Debian GNU/Linux
Status: NEW
Severity: normal
Priority: P2
Component: NAT
AssignedTo: laforge at netfilter.org
ReportedBy: tomasz.lemiech at matrix.pl
Consider the following simple scenario (all subnets are /24):
host1 <------> router/firewall <------> host2
10.0.0.1 10.0.0.2/192.168.91.222 192.168.91.202
Both host1 and host2 have default routes via router box. Let's do some pure
routing (ie. no netfilter rules):
host1:~# tcptraceroute 192.168.91.202 223
Tracing the path to 192.168.91.202 on TCP port 223, 30 hops max
1 10.0.0.2 0.404 ms 0.166 ms 0.141 ms
2 192.168.91.202 [closed] 0.436 ms 0.376 ms 0.322 ms
Now let's add some NAT on router/fw:
root at router:~# iptables -t nat -A PREROUTING -p tcp -d 192.168.91.202 --dport
223 -j DNAT --to-destination 192.168.91.202:224
The traceroute output is quite different now:
host1:~# tcptraceroute 192.168.91.202 223
Selected device eth1, address 10.0.0.1, port 51146 for outgoing packets
Tracing the path to 192.168.91.202 on TCP port 223, 30 hops max
1 192.168.91.202 0.416 ms 0.161 ms 0.140 ms
2 192.168.91.202 [closed] 0.423 ms 0.340 ms 0.331 ms
Indeed, ICMP packets generated by router got their source address translated to
the address of host2 - tcpdumping on host1 gives:
14:21:40.188036 IP (tos 0x0, ttl 1, id 11043, offset 0, flags [none], length:
40) 10.0.0.1.47825 > 192.168.91.202.223: S [tcp sum ok] 1355768057:1355768057(0)
win 0
14:21:40.188258 IP (tos 0xc0, ttl 64, id 28403, offset 0, flags [none], length:
68) 192.168.91.202 > 10.0.0.1: icmp 48: time exceeded in-transit
14:21:40.189829 IP (tos 0x0, ttl 2, id 60378, offset 0, flags [none], length:
40) 10.0.0.1.47825 > 192.168.91.202.223: S [tcp sum ok] 1355768057:1355768057(0)
win 0
14:21:40.190233 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], length: 40)
192.168.91.202.223 > 10.0.0.1.47825: R [tcp sum ok] 0:0(0) ack 1355768058 win 0
This is fully reproducible on vanilla 2.6.16.14. I also checked 2.6.15.4 and
2.6.14.3 - they work as expected (ie. tcptraceroute output is the same in both
cases).
Kernel config files are available at http://szpajder.w.staszic.waw.pl/netfilter/
--
Configure bugmail: https://bugzilla.netfilter.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the netfilter-buglog
mailing list