Masqueraded telnet connects then hangs (help pls)

Detlef Wengorz detlef@abcbtx.de
Mon, 09 Jul 2001 12:00:10 +0000


ableasby@hgmp.mrc.ac.uk wrote:
> 
> I'm a newbie to masquerading and am having trouble telnetting
> from masqueraded machines. Connections are made e.g.
> 
> # telnet fred.bloggs.foo.bar     (uses caching nameserver on 192.168.0.3)
> 
> Connected to fred.bloggs.foo.bar
> Escape character is '^]'.
> 
> (hang for 2-3 minutes)
> Connection closed by remote host.
> 
> The same sort of thing happens using a browser i.e. a connection is
> made then a hang. I think I must be missing something simple and
> fundamental here but I'm not sure what. I really would appreciate any
> constructive help. Details are as follows:
> 
> Internet: eth1 on 192.168.0.3    (just to be different!)
> Intranet: eth0 on 192.168.0.0/24
> 
> All machines communicate OK on the local intranet and the host
> (192.168.0.3) can telnet/ftp/http/etc fine to the internet.
> 
> Internet connection: NTL cable modem. IP address via DHCP.
> 
> OS: Redhat Linux 7.1 on all machines
> Kernel: 2.4.5 on all machines
> 
snip ...

Try Kernel 2.4.6
Kernel 2.4.4 and 2.4.5 has a checksum-bug in the
TCP-retransmitt-collapse-function.

Or try to fix manually and rebuild->install kernel.
Maybe this drop your problem.

/* 
** this lines are from patch-2.4.6 (www.kernel.org)
*/
diff -u --recursive --new-file v2.4.5/linux/net/ipv4/tcp_output.c
linux/net/ipv4/tcp_output.c
--- v2.4.5/linux/net/ipv4/tcp_output.c  Thu Apr 12 12:11:39 2001
+++ linux/net/ipv4/tcp_output.c Fri Jun 29 13:38:22 2001
@@ -722,7 +722,7 @@
 
        if (skb->ip_summed != CHECKSUM_HW) {
            memcpy(skb_put(skb, next_skb_size), next_skb->data,
next_skb_size);
-           skb->csum = csum_block_add(skb->csum, next_skb->csum,
skb->len);
+           skb->csum = csum_block_add(skb->csum, next_skb->csum,
skb_size);
        }
 
        /* Update sequence range on original skb. */       

                     
-- 
Best regards 
Detlef Wengorz <detlef@abcbtx.de>
Detlef Wengorz <detlefw@isdn4linux.de>