Hi i make this script (Wonder Shaper modify) to accelerate www,Counter
strike and some other ports.
Can anybody tell me what you thinks about it?
- My problem is with http downloads. The priority is for Counter Strike but
when somebody start
downloading a file from http the Ping Lag get up to 500.
- Something more, i can prioritize the DNS from the server (i am using a
dnscache).
Using Leaf Bering 1.2 (kernel 2.4.20)
Well here is, see it.
#!/bin/bash
# Wonder Shaper ADSL
##########################################################################
# RATES
DOWNLINK=440
UPLINK=110
UPLINK90=100
UPLINK80=90
DEV=ppp0
##########################################################################
# Clean qdisc
tc qdisc del dev $DEV root 2> /dev/null > /dev/null
tc qdisc del dev $DEV ingress 2> /dev/null > /dev/null
iptables -t mangle -F PREROUTING
if [ "$1" = "stop" ]
then
exit
fi
##########################################################################
# Root class
tc qdisc add dev $DEV root handle 1: htb default 30
tc class add dev $DEV parent 1: classid 1:1 htb rate ${UPLINK}kbit burst 6k
##########################################################################
# Children class
# Max priority for ACK and others
tc class add dev $DEV parent 1:1 classid 1:10 htb rate ${UPLINK}kbit \
burst 2k prio 1
# Counter Strike
tc class add dev $DEV parent 1:1 classid 1:15 htb rate ${UPLINK90}kbit \
burst 2k prio 3
# Port class
tc class add dev $DEV parent 1:1 classid 1:20 htb rate ${UPLINK80}kbit \
burst 2k prio 5
# Terminal class
tc class add dev $DEV parent 1:1 classid 1:30 htb rate ${UPLINK80}kbit \
burst 2k prio 7
##########################################################################
# SFQ
tc qdisc add dev $DEV parent 1:10 handle 10: sfq perturb 10
tc qdisc add dev $DEV parent 1:15 handle 15: sfq perturb 10
tc qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 10
tc qdisc add dev $DEV parent 1:30 handle 30: sfq perturb 10
##########################################################################
# Filters
##########################################################################
# Ports
# ICMP (ping)
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \
match ip protocol 1 0xff flowid 1:10
# ACK
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
# Puerto Telnet 23
tc filter add dev $DEV parent 1: protocol ip prio 12 u32 \
match ip dport 23 0xffff flowid 1:10
# DNS
#tc filter add dev $DEV parent 1: protocol ip prio 11 u32 \
#match ip sport 53 0xffff \
#match ip protocol 17 0xff \
#flowid 1:10
# Puerto 80
tc filter add dev $DEV parent 1: protocol ip prio 20 u32 \
match ip dport 80 0xffff flowid 1:20
# Puerto Counter 2701x
tc filter add dev ppp0 parent 1: protocol ip prio 15 handle 9 fw
flowid 1:15
iptables -t mangle -A PREROUTING -i eth0 -p udp --dport 27010 \
-j MARK --set-mark 9
iptables -t mangle -A PREROUTING -i eth0 -p udp --dport 27011 \
-j MARK --set-mark 9
iptables -t mangle -A PREROUTING -i eth0 -p udp --dport 27012 \
-j MARK --set-mark 9
iptables -t mangle -A PREROUTING -i eth0 -p udp --dport 27013 \
-j MARK --set-mark 9
iptables -t mangle -A PREROUTING -i eth0 -p udp --dport 27014 \
-j MARK --set-mark 9
iptables -t mangle -A PREROUTING -i eth0 -p udp --dport 27015 \
-j MARK --set-mark 9
iptables -t mangle -A PREROUTING -i eth0 -p udp --dport 27016 \
-j MARK --set-mark 9
iptables -t mangle -A PREROUTING -i eth0 -p udp --dport 27017 \
-j MARK --set-mark 9
iptables -t mangle -A PREROUTING -i eth0 -p udp --dport 27018 \
-j MARK --set-mark 9
iptables -t mangle -A PREROUTING -i eth0 -p udp --dport 27019 \
-j MARK --set-mark 9
##########################################################################
# Per terminal
# wksWindowsXP
# tc filter add dev $DEV parent 1: protocol ip prio 20 \
# handle 4 fw flowid 1:30
# iptables -t mangle -A PREROUTING -s 192.168.0.4 \
# -j MARK --set-mark 4
##########################################################################
# General (i don''t use it)
tc filter add dev $DEV parent 1: protocol ip prio 20 u32 \
match ip dst 0.0.0.0/0 flowid 1:30
##########################################################################
# DOWNLOAD
tc qdisc add dev $DEV handle ffff: ingress
# filter *everything* to it (0.0.0.0/0), drop everything that''s coming
in
too fast:
tc filter add dev $DEV parent ffff: protocol ip prio 50 u32 match ip src \
0.0.0.0/0 police rate ${DOWNLINK}kbit burst 10k drop flowid :1
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/