Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

A friend's fresh install of CentOS 5.4 is misbehaving behind his university's proxy. If he takes the machine home and connects it directly to the internet, it works fine. If he installs some other OS (even an older version of CentOS) on the machine, it works fine behind the proxy. Only when it's behind the proxy and only when it's running CentOS 5.4 does it have seemingly random connection timeouts and extremely poor throughput.

I had him take a small packet capture just to see what's happening. This is what it turned up:

   9291 532.192095         TCP      40560 > ndl-aas [ACK] Seq=206 Ack=74213 Win=3328 Len=0 TSV=3733959 TSER=77264420
   9292 532.193750           TCP      [TCP segment of a reassembled PDU]
   9293 532.193812           TCP      [TCP segment of a reassembled PDU]
   9295 532.234080         TCP      40560 > ndl-aas [ACK] Seq=206 Ack=77109 Win=384 Len=0 TSV=3734001 TSER=77264424
   9296 532.658579           TCP      [TCP Window Full] [TCP segment of a reassembled PDU]
   9297 532.658666         TCP      [TCP ZeroWindow] 40560 > ndl-aas [ACK] Seq=206 Ack=77493 Win=0 Len=0 TSV=3734426 TSER=77264471
   9298 533.091240           TCP      [TCP ZeroWindowProbe] [TCP segment of a reassembled PDU]
   9299 533.091407         TCP      [TCP ACKed lost segment] 40560 > ndl-aas [ACK] Seq=206 Ack=77494 Win=2176 Len=0 TSV=3734859 TSER=77264514
   9300 533.092361           TCP      [TCP segment of a reassembled PDU]
   9301 533.092397           HTTP     HTTP/1.0 200 OK  (application/x-rpm)

( is the proxy, is the CentOS box, ndl-aas is port 3128 the port squid is running on on the proxy)

Assuming this is causing the connection timeouts in all applications (FireFox, yum update, etc.), I'm wondering why this would happen only on this CentOS 5.4 machine, and only behind the Squid proxy.

The proxy is squid/3.0.STABLE19 running on Linux 1 hop away on the network, and is explicitly configured on the client side (by setting the http_proxy env variable or the appropriate application-specific configuration).

Help, anyone?

share|improve this question

You could check the following values in /proc that relate to TCP window scaling:


See if these values vary between a machine that works OK with the proxy and the machine you are trying to set up.

Also I don't know if this is related, but you might want to consider is that CentOS 5 has SELinux on by default. This has personally caused me many tricky-to-diagnose problems and you might want to set it to permissive or disabled for testing. (ref:

ps: is this more of a comment then an "answer"? I can't comment yet.

share|improve this answer
up vote 0 down vote accepted

The issue is resolved. The problem had to do with the proxy (which was running SunOS). Using an alternate proxy that was running Linux fixed the problem.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.