1

I have an interent connection with the speed of 4000k bits up and down. I want to do port based traffic shaping on a ubuntu machine, which acts as router. eth0 is the WAN interface. This is how I would like to allocate bandwidth:

  • For ports 80 and 443 the bandwidth usage can go upto 90%
  • For ports above 1024 upto 65535 the bandwidth usage can go upto 10%
  • For remaining ports the bandwidth usage can go upto 40%

The easiest way for achieving the above is using a router with tomato firmware. I have used it and it is very efficient. I want to try if it can be done on a Ubuntu or any GNU/Linux machine. I have googled extensively about the topic and I feel there isn't much information.

nixnotwin
  • 1,513
  • 5
  • 34
  • 54

2 Answers2

1

You should be able to accomplish this using tc and iptables. This article by Vivek Gite walks you through doing it for one port.

sciurus
  • 12,493
  • 2
  • 30
  • 49
0

I wrote this blog post below 8 years ago for FreeBSD using DUMMYNET add-on to ipfw. It was only IP based traffic shaping (not port-based) but I assume by now there's a port to Ubuntu that supports TCP ports as well. Scroll past all the noob stuff if your a kernel rebuilding master to see how DUMMYNET concepts work and rulesets.

http://www.fishbrains.com/2003/08/25/controlling-bandwidth-for-your-wireless-network-using-freebsd-and-dummynet/

Bret Fisher
  • 3,963
  • 2
  • 20
  • 25