Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

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

At the company where I work, we have a perennial problem with large downloads (not P2P, not just updates) by Linux PCs (various Ubuntus) swamping our internet connection. For whatever reason, this is not the case with downloads from Windows PCs, even using the same browser (Chrome).

I've seen various solutions for limiting the bandwidth consumed on a per-PC basis, but they don't seem like the right solution. Often they limit the ethernet bandwidth, not just internet bandwidth. And even at the best, they would only limit the bandwidth to a configured fraction of our internet pipe, which isn't what we want either. We don't want to artificially limit the usage of our internet pipe, we just want one particular "stream" to exclude the others.

On a more technical level, it would be more interesting to know what low-level difference there is between traffic originating from Linux vs. Windows that results in such different behavior.

We'd much prefer not to rate-limit Linux PCs and make them second-rate citizens. We'd much rather resolve whatever difference is causing them to trump identical activity from other clients.

share|improve this question
Do QoS at gateway level – hmontoliu Mar 7 '12 at 16:51
Bryce - Do you have a router that supports traffic shaping? – Brian Mar 8 '12 at 20:35
Nope, maybe it's just time for us to grow up... – Bryce Schober Mar 8 '12 at 23:32

In your situation, I would install a proxy server (such as Squid) and set it up to be transparent. This should allow you to do several things:

  1. Identify what files the Ubuntu machines are downloading.
  2. Cache the files so that only the first one affects your Internet bandwidth.
  3. Rate limit any request.

If you do decide to go with Squid, here's a little tutorial on how to set it up to be transparent.

You could also implement QoS on this box, allowing things like any small packets and ping and ssh to be prioritised over large packets. This project looks promising but I haven't used it anywhere so treat with caution.

share|improve this answer
sqstat ( can give real tie traffic usage per user in the above scenario, then you could rate limit the LAN clients using something like qdisc – jwbensley Mar 8 '12 at 17:34
I don't think that caching will help our particular use case, which is mostly limited to unique one-time (but large) downloads. – Bryce Schober Mar 8 '12 at 18:10

If your problem is with ubuntu downloading packages then you can look at an apt-proxy such as apt-cacher to help alleviate that. Requires a little configuration to start with, but can save a lot of bandwidth.

share|improve this answer
I don't think that caching will help our particular use case, which is mostly limited to unique one-time (but large) downloads. – Bryce Schober Mar 8 '12 at 18:10

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.