Sometimes from Linux system I see the following weird behaviour:
I able to ping things and sometimes use some services, but networking is very bad.
For example, now I routed connection through my laptop (-j MASQUERADE) and observing the following thing: If I do little TCP connection (server sends few data to me), it proceeds:
# nc 86.57.151.3 80
GET /404
<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>
/proc/net/ip_conntrack has tcp 6 431998 ESTABLISHED src=192.168.99.9 dst=86.57.151.3 sport=49104 dport=80 src=86.57.151.3 dst=93.125.21.218 sport=
80 dport=49104 [ASSURED] mark=0 use=2 before I typed "GET /404".
But when I do big connection:
root@localhost:~# nc 86.57.151.3 80
GET /
It stalls. Before I enter "GET /" it shows ESTABLISHED ASSURED, as usual, but after I press Return it goes to tcp 6 0 CLOSE_WAIT src=192.168.99.9 dst=86.57.151.3 sport=56991 dport=80 src=86.57.151.3 dst=93.125.21.218 sport=80 dpo
rt=56991 [ASSURED] mark=0 use=2. No packet with is received. When I finally press Ctrl+C, it sends FIN to server, and Wireshard complains that server's FIN is "Out-of-order". Like if the reply packed dropped somewhere.
When I do the same nc 86.57.151.3 80/GET / from router, it works.
How to debug what is wrong?
wlan0 MTU:1500; router:wifi0: MTU:1500; ppp4: MTU:1492; One further router: all MTU's are 1500. – Vi. Aug 19 '11 at 19:12