[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Question about wondershaper



--- Jean-Michel Hiver <hiver.j@wanadoo.fr> wrote:

> Great. From your examples and the 'wondershaper' HTB script I have mixed
> 
> and matched something for my ISDN gateway, the goal being that asterisk 
> and SSH should be prioritary.
> 
> I'll cut and paste it in here. If you could let me know wether it makes 
> any sense to you...
> 
Make good sence and will work fine withought any modifications.  I made
some changes that you should consider.

> #!/bin/bash
> 
> # The Ultimate Setup For Your Internet Connection At Home
> #
> #
> # Set the following values to somewhat less than your actual download
> # and uplink speed. In kilobits
> DEV=ippp0
> 
> # clean existing down- and uplink qdiscs, hide errors
> tc qdisc del dev $DEV root    2> /dev/null > /dev/null
> tc qdisc del dev $DEV ingress 2> /dev/null > /dev/null
> 
> ###### uplink
> 
> # install root HTB, point default traffic to 1:20:
> 
> tc qdisc add dev $DEV root handle 1: htb default 20 r2q 1
> 
> # shape at 60kbit (for 64kbit theoretical)
> tc class add dev $DEV parent 1: classid 1:1 htb rate 60kbit
> 
# higher prio class 1:5:
# give it modest bandwith for Asterisk guaranteed
tc class add dev $DEV parent 1:1 classid 1:5 htb rate 6kbit prio 5
# change the rate here to mach the average Asterisk usage(6kbit).

> # high prio class 1:10:
> # give it almost all bandwith guaranteed
> tc class add dev $DEV parent 1:1 classid 1:10 htb rate 50kbit ceil
58kbit > prio 10
# change the rate here to mach what's left.  Set the ceil rate to leave a
chunk for Asterisk(2kbit + 58kbit = 60kbit).

> 
> # bulk & default class 1:20 - give it little bandwith and ceil the max
> # bandwith it can borrow to 50k so that we preserve low pings even when
> # doing large transfers
> tc class add dev $DEV parent 1:1 classid 1:20 htb rate 4kbit ceil 56kbit
> prio 20
# Make the ceil rate here need not be cahnged, 4kbit is a fine ammount to
leave free for both Asterisk and interactive traffic.  Also consider being
real nice to the other classes and caping Asterisk to something like
50kbps(ceil 50kbps) so that it won't ever dominate the link.

> 
> # Asterisk traffic should be in it's own class
> tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \
>    match ip sport 4569 0xffff \
>    match ip protocol 17 0xff \
>    flowid 1:5
> 
> # TOS Minimum Delay (ssh, NOT scp) in 1:10:
> tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \
>       match ip tos 0x10 0xff  flowid 1:10
> 
> # ICMP (ip protocol 1) in the interactive class 1:10 so we
> # can do measurements & impress our friends:
> tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \
>         match ip protocol 1 0xff flowid 1:10
> 
> # To speed up downloads while an upload is going on, put ACK packets in
> # the interactive class:
> tc filter add dev $DEV parent 1: protocol ip prio 10 u32 \
>    match ip protocol 6 0xff \
>    match u8 0x05 0x0f at 0 \
>    match u16 0x0000 0xffc0 at 2 \
>    match u8 0x10 0xff at 33 \
>    flowid 1:10
> 
> # rest is 'non-interactive' ie 'bulk' and ends up in 1:20
> 
> 
> ########## downlink #############
> # slow downloads down to somewhat less than the real speed  to prevent
> # queuing at our ISP. Tune to see how high you can set it.
> # ISPs tend to have *huge* queues to make sure big downloads are fast
> #
> # attach ingress policer:
> 
> tc qdisc add dev $DEV handle ffff: ingress
> 
> EOF
> 
> Regards,
> Jean-Michel.
> 
> 
> -- 
> To UNSUBSCRIBE, email to debian-firewall-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact
> listmaster@lists.debian.org
> 
> 



		
__________________________________ 
Do you Yahoo!? 
All your favorites on one personal page ? Try My Yahoo!
http://my.yahoo.com 



Reply to: