Pe un centos 5.1 toate update-urile la zi, incerc sa fac o limitare simpla. 
Gresec sigur la marcarea pachetelor.

Pe scurt, eth0=internet, banda garantata min=max=1024kbit, eth1=lan. Doresc sa 
fac urmatoarea prioritizare pentru cei din lan:
- daca looserii fac trafic http, acesta e prioritar -> primeste min 832k
- daca fac si trafic de mail, acesta ia prioritatea 2 si primeste un minim de 
128k
- restul traficului ia ce ramine, dar ii asigur oricum un minim de 64k

Un tc -s -d class show dev eth0 arata ca traficul http, o ia tot prin clasa 
default 1:12 si nu prin 1:10! unde gresesc?

CEIL=1024
EXTIF=eth0

tc qdisc del dev $EXTIF root

tc qdisc add dev $EXTIF root handle 1: htb default 12
tc class add dev $EXTIF parent 1: classid 1:1 htb rate 1024kbit ceil 1024kbit

tc class add dev $EXTIF parent 1:1 classid 1:10 htb rate 832kbit ceil 1024kbit 
prio 1
tc class add dev $EXTIF parent 1:1 classid 1:11 htb rate 128kbit ceil 1024kbit 
prio 2
tc class add dev $EXTIF parent 1:1 classid 1:12 htb rate 64kbit ceil 1024kbit 
prio 3

iptables -A OUTPUT -t mangle -o $EXTIF -p tcp --dport 80 -j MARK --set-mark 20
tc filter add dev $EXTIF parent 1: protocol ip handle 20 fw classid 1:10

iptables -A OUTPUT -t mangle -o $EXTIF -p tcp --dport 25 -j MARK --set-mark 30
tc filter add dev $EXTIF parent 1: protocol ip handle 30 fw classid 1:11

tc qdisc add dev $EXTIF handle ffff: ingress
tc filter add dev $EXTIF parent ffff: protocol ip prio 10 u32 match \
ip src 0.0.0.0/0 police rate $[90*$CEIL/100]kbit burst $[10*$CEIL/100]kbit \
drop flowid :1

alx

_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui