Linux-2.6.14.6 and UDP forwarding
Igor Gueths
igueths at lava-net.com
Sat Dec 2 00:14:29 EST 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Hi all. I just discovered this problem when I attempted getting Speakfreely installed on one of my LFS machines. Apparently, if a port or set of ports are forwarded to a given machine, said
machine will never send a continuous UDP stream; rather, only every other packet gets sent to its propper destination. To illustrate, here is a packet dump from my laptop, which I just
discovered does the same thing:
00:02:38.205723 IP 192.168.0.251.1024 > 192.168.0.251.vrtl-vmf-sa: UDP, length 356
00:02:38.207111 IP 192.168.0.251.1024 > 24-151-83-102.dhcp.nwtn.ct.charter.com.vrtl-vmf-sa: UDP, length 356
00:02:38.207335 IP 192.168.0.251.1024 > 192.168.0.251.vrtl-vmf-sa: UDP, length 356
00:02:38.717486 IP 192.168.0.251.1024 > 24-151-83-102.dhcp.nwtn.ct.charter.com.vrtl-vmf-sa: UDP, length 356
00:02:38.717713 IP 192.168.0.251.1024 > 192.168.0.251.vrtl-vmf-sa: UDP, length 356
00:02:38.719108 IP 192.168.0.251.1024 > 24-151-83-102.dhcp.nwtn.ct.charter.com.vrtl-vmf-sa: UDP, length 356
I can replicate this problem quite easily on my server, by simply adding the forwarding rule to PREROUTING:
iptables -t nat -I PREROUTING -p udp --dport 2074 -j DNAT --to 192.168.0.251
If there is no forwarding rule in place on the server, the traffic pattern is exactly what one would expect:
00:10:26.243453 IP 192.168.0.251.netinfo-local > 24-151-83-102.dhcp.nwtn.ct.charter.com.vrtl-vmf-sa: UDP, length 356
00:10:26.256366 IP 192.168.0.251.netinfo-local > 24-151-83-102.dhcp.nwtn.ct.charter.com.vrtl-vmf-sa: UDP, length 356
00:10:26.754005 IP 192.168.0.251.netinfo-local > 24-151-83-102.dhcp.nwtn.ct.charter.com.vrtl-vmf-sa: UDP, length 356
00:10:26.755623 IP 192.168.0.251.netinfo-local > 24-151-83-102.dhcp.nwtn.ct.charter.com.vrtl-vmf-sa: UDP, length 356
For now, I am assuming whatever the problem is, it has to be on my server, which is currently running Linux-2.6.14.6. The reason I say this is because UDP traffic going to my other internal
machine does not get mangled as per above. Does anyone know where I might begin looking to try and resolve this? I know something is quite broken, I'm just not sure exactly where. Any help in
greatly appreciated. Thanks! P.S: This problem isn't specific to Speakfreely; I have also noticed it while testing with Netcat.
- --
For an IRC experience without all the clutter, check out BOFHNet at irc.bofhnet.us.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
iQIVAwUBRXELtae2pgKIdGq4AQpd+w/+MD6gp9dZMwWf5Cj8QTIXn6pOkcjc+K2F
OxGQhWrgUuVPXxj4KeYx5FDia9AKs6rSruwk1nSSels/BAwj4kkqg4bCyrPyd1Oc
ynnCSfZRjfYU/cPdyB8QdAiYCFQPoTDFi9RMN0way8M4fqjtXEYZpuj16j2tj9c0
Y8G6M3NEgnMIsrsPwSQ4kYCT8gV7dH6b7N5sM75nJ76Q3BZxIeXdRh7vTk4WA3o4
WfT9tWQm/05SD0D03mVGqRz+NY1v5N3iQhY/eSZHWRLTsfT1Bhag0t3xJgVBNAQk
1xcT9lfxduiPXA9LxtRuN5IqG+kfLpws0cB8rCKUwUW4vguRCBi1I4/4LMR+06ue
JedlO7NUIPYXfXhBqUnmkAPOs21Mo99bQEUgxd16N1xngOu9qr/FKQ2do4UMxJNX
OnE7f40vyQhNCYiFlE5LN2gS+8YiGeF84hATHpWc6jk9os1VjnxOB/3cxazWoox3
mz5Fox+MENOdMtZ3Bh7c0VRdPgr9TdaKPT/54yZMOzmRjdDnNxSdLwNSKrjEqusG
uZYzzK9UYDT2ASeAVfC/yw5+0G1EU7pi/kA/yqpkwxcb6PdQ42XDIOTd98nCVdgL
zNdi6EgZhJJW02K1XFBrSbDWccIEzQLuxcXT3EpJf22/3OU4sdZTver7MhMK7gGV
ocYdwMUKqzA=
=dhM5
-----END PGP SIGNATURE-----
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
More information about the Speakup
mailing list