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>