First, I am not that good with computer. I even had problem with Windows PC. Right now I own a restaurant which happened to offer free internet. My ISP has my connection setup using a Ubuntu 11.1 box. IP Address is with netmask, dns is and gateway is

My problem is that my customers complains all day about slow network. When I received that kind of complain, the first thing came to my mind is to scout my area and find out who is the culprit, and ask him not to waste our bandwidth.

Now, it is getting bored scouting people around, and I need to implement to my Linux box to limit bandwidth. I don't care if their provider can't be faster, but I want to limit 70kbit for each person. More annoying are people who use flashget and torrents. Usually they consume the biggest bandwidth.

My question, how can I limit that? Please guide me in easy way. I've spent few days reading documentation for tc, but I haven't understood a thing. I am using Ubuntu 11.10

Basically, I want all my customers to get 70kbps each, no matter what.

  • 1
    I'm afraid this website is for IT professionals. As said in the FaQ. Mar 20, 2012 at 12:13
  • 1
    Hi, Yohan. While I appriciate your issue you may be better asking over at a sister site of ours such as SuperUser - ServerFault is meant for system administrators and desktop support professionals. This should get closed or migrated shortly - don't repost it there yet. However, if you know, is the "Linux 11.1" box what you access the internet through, or is there a router involved somewhere else? And if you know that, what is the make and model of the router?
    – tombull89
    Mar 20, 2012 at 12:15
  • You can use transparent proxying, you can use hashed filtering with tc --- in any way here is no quick and simple answer, I believe.
    – brownian
    Mar 20, 2012 at 12:17
  • I think a simpler answer is to use something like Tomato, running on a suitable router such as WRT54G. Tomato provides quite good QoS features and is easy to set up through a GUI - more appropriate for a home/restaurant scenario. Or maybe use something Tomato-like on Ubuntu.
    – RichVel
    Mar 20, 2012 at 15:17

2 Answers 2


You need to block things at level 7 of the OSI model. Have a look at this implementation you can install on Linux:


  • er... sorry, I don't understand.. the only I understand is that link shows about classifying application? Is that correct? If that so, how can I blocked application like flashgot or internet download manager?
    – Yohan
    Mar 21, 2012 at 2:41

If you are coming at this from the point of a complete newbie, then much of the documentation and HowTo tutorials are going to be at a too complex level.

It seems like you already have the wireless connection shared, so that is a good start.

However what you are try to do is called traffic shaping, and generally involves some level of rate-limiting and protocol blocking.

(Basically this is a very hard battle, and one that you can't win, you can only lose less badly. basically there are always ways around the restrictions that you apply, but you can try and make sure that at least some HTTP and SMTP/IMAP traffic gets through)

You probably would benefit from implementing some free software like wifidog which allows you to manage and monitor the users on your connection.

Basically, I would suggest the following;

  1. Don't block anything, just throttle it right back (blocking encourages users to find naughty work-arounds)
  2. You won't be able to block flash-got, but you can manage per MAC address limits, or per connection limits
  • what is mac address? and how can I do that? I don't think connection limit is suitable for me, since flashgot can open multiple connections at once. If one connection at 32k, then if flashgot opens 10 connection they would have 320kbps.
    – Yohan
    Mar 21, 2012 at 2:39
  • update: after doing a little searching I know what mac address is.. It is some kind like IP but written in hardware, correct? How can I limit per mac address?
    – Yohan
    Mar 21, 2012 at 5:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .