Dziwne zachowanie HTB
: 27 lipca 2007, 10:15
Witam
Mam taki dziwny problem z htb. Otóż w dokumentacji pisze że HTB wrzuca pakiety do pierwszej pasującej klasy. Na jądrze 2.4.34 rzeczywiście tak było natomiast jak przesiadłem się na Debiana 2.6.18 skrypt z htb zaczął po prostu działać inaczej tzn tworze dwie klasy np 2:6 2:9 i ładuje do nich pakiety np. z portu 22. mam również zdefiniowaną klasę domyślną 2:250. otóż zgodnie z założeniami pakiety powinny trafiać do pierwszej pasującej klasy tymczasem pakiety z tego portu trafiają do klasy 2:9 która jest zdefiniowana po 2:6 (filtry dodane również w tej kolejności). Jeżeli wyhashuje klasę 2:9 to pakiety trafiają do klasy 2:6. Czy w htb w jądrze 2.6 zaszły jakieś zmiany ?
[ Dodano: 2007-07-27, 10:26 ]
Podaję część skryptu
[ Dodano: 2007-07-27, 10:37 ]
Oczywiście na początku skrytptu reguły są czyszczone
[ Dodano: 2007-07-27, 10:42 ]
Inna sprawa że nie działa polecenie "preference"
//edit
używaj tagów code
mlyczek
Mam taki dziwny problem z htb. Otóż w dokumentacji pisze że HTB wrzuca pakiety do pierwszej pasującej klasy. Na jądrze 2.4.34 rzeczywiście tak było natomiast jak przesiadłem się na Debiana 2.6.18 skrypt z htb zaczął po prostu działać inaczej tzn tworze dwie klasy np 2:6 2:9 i ładuje do nich pakiety np. z portu 22. mam również zdefiniowaną klasę domyślną 2:250. otóż zgodnie z założeniami pakiety powinny trafiać do pierwszej pasującej klasy tymczasem pakiety z tego portu trafiają do klasy 2:9 która jest zdefiniowana po 2:6 (filtry dodane również w tej kolejności). Jeżeli wyhashuje klasę 2:9 to pakiety trafiają do klasy 2:6. Czy w htb w jądrze 2.6 zaszły jakieś zmiany ?
[ Dodano: 2007-07-27, 10:26 ]
Podaję część skryptu
Kod: Zaznacz cały
# INTERFEJS ETH0 (ruch wychodz.cy)
/sbin/tc qdisc add dev eth0 root handle 2:0 htb default 11 r2q 6
# g..wna klasa
/sbin/tc class add dev eth0 parent 2:0 classid 2:1 htb rate 500kbit ceil 512kbit
# klasa ssh
/sbin/tc class add dev eth0 parent 2:1 classid 2:6 htb rate 20kbit ceil 100kbit prio 2 quantum 1500
/sbin/tc qdisc add dev eth0 parent 2:6 sfq perturb 10
/sbin/tc filter add dev eth0 parent 2:0 protocol ip prio 2 u32 match ip sport 22 0xffff flowid 2:6 # port 22
# klasa priorytetowa TOS 0x10 oraz ICMP
/sbin/tc class add dev eth0 parent 2:1 classid 2:9 htb rate 20kbit ceil 100kbit prio 2 quantum 1500
/sbin/tc qdisc add dev eth0 parent 2:9 sfq perturb 10
/sbin/tc filter add dev eth0 parent 2:0 protocol ip prio 1 u32 match ip tos 0x10 0xff flowid 2:9 # TOS 0x10
/sbin/tc filter add dev eth0 parent 2:0 protocol ip prio 1 u32 match ip protocol 1 0xff flowid 2:9 # ICMP
# ruch serwerowy dla gosci z zewnatrz
/sbin/tc class add dev eth0 parent 2:1 classid 2:11 htb rate 64kbit ceil 128kbit prio 5 quantum 1500
/sbin/tc qdisc add dev eth0 parent 2:11 sfq perturb 10
/sbin/tc filter add dev eth0 parent 2:0 protocol ip prio 5 handle 0x1 fw flowid 2:11
# 192.168.1.4 klient0
/sbin/tc class add dev eth0 parent 2:1 classid 2:4 htb rate 36kbit ceil 128kbit prio 2 quantum 1500
/sbin/tc qdisc add dev eth0 parent 2:4 sfq perturb 10
/sbin/tc filter add dev eth0 parent 2:0 protocol ip prio 5 handle 4 fw flowid 2:4
# 192.168.1.30 klient1
/sbin/tc class add dev eth0 parent 2:1 classid 2:30 htb rate 12kbit ceil 48kbit prio 2 quantum 1500
/sbin/tc qdisc add dev eth0 parent 2:30 sfq perturb 10
/sbin/tc filter add dev eth0 parent 2:0 protocol ip prio 5 handle 30 fw flowid 2:30
Oczywiście na początku skrytptu reguły są czyszczone
Kod: Zaznacz cały
/sbin/tc qdisc del root dev eth0 2> /dev/null
/sbin/tc qdisc del root dev eth1 2> /dev/null
Inna sprawa że nie działa polecenie "preference"
//edit
używaj tagów code
mlyczek