All of lore.kernel.org
 help / color / mirror / Atom feed
* [LARTC] New and need help with TC
@ 2002-01-04  7:18 Stefan Schueller
  2002-01-05 13:29 ` bert hubert
  0 siblings, 1 reply; 2+ messages in thread
From: Stefan Schueller @ 2002-01-04  7:18 UTC (permalink / raw)
  To: lartc

Hi,

I'm new to this list and I was wondering if any of you could help me out
with my traffic problem.

I did get some limiting to work but it's not working the way I want and
that's mostly because I still don't understand some of the commands I'm
using. I want to limit my total bandwidth to a maximum of 256kbits but I
don't want one user to take it all. I also don't want to have everyone
suffer because one site has a lot of hits. I want to make the site with the
high traffic slower than the other sites but I don't want the total to go
over 256kbits. The IP of the high traffic site is 209.150.199.225. All
others should be able to download at a speed up to 200k and have priority
over the high traffic site.

Also does anyone have a nice traffic monitor that shows me the traffic of
each IP which I can use with rrdtool? I have cban right now but it only
shows overall traffic on the adapter.

Here is what I have right now. It is limiting traffic at 256kbits more or
less but I still get spikes over 1mbits which kills my avarage and gets me
the high ISP bill at the end of the month.

This is what I want (kind of):
 *************************************************
 *          eth0 (Limit to 256kbits)               *
 * ********************** ********************** *
 * *  Lower Priority  * * Higher Priority    * *
 * * 209.58.199.225 * * All other IPs       * *
 * * (150k Max total)* * (200k Max total) * *
 * * (100K max per  * * (180k max per    * *
 * * connection)       * * connection)       * *
 * ********************** ********************** *
 ************************************************

This is what I'm doing:

 # I don't know if I have to do this at all

 /sbin/ip address add 209.58.199.225 dev eth0
 /sbin/ip address add 209.58.199.226 dev eth0
 /sbin/ip address add 209.58.199.227 dev eth0
 /sbin/ip address add 209.58.199.228 dev eth0
 /sbin/ip address add 209.58.199.229 dev eth0
 /sbin/ip address add 209.58.199.230 dev eth0
 /sbin/ip address add 209.58.199.231 dev eth0
 /sbin/ip address add 209.58.199.232 dev eth0
 /sbin/ip address add 209.58.199.233 dev eth0
 /sbin/ip address add 209.58.199.234 dev eth0
 /sbin/ip address add 209.58.199.235 dev eth0
 /sbin/ip address add 209.58.199.236 dev eth0
 /sbin/ip address add 209.58.199.237 dev eth0
 /sbin/ip address add 209.58.199.238 dev eth0
 /sbin/ip address add 209.58.199.239 dev eth0

 # Here I think I'm making some kind of parent which limits all traffic to
256kbits, its name is 1

 /sbin/tc qdisc add dev eth0 root handle 1: cbq bandwidth 256kbit avpkt 1000

 # create a subparanet of parent 1:0 called 1:1 with also a 256kbits limit?
Not sure what the other half of the comand does?!allot? weight?

 /sbin/tc class add dev eth0 parent 1:0 classid 1:1 cbq bandwidth 256Kbit
rate 256Kbit allot  1500 weight 16 avpkt 1000

 #create a child of parent 1:1 called 1:10 and some limiting I don't
undertand?!

 /sbin/tc class add dev eth0 parent 1:1 classid 1:10 cbq bandwidth 200Kbit
rate 180Kbit allot 1500 weight 100kbit prio 5 maxburst 20 avpkt 1000 bounded

 /sbin/tc class add dev eth0 parent 1:1 classid 1:11 cbq bandwidth 150Kbit
rate 100Kbit allot 1500 weight 64kbit prio 5 maxburst 20 avpkt 1000 bounded

 #??? u32??

 /sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 5 handle 1: u32
divisor 1

 #Filter IPs to certain children

 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 match ip src
209.58.199.225 flowid 1:11
 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 match ip src
209.58.199.226 flowid 1:10
 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 match ip src
209.58.199.227 flowid 1:10
 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 match ip src
209.58.199.228 flowid 1:10
 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 match ip src
209.58.199.229 flowid 1:10
 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 match ip src
209.58.199.230 flowid 1:10
 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 match ip src
209.58.199.231 flowid 1:10
 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 match ip src
209.58.199.232 flowid 1:10
 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 match ip src
209.58.199.233 flowid 1:10
 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 match ip src
209.58.199.234 flowid 1:10
 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 match ip src
209.58.199.235 flowid 1:10
 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 match ip src
209.58.199.236 flowid 1:10
 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 match ip src
209.58.199.237 flowid 1:10
 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 match ip src
209.58.199.238 flowid 1:10
 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 match ip src
209.58.199.239 flowid 1:10
 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 match ip src
209.58.150.51 flowid 1:10


 Do I make any sense?

thanks for any help you can give me.

-Stefan
stefan@techdroid.com








_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://ds9a.nl/lartc/

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [LARTC] New and need help with TC
  2002-01-04  7:18 [LARTC] New and need help with TC Stefan Schueller
@ 2002-01-05 13:29 ` bert hubert
  0 siblings, 0 replies; 2+ messages in thread
From: bert hubert @ 2002-01-05 13:29 UTC (permalink / raw)
  To: lartc

On Fri, Jan 04, 2002 at 02:18:26AM -0500, Stefan Schueller wrote:

> I did get some limiting to work but it's not working the way I want and
> that's mostly because I still don't understand some of the commands I'm
> using. I want to limit my total bandwidth to a maximum of 256kbits but I
> don't want one user to take it all. I also don't want to have everyone
> suffer because one site has a lot of hits. I want to make the site with the
> high traffic slower than the other sites but I don't want the total to go
> over 256kbits. The IP of the high traffic site is 209.150.199.225. All
> others should be able to download at a speed up to 200k and have priority
> over the high traffic site.

Ok. What you want is a 256kbit/s CBQ with SFQ within.

> Also does anyone have a nice traffic monitor that shows me the traffic of
> each IP which I can use with rrdtool? I have cban right now but it only
> shows overall traffic on the adapter.

I use iptables to make rules matching each IP, and then hook that up to
rrdtool with some sed/grep magic.

> Here is what I have right now. It is limiting traffic at 256kbits more or
> less but I still get spikes over 1mbits which kills my avarage and gets me
> the high ISP bill at the end of the month.

You may want to read http://ds9a.nl/lartc/manpages - It will explain the
stuff you are guessing at. How does your ISP measure your usage? 10 second
interval? The ISPs I know use a 5 minute interval.

Regards,

bert

-- 
http://www.PowerDNS.com          Versatile DNS Software & Services
http://www.tk                              the dot in .tk
Netherlabs BV / Rent-a-Nerd.nl           - Nerd Available -
Linux Advanced Routing & Traffic Control: http://ds9a.nl/lartc

_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://ds9a.nl/lartc/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-01-05 13:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-01-04  7:18 [LARTC] New and need help with TC Stefan Schueller
2002-01-05 13:29 ` bert hubert

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.