Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so dont bother with any of their useless mail servers here and just use oauth login instead. Thank the nice Russians for causing that. :)

Paste

Pasted as Bash by registered user Shaman ( 16 years ago )
#!/bin/bash
PATH="/sbin:/bin:/usr/sbin:/usr/bin"
TC="/usr/sbin/tc"
IP="/usr/sbin/iptables"
BURST=5Kb
RATE=100
CEIL=3000
CEIL_INTERNAL=7000
CEIL_ADMIN=3000
CEIL_ADMIN_SSH=500
let "CEIL_MAIN=$CEIL_INTERNAL+$CEIL"
let "CEIL_MAIN2=2*($CEIL_INTERNAL+$CEIL)"
let "CEIL_INTERNAL2=2 * $CEIL_INTERNAL"
let "CEIL2=2 * $CEIL"
let "RATE_MAIN=$RATE * 3"
$IP -t mangle -F
#начало секции br0
$TC qdisc del dev br0 root

$TC qdisc add dev br0 root handle 1: htb default 500
 $TC class add dev br0 parent 1: classid 1:10 htb rate 50Mbit
 $TC class add dev br0 parent 1:1 classid 1:30 htb rate 40Mbit prio 1
 $TC class add dev br0 parent 1:1 classid 1:40 htb rate ${RATE}Kbit ceil ${CEIL_ADMIN_SSH}Kbit prio 1 burst ${BURST}
 $TC class add dev br0 parent 1:1 classid 1:50 htb rate ${RATE}Kbit ceil ${CEIL_ADMIN}Kbit prio 2 burst ${BURST}
 $TC class add dev br0 parent 1:1 classid 1:60 htb rate ${RATE}Kbit ceil ${CEIL}Kbit prio 2 burst ${BURST}
 $TC class add dev br0 parent 1:1 classid 1:70 htb rate ${RATE}Kbit ceil ${CEIL}Kbit prio 2 burst ${BURST}
 $TC class add dev br0 parent 1:1 classid 1:80 htb rate ${RATE}Kbit ceil ${CEIL}Kbit prio 2 burst ${BURST}
 $TC class add dev br0 parent 1:1 classid 1:90 htb rate ${RATE}Kbit ceil ${CEIL}Kbit prio 2 burst ${BURST}
 $TC class add dev br0 parent 1:1 classid 1:100 htb rate ${RATE}Kbit ceil ${CEIL}Kbit prio 2 burst ${BURST}
 $TC class add dev br0 parent 1:1 classid 1:110 htb rate ${RATE}Kbit ceil ${CEIL}Kbit prio 2 burst ${BURST}
 $TC class add dev br0 parent 1:1 classid 1:120 htb rate ${RATE}Kbit ceil ${CEIL}Kbit prio 2 burst ${BURST}
 $TC class add dev br0 parent 1:1 classid 1:130 htb rate ${RATE}Kbit ceil ${CEIL_ADMIN}Kbit prio 2 burst ${BURST}
 $TC class add dev br0 parent 1:1 classid 1:140 htb rate ${RATE_MAIN}Kbit ceil ${CEIL_MAIN}Kbit prio 2 burst ${BURST}
  $TC class add dev br0 parent 1:140 classid 1:141 htb rate ${RATE}Kbit ceil ${CEIL_ADMIN}Kbit prio 2 burst ${BURST}
  $TC class add dev br0 parent 1:140 classid 1:142 htb rate ${RATE}Kbit ceil ${CEIL_INTERNAL}Kbit prio 3
 $TC class add dev br0 parent 1:1 classid 1:150 htb rate ${RATE_MAIN}Kbit ceil ${CEIL_MAIN}Kbit prio 2 burst ${BURST}
  $TC class add dev br0 parent 1:150 classid 1:151 htb rate ${RATE}Kbit ceil ${CEIL}Kbit prio 2 burst ${BURST}
  $TC class add dev br0 parent 1:150 classid 1:152 htb rate ${RATE}Kbit ceil ${CEIL_INTERNAL}Kbit prio 3
 $TC class add dev br0 parent 1:1 classid 1:500 htb rate 1Kbit prio 5
 
$TC qdisc add dev br0 parent 1:30 handle 300: sfq perturb 10
$TC qdisc add dev br0 parent 1:40 handle 400: sfq perturb 10
$TC qdisc add dev br0 parent 1:50 handle 500: sfq perturb 10
$TC qdisc add dev br0 parent 1:60 handle 600: sfq perturb 10
$TC qdisc add dev br0 parent 1:70 handle 700: sfq perturb 10
$TC qdisc add dev br0 parent 1:80 handle 800: sfq perturb 10
$TC qdisc add dev br0 parent 1:90 handle 900: sfq perturb 10
$TC qdisc add dev br0 parent 1:100 handle 1000: sfq perturb 10
$TC qdisc add dev br0 parent 1:110 handle 1100: sfq perturb 10
$TC qdisc add dev br0 parent 1:120 handle 1200: sfq perturb 10
$TC qdisc add dev br0 parent 1:130 handle 1300: sfq perturb 10
 $TC qdisc add dev br0 parent 1:141 handle 1410: sfq perturb 10
 $TC qdisc add dev br0 parent 1:142 handle 1420: sfq perturb 10
 
 $TC qdisc add dev br0 parent 1:151 handle 1510: sfq perturb 10
 $TC qdisc add dev br0 parent 1:152 handle 1520: sfq perturb 10
 
