TCP and natd issues.

Gary Allan dragonfly at gallan.plus.com
Wed Dec 22 14:59:06 PST 2004


Problems.

1. Using IPFW2 and natd does not process certain TCP connections 
correctly.

2. Running "tcpdump -i vr1" causes all traffic to be dropped.

When IPFW2 is configured for NAPT with natd I'm seeing certain TCP 
traffic blocked. I've used ethereal to capture the traffic from my 
desktop and the only pattern I can see is that all outgoing TCP traffic 
with a window size of 65535 never gets a response. (IE, FireFox, 
Outlook, Thunderbird). TCP connections using lower window sizes proceed 
normally ("telnet <mymailserver> 25" for example). UDP and ICMP traffic 
are also unaffected.

                      vr0     vr1
  [desktop]----------[ DragonFly ]----------[   Modem   ]--- NET
192.168.50.100      50.1        20.4      192.168.20.1
Here the ipfw logging shows responses from www.google.com and nat taking 
place. You can see that the packet from google was mapped back to 
192.168.50.100 but it was never actually received by my machine!

ipfw: 100 Divert 8668 TCP 66.102.11.104:80 192.168.20.4:1215 in via vr1
ipfw: 200 Accept TCP 66.102.11.104:80 192.168.50.100:1215 in via vr1
ipfw: 100 Divert 8668 TCP 66.102.11.104:80 192.168.50.100:1215 out via vr0
ipfw: 200 Accept TCP 66.102.11.104:80 192.168.50.100:1215 out via vr0
Also running tcpdump on the machine causes all network traffic passing 
through the box to be dropped until the tcpdump process is killed at the 
console. (as all SSH sessions drop out!)

The setup is identical to a FreeBSD 4.10 box that is working without 
issues. The machine is running DragonFly stable compiled 22-Dec-04.

Diagnostics

I've disabled SACK.
Bridging the interfaces works as expected.
I'm compiling the kernel to remove custom options and try under pf.
I can provide configs and traces to anyone interested, any help in 
resolving this would be appreciated.

Regards

G.A





More information about the Bugs mailing list