Projects / CBQ.init


CBQ.init is a shell script that allows for easy setup of simple CBQ-based traffic control on Linux. CBQ (Class Based Queueing) is part of the Linux QoS implementation, which is accesible via utilities from the iproute2 package.

Operating Systems

Recent releases

  •  10 Feb 2002 23:16

    Release Notes: This release has faster parsing, support for weekdays in TIME rules, and the ability to specify port masks in U32 filter rules.

    •  12 Dec 2001 17:50

      Release Notes: Parsed configuration is now cached and stored as a shell script that sets up CBQ. This is executed if there are no configuration changes.

      •  03 Oct 2000 15:10

        Release Notes: The following options were added: TIME, PARENT, LEAF, ISOLATED, and BOUNDED. Various contributed patches and ideas were incorporated.

        •  04 Dec 1998 16:43

          No changes have been submitted for this release.

          Recent comments

          26 Nov 2007 12:37 TTimo

          couldn't get it working
          kernel 2.6.22, using one of the example configs provided to throttle the upload to one of my hosts

          everything seems fine except there's no throttling whatsoever

          13 Apr 2006 01:11 osmantekin

          Download limit ok but upload is not....












          iptables add;

          /sbin/iptables -t mangle -A PREROUTING -s -j MARK --set-mark 1

          System: Fedora5-Squid-Shorwall

          eth: 2 eth. device.

          eth0: local (network is

          eth1: internet (real)

          file: /cbq.init-v0.7.3

          25 May 2003 15:18 easyeasy

          Re: Bad Interpreter

          > Does anyone know why i get the messages
          > "bad interpreter"?
          > Cheers
          > Abacus

          Hi, i had this problem, too!
          There are two reasons for an errormessage like
          "bad interpreter -- no such file or directory"
          Both relate on the first line of the script:

          Okay one reason could be that your "bash" is not in /bin/ (but thats very unusual) or that you don't have a bash-console.

          The second reason could be, that you have downloaded the script via your windows-Computer and copied it to your linux-server .
          If this hapened, then you have on each line a CR and a LF ("carriage return" and "line feed").
          But your Linux understands just the CR .
          So you need to transform your script into unix-format with a program like dos2unix or you download the script with your linux-machine directly.

          I hope that will help


          11 Aug 2002 11:33 Abakuz

          Bad Interpreter
          Does anyone know why i get the messages "bad interpreter"?



          19 May 2002 16:31 bschenker

          configure cbq to limit on all but a few ports
          I've been using this script successfully to shape bandwidth, but I would like to set it up to limit bandwidth on all ports except for a few. It seems a new p2p file sharing port pops up every week--so this would help me keep up with controlling this type of activity.

          So, is there an appropriate syntax to identify traffic on all ports but a sellected few. Alternatively, it would be nice to specify a range of ports.

          Any suggestions or help would be appreciated.


          Project Spotlight


          A Fluent OpenStack client API for Java.


          Project Spotlight

          TurnKey TWiki Appliance

          A TWiki appliance that is easy to use and lightweight.