$TC qdisc add dev br0 parent 1:500 handle 5000: sfq perturb 10

$TC filter add dev br0 protocol ip parent 1:0 prio 2 u32 match ip dst 192.168.0.0/16 match ip src 192.168.0.0/16 flowid 1:30
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip sport 22 0xffff flowid 1:40
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dport 22 0xffff flowid 1:40
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip protocol 1 0xff flowid 1:40
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.200 flowid 1:50
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.199 flowid 1:50
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.53 flowid 1:60
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.131 flowid 1:70
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.204 flowid 1:80
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.205 flowid 1:90
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.40 flowid 1:100
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.93 flowid 1:100
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.92 flowid 1:100
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.59 flowid 1:110
#$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.59 flowid 1:110
#$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.59 flowid 1:110
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.209 flowid 1:120
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.206 flowid 1:130
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.207 match ip src 91.144.140.0/22 flowid 1:142
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.207 match ip src 91.144.188.0/24 flowid 1:142
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.207 match ip src 188.187.240.0/24 flowid 1:142
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.207 match ip src 92.255.192.0/19 flowid 1:142
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.207 match ip src 94.180.128.0/17 flowid 1:142
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.207 match ip src 109.195.112.0/2 flowid 1:142
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.207 flowid 1:141
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.197 match ip src 91.144.140.0/22 flowid 1:152
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.197 match ip src 91.144.188.0/24 flowid 1:152
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.197 match ip src 188.187.240.0/24 flowid 1:152
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.197 match ip src 92.255.192.0/19 flowid 1:152
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.197 match ip src 94.180.128.0/17 flowid 1:152
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.197 match ip src 109.195.112.0/2 flowid 1:152
$TC filter add dev br0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.197 flowid 1:151

#конец секции br0
#секция ppp0
$TC qdisc del dev ppp0 root
$TC qdisc add dev ppp0 root handle 1 htb default 2 r2q 10
$TC class add dev ppp0 parent 1: classid 1:1 htb rate 10Mbit
#other (default)
$TC class add dev ppp0 parent 1:1 classid 1:2 htb rate ${RATE}Kbit ceil 9000Kbit prio 4 burst ${BURST}
$TC qdisc add dev ppp0 parent 1:2 handle 2 sfq perturb 10
#admin_ssh
$TC class add dev ppp0 parent 1:1 classid 1:3 htb rate ${RATE}Kbit ceil ${CEIL_ADMIN_SSH}Kbit prio 1 burst ${BURST}
$TC qdisc add dev ppp0 parent 1:3 handle 3 sfq perturb 10
$TC filter add dev ppp0 protocol ip parent 1:0 prio 1 u32 match ip sport 22 0xffff flowid 1:3
$TC filter add dev ppp0 protocol ip parent 1:0 prio 1 u32 match ip dport 22 0xffff flowid 1:3
$TC filter add dev ppp0 protocol ip parent 1:0 prio 1 u32 match ip protocol 1 0xff flowid 1:3
#web
$TC class add dev ppp0 parent 1:1 classid 1:4 htb rate ${RATE}Kbit ceil 9000Kbit prio 2 burst ${BURST}
$TC qdisc add dev ppp0 parent 1:4 handle 4 sfq perturb 10
$TC filter add dev ppp0 protocol ip parent 1:0 prio 1 u32 match ip sport 80 0xffff flowid 1:4
$TC filter add dev ppp0 protocol ip parent 1:0 prio 1 u32 match ip dport 80 0xffff flowid 1:4
#internal
$TC class add dev ppp0 parent 1:1 classid 1:5 htb rate ${RATE}Kbit ceil ${CEIL_INTERNAL}Kbit prio 5
$TC qdisc add dev ppp0 parent 1:5 handle 5 sfq perturb 10
$TC filter add dev ppp0 protocol ip parent 1:0 prio 1 u32 match ip dst 91.144.140.0/22 flowid 1:5
$TC filter add dev ppp0 protocol ip parent 1:0 prio 1 u32 match ip dst 91.144.188.0/24 flowid 1:5
$TC filter add dev ppp0 protocol ip parent 1:0 prio 1 u32 match ip dst 188.187.240.0/24 flowid 1:5
$TC filter add dev ppp0 protocol ip parent 1:0 prio 1 u32 match ip dst 92.255.192.0/19 flowid 1:5
$TC filter add dev ppp0 protocol ip parent 1:0 prio 1 u32 match ip dst 94.180.128.0/17 flowid 1:5
$TC filter add dev ppp0 protocol ip parent 1:0 prio 1 u32 match ip dst 109.195.112.0/20 flowid 1:5
#конец секции ppp0
echo "shaper"

 

Revise this Paste

Your Name: Code Language: