Limit Bandwidth Of All Computer (regardless of ip/MAC)

Discussion in 'DD-WRT Firmware' started by Jacky, Sep 17, 2013.

  1. Jacky

    Jacky Reformed Router Member

    I wanted to know if it is possible to limit bandwidth of all computers connected to a router, regardless of the ip/MAC address. I do not want to limit the total bandwidth of all user but individual bandwidth of all user.

    More info: I am small business owner. I have a small coffee shop. To compete with the bigger guys we are offering free wifi. We are having a problem, sometimes one person slows down the wifi for everyone.

    I want to limit the maximum download and upload speed of each user to 3 mbps/1mbps. I have looked into Qos, and I find it too complicated. Besides I don't care if someone is using p2p or watching movies as long as their download speed is below 3 mbps. I cannot use the feature of assigning static ip address/ limiting by MAC address because new customers are coming and going.

    It would be awesome if someone could let me know of a firmware that would allow be to do this. I don't mind buy a new router, if a can get a firmware that will allow me to do this. My budget is $200 though.

    I tried to talk to linksys support and they told me to buy a commercial router that is more than a thousand bucks. I cannot afford that. I am really hoping someone here can help me out. Thanks in advance.
  2. Marcel Tunks

    Marcel Tunks Networkin' Nut Member

    If it works, it's great, but some of the "supported" hardware isn't really supported. You need to search the OpenWRT and gargoyle forums for comments about your specific hardware before flashing.

    Pfsense would probably give you more flexibility. You just need an old PC with 2 NICs. Use your existing router as a wireless ap. Then you can control bandwidth per ip, filter content, and do all kinds of other useful admin things that can't practically be done on consumer hardware. Try pfsense in a virtual machine to see if you like the interface before installing.
  3. Jacky

    Jacky Reformed Router Member

    I am looking for a feature in firmware that allows you to limit the maximum download/upload speed all ip addresses connected to the router. (may be with an exception of ip addresses that this does not apply to.)
    I don't want to have to enter in a limit for each computer, but done by the router.
    I would prefer to just have this running on the router, without the need for dedicated computer attached to the router.

    I look through Gargoyle, openwrt and they don't have what I am looking for.
    Pfsense uses limiter to put limit per ip, but you would have to create a limit for each ip. That would talk a long time for when you have a lot of connected ip addresses. Pfsense requires a pc to connected to it, this is not something I am looking to do. I don't want to have a dedicated computer attached to my router.
  4. Marcel Tunks

    Marcel Tunks Networkin' Nut Member

    Gargoyle can limit all unknown devices to some arbitrary upload or download speed. You don't need static ip for your customers. You don't need their MAC addresses. You could/should assign static ip to your own devices.
  5. Jacky

    Jacky Reformed Router Member

    Could you kindly elaborate how Gargoyle can limit all unknown devices to some arbitrary upload or download speed? Do I use Qos or Quota?
    The only helpful link, applies to this situation is
    I have unlimited total download/upload, so this doesn't really apply to me. However I was think of setting it so that after downloading 0.1 Mb the user gets throttled to the speed of 5 Mbps/1 Mbps. My ISP give me the speed of 20 Mbps/5 Mbps.
    Would this work? Is is likely to cause a problem if there are more than 10 users are logged in?
  6. Marcel Tunks

    Marcel Tunks Networkin' Nut Member

    Your approach of limiting each user to some fixed bandwidth can be done with tc and iptables in any 3rd party firmware, and should be possible through the Gargoyle GUI as done by the user in your link. It will break down when the total demand for bandwidth exceeds the total provided by the ISP. Latency will increase and it will "feel" slow. Sharing equally by percentage makes more sense.

    We all have our biases about how to optimally share bandwidth. Here's mine: The situation you describe is what QoS was designed for. Tomato's recent versions by Shibby, Toastman, and Victek have good default settings that are used in apartment buildings and small businesses by hundreds, if not thousands of people around the world. Gargoyle's QoS is also excellent. CeroWRT can be confusing. OpenWRT is probably too much work for a person who is not interested in learning how QoS functions. DD-WRT has many great features, but the QoS could be better. For it to work, all traffic should go through the device providing QoS, and all devices should be subject to the QoS limitations. My bias would be to try Tomato. If your own devices slow down excessively as a result, then give them static ip addresses, assign them to a high class, and put them near the top of the QoS rules hierarchy. Alternatively you could use the QoS and quota system in Gargoyle to make separate rules for your own devices and throttle everybody else. Implement it, see if you like it, and adjust as needed.

    What router(s) do you already have?
    Last edited: Sep 20, 2013
  7. Toastman

    Toastman Super Moderator Staff Member Member

    Jacky, I have many customers with coffee shops and other outlets with exactly the same requirements that you have. In fact, if you try to slow down the clients you will lose them anyway, they will go to a shop with decent internet.

    For all of the shops I am aware of, they all used the exact defaults in the existing Toastman Tomato QOS rules. And nobody has felt the need to change it, nobody is aware of the other users and there are normally no slowdowns, that is the very reason I spent the last 5 years working on it. It will support up to simultaneous 250 users.

    Marcel appears to agree. Give it a shot!

    Best wishes

    Jacky, mito and Marcel Tunks like this.
  8. Victek

    Victek Network Guru Member

    You can use the BW Limiter included in Tomato with minimal download/upload speed and fix a maximal speed also, when the number of users is not using the total bandwidth then each user can reach the maximal speed fixed, according to the numbers of users connected the down/upload speed is adjusted to the minimal settings. You can try both alternatives in Tomato firmware.
    For non registered users you can fix also a speed rules, then VIP users can get priority speed if they order extra meal ... ;) ... be unique.
    mito likes this.
  9. cloneman

    cloneman Addicted to LI Member

    What I do on my QoS is I drop http transfers that have more than 5MB transferred to a lower priority. This way, active downloads do not interfere with web browsing.

    With a more aggressive stance in a coffee shop situation with stranges, you can drop any connection that has transferred more than 1MB to a lower priority, then any connection that has transferred more than 10MB to even lower tier, etc. (I am taking about connections, not users/clients)

    The advantage of this is that under low load, even low priority connections will be fast. Your only problem are apps that open a lot of connections like torrents, which could repeatedly jump to default priority. You could create a separate rule to clamp down on those.

    You idea is easier and cleaner but I don't know how to do it with Tomato; my idea allows for more efficient use of bandwidth but carries some congestion risk without a lot of tweaking.

    EDIT: Using your technique, what if you just created like 100 entries in the bandwidth limiter, one of each IP address? Set your DHCP range to - 200 and create 100 entries, each with a a limit of 3mbps...
    Last edited: Feb 15, 2014
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice