problem z htb - nie dziala ograniczenie per host

Przemysław Backiel przemyslaw.backiel w backiel.com.pl
Czw, 2 Lut 2006, 13:11:01 CET


Witam,

robie podział trafficu per usługa, markuje usługi w iptables i wrzucam 
jest bezpośrednio do klas z poziomu iptables, mój skrypt zamieszczam 
poniżej.

teraz chciałem utworzyć klase 1:15 i wrzucać do niej ruch dst dla 
192.168.1.9, lecz to nie działa.
zgodnie z diagramem krążenia pakietów, zrozumiałem ze najpierw zadziała 
filtr u32 a dopiero potem zadziałają markowania w iptables.
jaki mam teraz efekt?
ruch do 1:15 nie trafia no i transfer dla 192.168.1.9 nie jest 
ograniczony wcale :(
co robie źle?


oto mój skrypt htb:
----------------

WYJSCIE=5800Kbit
P2P_DOWN=2700Kbit
HTTP=2900Kbit

#---------------------
/sbin/tc qdisc del dev eth1 root
/sbin/tc qdisc add dev eth1 root handle 1 htb default 50

/sbin/tc qdisc del dev eth0 root
/sbin/tc qdisc add dev eth0 root handle 1 htb default 50

/sbin/tc class add dev eth1 parent 1: classid 1:2 htb rate 90000Kbit
#
/sbin/tc class add dev eth1 parent 1:2 classid 1:95 htb rate 80000Kbit 
ceil 80000Kbit prio 1
/sbin/tc qdisc add dev eth1 parent 1:95 handle 95 sfq perturb 1
#

/sbin/tc class add dev eth1 parent 1:2 classid 1:10 htb rate $WYJSCIE 
ceil $WYJSCIE

/sbin/tc class add dev eth1 parent 1:10 classid 1:30 htb rate 400Kbit 
ceil 900Kbit burst 45Kb prio 1
/sbin/tc qdisc add dev eth1 parent 1:30 handle 30 sfq perturb 1
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 1 fw 
classid 1:30
########
/sbin/tc class add dev eth1 parent 1:10 classid 1:15 htb rate 128kbit 
ceil 128kbit
/sbin/tc filter add dev eth1 protocol ip preference 2 parent 1:0 u32 
match ip dst 192.168.1.9 flowid 1:15
########

/sbin/tc class add dev eth1 parent 1:10 classid 1:40 htb rate 800Kbit 
ceil 1000Kbit burst 128Kb prio 2 cburst 256Kb
/sbin/tc qdisc add dev eth1 parent 1:40 handle 40 sfq perturb 1

/sbin/tc class add dev eth1 parent 1:10 classid 1:43 htb rate 450Kbit 
ceil 8000Kbit burst 20Kb prio 3 cburst 40Kb
/sbin/tc qdisc add dev eth1 parent 1:43 handle 43 sfq perturb 1

/sbin/tc class add dev eth1 parent 1:10 classid 1:50 htb rate 50Kbit 
ceil 1900Kbit burst 1Kb prio 12
/sbin/tc qdisc add dev eth1 parent 1:50 handle 50 sfq perturb 1

/sbin/tc class add dev eth1 parent 1:10 classid 1:60 htb rate 350Kbit 
ceil 900Kbit burst 15Kb prio 5
/sbin/tc qdisc add dev eth1 parent 1:60 handle 60 sfq perturb 1

/sbin/tc class add dev eth1 parent 1:10 classid 1:70 htb rate 1Kbit ceil 
1300Kbit burst 1Kb prio 9
/sbin/tc qdisc add dev eth1 parent 1:70 handle 70 sfq perturb 1
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 9 fw 
classid 1:70

/sbin/tc class add dev eth1 parent 1:10 classid 1:80 htb rate 1Kbit ceil 
$P2P_DOWN burst 1Kb prio 11
#/sbin/tc qdisc add dev eth1 parent 1:80 handle 80 sfq perturb 1
/sbin/tc qdisc add dev eth1 parent 1:80 handle 80 wrr dest ip 254 0
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 10 
fw classid 1:80

/sbin/tc class add dev eth1 parent 1:10 classid 1:90 htb rate 1100Kbit 
ceil $HTTP burst 15Kb prio 4
/sbin/tc qdisc add dev eth1 parent 1:90 handle 90 wrr dest ip 254 0
#/sbin/tc qdisc add dev eth1 parent 1:90 handle 90 sfq perturb 1

/sbin/tc class add dev eth0 parent 1: classid 1:3 htb rate 3950Kbit ceil 
3950Kbit

/sbin/tc class add dev eth0 parent 1:3 classid 1:10 htb rate 3950Kbit 
ceil 3950Kbit

/sbin/tc class add dev eth0 parent 1:10 classid 1:30 htb rate 400Kbit 
ceil 900Kbit burst 45Kb prio 1
/sbin/tc qdisc add dev eth0 parent 1:30 handle 30 sfq perturb 1
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 200 handle 1 fw 
classid 1:30

/sbin/tc class add dev eth0 parent 1:10 classid 1:40 htb rate 800Kbit 
ceil 1000Kbit burst 128Kb prio 2 cburst 256Kb
/sbin/tc qdisc add dev eth0 parent 1:40 handle 40 sfq perturb 1

/sbin/tc class add dev eth0 parent 1:10 classid 1:43 htb rate 450Kbit 
ceil 8000Kbit burst 20Kb prio 3 cburst 40Kb
/sbin/tc qdisc add dev eth0 parent 1:43 handle 43 sfq perturb 1

/sbin/tc class add dev eth0 parent 1:10 classid 1:50 htb rate 50Kbit 
ceil 1900Kbit burst 1Kb prio 12
/sbin/tc qdisc add dev eth0 parent 1:50 handle 50 sfq perturb 1

/sbin/tc class add dev eth0 parent 1:10 classid 1:60 htb rate 350Kbit 
ceil 900Kbit burst 15Kb prio 5
/sbin/tc qdisc add dev eth0 parent 1:60 handle 60 sfq perturb 1

/sbin/tc class add dev eth0 parent 1:10 classid 1:70 htb rate 50Kbit 
ceil 1700Kbit burst 1Kb prio 9
/sbin/tc qdisc add dev eth0 parent 1:70 handle 70 sfq perturb 1
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 200 handle 9 fw 
classid 1:70

/sbin/tc class add dev eth0 parent 1:10 classid 1:80 htb rate 1Kbit ceil 
2350Kbit burst 1Kb prio 11
/sbin/tc qdisc add dev eth0 parent 1:80 handle 80 wrr sour ip 254 0
#/sbin/tc qdisc add dev eth0 parent 1:80 handle 80 sfq perturb 1

/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 200 handle 10 
fw classid 1:80

/sbin/tc class add dev eth0 parent 1:10 classid 1:90 htb rate 900Kbit 
ceil 900Kbit burst 15Kb prio 4
/sbin/tc qdisc add dev eth0 parent 1:90 handle 90 sfq perturb 1
-- 
Z powazaniem
Przemyslaw Backiel



Więcej informacji o liście dyskusyjnej pld-users-pl