[LARTC] Games packets priority

Linux Advanced Routing and Traffic Control

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

 



 
Hello!
I read a post on LARTC mailing list ( http://mailman.ds9a.nl/pipermail/lartc/2002q3/004827.html )  ...and I found a script called "Games Script"!
I need to know....what I have done wrong in my scripts(see below) ! When the bandwith it's FULL (of downloads), CounterStrike lag it's very very high(practically unplayable)
 
[Counter Strike transfer its UDP on Destination Port 27015 and Source Port 27005]
Sorry for this huge e-mail but I want to know I've done wrog!
 
#### eth0 (iNet Interface)
 
#!/bin/sh
# last update 26.02.2003
TOTAL=320Kbit
 
echo "delete!"
tc qdisc del dev eth0 root
 
echo "qdisc..."
tc qdisc add dev eth0 root handle 1: htb default 2 r2q 3
tc class add dev eth0 parent 1: classid 1:1 htb rate $TOTAL ceil $TOTAL
tc class add dev eth0 parent 1:1 classid 1:2 htb rate 50Kbit ceil $TOTAL prio 6 # !!default!!
tc class add dev eth0 parent 1:1 classid 1:3 htb rate 50Kbit ceil $TOTAL prio 3 # SSH
tc class add dev eth0 parent 1:1 classid 1:4 htb rate 50Kbit ceil $TOTAL prio 3 # VNC+Remote Desktop Connection
tc class add dev eth0 parent 1:1 classid 1:5 htb rate 50Kbit ceil $TOTAL prio 1 # WWW
tc class add dev eth0 parent 1:1 classid 1:6 htb rate 50Kbit ceil $TOTAL prio 3 #telnet
tc class add dev eth0 parent 1: classid 1:60 htb rate 240Kbit ceil 240Kbit #ACK+SYN+FIN+RST
tc class add dev eth0 parent 1: classid 1:70 htb rate 80Kbit ceil 80Kbit #ICMP
tc class add dev eth0 parent 1: classid 1:71 htb rate 80Kbit ceil 80Kbit #DNS
tc class add dev eth0 parent 1: classid 1:72 htb rate 240Kbit ceil 240Kbit #Counter Strike
 
#tc qdisc add dev eth0 parent 1:2 handle 2: sfq perturb 1
#tc qdisc add dev eth0 parent 1:5 handle 5: sfq perturb 3
#tc qdisc add dev eth0 parent 1:6 handle 6: sfq perturb 1
 
echo "filters..."
tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip sport \
  3389 0xffff flowid 1:4
tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip sport \
  445 0xffff flowid 1:4
tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip sport \
  23 0xffff flowid 1:6
tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip sport \
  22 0xffff flowid 1:3
tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip dport \
  22 0xffff flowid 1:3
tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip sport \
  80 0xffff flowid 1:5
#DNS
tc filter add dev eth0 parent 1: protocol ip prio 1 u32 \
  match ip dport 53 0xff \
  flowid 1:71
#Counter Strike
tc filter add dev eth0 parent 1: protocol ip prio 1 u32 \
  match ip dport 27015 0xffff \
  flowid 1:72
 
#ICMP
tc filter add dev eth0 parent 1: protocol ip prio 1 u32 \
  match u8 0x01 0xff at 9 \
  flowid 1:70
 
#ACK
tc filter add dev eth0 parent 1: protocol ip prio 1 u32 \
  match ip protocol 6 0xff \
  match u8 0x05 0x0f at 0 \
  match u8 0x10 0x10 at 33 \
  match u16 0x0000 0xffc0 at 2 \
  flowid 1:60
#SYN
tc filter add dev eth0 parent 1: protocol ip prio 1 u32 \
  match ip protocol 6 0xff \
  match u8 0x05 0x0f at 0 \
  match u8 0x02 0x02 at 33 \
  match u16 0x0000 0xffc0 at 2 \
  flowid 1:60
#FIN
tc filter add dev eth0 parent 1: protocol ip prio 1 u32 \
  match ip protocol 6 0xff \
  match u8 0x05 0x0f at 0 \
  match u8 0x01 0x01 at 33 \
  match u16 0x0000 0xffc0 at 2 \
  flowid 1:60
#RST
tc filter add dev eth0 parent 1: protocol ip prio 1 u32 \
  match ip protocol 6 0xff \
  match u8 0x05 0x0f at 0 \
  match u8 0x04 0x04 at 33 \
  match u16 0x0000 0xffc0 at 2 \
  flowid 1:60
 
#### eth1 (LAN Interface)
 
#!/bin/sh
TRATE=960Kbit
 
echo "delete!"
tc qdisc del dev eth1 root 2>/dev/null >/dev/null
 
echo "add qdisc..."
tc qdisc add dev eth1 root handle 1: htb default 99 r2q 1
 
#atentie!!! suma(rate copii) = rate parinte !!!!
echo "add classes..."
tc class add dev eth1 parent 1: classid 1:1 htb rate $TRATE ceil $TRATE
tc class add dev eth1 parent 1: classid 1:139 htb rate 4000Kbit ceil 4000Kbit
 
#ICMP class
tc class add dev eth1 parent 1: classid 1:111 htb rate 80Kbit ceil 80Kbit
#DNS class
tc class add dev eth1 parent 1: classid 1:112 htb rate 40Kbit ceil 80Kbit
 
#www class
tc class add dev eth1 parent 1:1 classid 1:3 htb rate 50Kbit ceil $TRATE prio 1
#rdc class
tc class add dev eth1 parent 1:1 classid 1:6 htb rate 50Kbit ceil $TRATE prio 1
#netbios
tc class add dev eth1 parent 1:1 classid 1:7 htb rate 50Kbit ceil $TRATE prio 1
#ssh class
tc class add dev eth1 parent 1:1 classid 1:4 htb rate 16Kbit ceil $TRATE prio 1
#dhcpd
tc class add dev eth1 parent 1:1 classid 1:5 htb rate 16Kbit ceil $TRATE prio 2
#Counter Strike
tc class add dev eth1 parent 1:1 classid 1:8 htb rate 84Kbit ceil $TRATE prio 1
 

#others parent
DOWN=540
tc class add dev eth1 parent 1:1 classid 1:2 htb rate $[DOWN]Kbit ceil $TRATE prio 2
 
#badboys classes
N=24 #23 + 1(default) = 24
RATE=$[(8*$DOWN)/(10*$N)]
 
echo "$[RATE]Kbit / class"
tc class add dev eth1 parent 1:2 classid 1:226 htb rate $[RATE+5]Kbit ceil $TRATE prio 0 #226
tc class add dev eth1 parent 1:2 classid 1:227 htb rate $[RATE]Kbit ceil $TRATE prio 2 #227
tc class add dev eth1 parent 1:2 classid 1:228 htb rate $[RATE]Kbit ceil $TRATE prio 2 #228
tc class add dev eth1 parent 1:2 classid 1:229 htb rate $[RATE]Kbit ceil $TRATE prio 2 #229
tc class add dev eth1 parent 1:2 classid 1:230 htb rate $[RATE]Kbit ceil $TRATE prio 2 #230
tc class add dev eth1 parent 1:2 classid 1:231 htb rate $[RATE]Kbit ceil $TRATE prio 2 #231
tc class add dev eth1 parent 1:2 classid 1:232 htb rate $[RATE]Kbit ceil $TRATE prio 2 #232
tc class add dev eth1 parent 1:2 classid 1:233 htb rate $[RATE]Kbit ceil $TRATE prio 2 #233
tc class add dev eth1 parent 1:2 classid 1:234 htb rate $[RATE]Kbit ceil $TRATE prio 2 #234
#tc class add dev eth1 parent 1:2 classid 1:235 htb rate $[RATE]Kbit ceil $TRATE prio 2 #235
tc class add dev eth1 parent 1:2 classid 1:236 htb rate $[RATE]Kbit ceil $TRATE prio 2 #236
tc class add dev eth1 parent 1:2 classid 1:237 htb rate $[RATE]Kbit ceil $TRATE prio 2 #237
tc class add dev eth1 parent 1:2 classid 1:238 htb rate $[RATE]Kbit ceil $TRATE prio 2 #238
tc class add dev eth1 parent 1:2 classid 1:239 htb rate $[RATE]Kbit ceil $TRATE prio 2 #239
tc class add dev eth1 parent 1:2 classid 1:240 htb rate $[RATE]Kbit ceil $TRATE prio 2 #240
tc class add dev eth1 parent 1:2 classid 1:241 htb rate $[RATE]Kbit ceil $TRATE prio 2 #241
tc class add dev eth1 parent 1:2 classid 1:242 htb rate $[RATE]Kbit ceil $TRATE prio 2 #242
tc class add dev eth1 parent 1:2 classid 1:243 htb rate $[RATE]Kbit ceil $TRATE prio 2 #243
tc class add dev eth1 parent 1:2 classid 1:244 htb rate $[RATE]Kbit ceil $TRATE prio 2 #244
tc class add dev eth1 parent 1:2 classid 1:245 htb rate $[RATE]Kbit ceil $TRATE prio 2 #245
#tc class add dev eth1 parent 1:2 classid 1:246 htb rate $[RATE]Kbit ceil $TRATE prio 2 #246
#tc class add dev eth1 parent 1:2 classid 1:247 htb rate $[RATE]Kbit ceil $TRATE prio 2 #247
#tc class add dev eth1 parent 1:2 classid 1:248 htb rate $[RATE]Kbit ceil $TRATE prio 2 #248
tc class add dev eth1 parent 1:2 classid 1:249 htb rate $[RATE]Kbit ceil $TRATE prio 2 #249
tc class add dev eth1 parent 1:2 classid 1:250 htb rate $[RATE]Kbit ceil $TRATE prio 2 #250
#tc class add dev eth1 parent 1:2 classid 1:251 htb rate $[RATE]Kbit ceil $TRATE prio 2 #251
tc class add dev eth1 parent 1:2 classid 1:252 htb rate $[RATE]Kbit ceil $TRATE prio 2 #252
#tc class add dev eth1 parent 1:2 classid 1:253 htb rate $[RATE]Kbit ceil $TRATE prio 2 #253
tc class add dev eth1 parent 1:2 classid 1:254 htb rate $[RATE]Kbit ceil $TRATE prio 2 #254
 
#default class
tc class add dev eth1 parent 1:2 classid 1:99 htb rate $[RATE]Kbit ceil $TRATE prio 2 #0
 
echo "add filters..."
#icmp
tc filter add dev eth1 parent 1:0 protocol ip prio 2 u32 \
  match u8 0x01 0xff at 9 \
  flowid 1:111
#icmp
tc filter add dev eth1 parent 1:0 protocol ip prio 2 u32 \
  match ip sport 53 0xff \
  flowid 1:112
#samba
tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip sport \
  139 0xffff match ip src 81.196.113.225 flowid 1:139
tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip sport \
  138 0xffff match ip src 81.196.113.225 flowid 1:139
tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip sport \
  137 0xffff match ip src 81.196.113.225 flowid 1:139
 
#www
tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip sport \
  80 0xffff match ip dst 81.196.113.224/27 flowid 1:3
#rdc
tc filter add dev eth1 parent 1:0 protocol ip prio 2 u32 match ip dport \
  3389 0xffff match ip dst 81.196.113.224/27 flowid 1:6
#netbios
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dport \
  445 0xffff match ip dst 81.196.113.224/27 flowid 1:7
#ssh
tc filter add dev eth1 parent 1:0 protocol ip prio 2 u32 match ip sport \
  22 0xffff flowid 1:4
tc filter add dev eth1 parent 1:0 protocol ip prio 2 u32 match ip dport \
  22 0xffff flowid 1:4
#dhcp
tc filter add dev eth1 parent 1:0 protocol ip prio 2 u32 match ip sport \
  67 0xffff match ip dst 81.196.113.224/27 flowid 1:5
#Counter Strike
tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip sport \
  27005 0xffff match ip dst 81.196.113.224/27 flowid 1:8
 
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.226 flowid 1:226
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.227 flowid 1:227
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.228 flowid 1:228
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.229 flowid 1:229
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.230 flowid 1:230
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.231 flowid 1:231
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.232 flowid 1:232
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.233 flowid 1:233
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.234 flowid 1:234
#tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
#  81.196.113.235 flowid 1:235
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.236 flowid 1:236
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.237 flowid 1:237
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.238 flowid 1:238
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.239 flowid 1:239
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.240 flowid 1:240
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.241 flowid 1:241
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.242 flowid 1:242
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.243 flowid 1:243
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.244 flowid 1:244
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.245 flowid 1:245
#tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
#  81.196.113.246 flowid 1:246
#tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
#  81.196.113.247 flowid 1:247
#tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
#  81.196.113.248 flowid 1:248
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.249 flowid 1:249
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.250 flowid 1:250
#tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
#  81.196.113.251 flowid 1:251
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.252 flowid 1:252
#tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
#  81.196.113.253 flowid 1:253
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip dst \
  81.196.113.254 flowid 1:254
 
echo "add leaf qdisc..."
tc qdisc add dev eth1 parent 1:3 handle 3: sfq perturb 2
tc qdisc add dev eth1 parent 1:4 handle 4: sfq perturb 2
 
tc qdisc add dev eth1 parent 1:139 handle 139: sfq perturb 1
 
tc qdisc add dev eth1 parent 1:99 handle 99: sfq perturb 2

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux