Problem z IFB

Serwery i sieci oparte na Slackware, wszelkiego rodzaju usługi, troubleshooting.

Moderatorzy: Moderatorzy, Administratorzy

ziomber
Użytkownik
Posty: 1
Rejestracja: 2010-06-25, 15:45

Problem z IFB

Post autor: ziomber »

Witam,

Już głupieję od tego. Niby wszystko jasne ale nie działa. Jak tylko odpalam skrypt sieć przestaje działać (serwer ma wyjście w świat ale do lokala ju z nie). Po krótce o co chodzi. Mam na uczelni serwerek gdzie pod eth1 podpięte są przez VLANy sieci a na eth0 jest necik. Łacze dla tej sieci to 10Mb w net i 1Gb po lanie. Poza tą siecią są zasoby uczelni też w gigabicie i do nich nie powinno być limitów (ale to na potem). Na początek powiem, że bez IFB chodziło dobrze ale bez porzyczania bo nie umiał sobie z tym radzić i głupiał ale ruch jakoś się rozkładał po kolejkach. Pakiety są markowane przez iptables ale w tej wersji jest przez filtry TC (obie nie działają).
Skrypt po przycięciu do istotnych elementów wygląda tak:

Kod: Zaznacz cały


/sbin/tc qdisc add dev ifb1 root handle 1: htb default 104 r2q 1
/sbin/tc class add dev ifb1 parent 1: classid 1:1 htb rate 999mbit ceil 999mbit quantum 1500

/sbin/tc class add dev ifb1 parent 1:1 classid 1:2 htb rate 10mbit ceil 10mbit
/sbin/tc qdisc add dev ifb1 parent 1:2 handle 2:0 esfq perturb 10 hash dst

/sbin/tc class add dev ifb1 parent 1:1 classid 1:3 htb rate 980mbit ceil 980mbit prio 9 quantum 1500
/sbin/tc qdisc add dev ifb1 parent 1:3 handle 3:0 esfq perturb 10 hash dst

/sbin/tc filter add dev ifb1 protocol ip parent 1: prio 3 u32 ht 800::  match ip src 91.xxx.xxx.0/24 flowid 1:3
/sbin/tc filter add dev ifb1 protocol ip parent 1: prio 3 u32 ht 800::  match ip src 91.xxx.xxx.0/24 flowid 1:3

#studenci
/sbin/tc class add dev ifb1 parent 1:2 classid 1:100 htb rate 1500kbit ceil 5mbit burst 100kbit prio 4 quantum 1500
/sbin/tc qdisc add dev ifb1 parent 1:100 esfq perturb 10 hash dst
/sbin/tc filter add dev ifb1 protocol ip parent 1: prio 3 u32 ht 800::  match ip dst 10.10.70.0/24 flowid 1:100
/sbin/tc filter add dev ifb1 protocol ip parent 1: prio 3 u32 ht 800::  match ip dst 10.10.78.0/24 flowid 1:100

#pracownicy
/sbin/tc class add dev ifb1 parent 1:2 classid 1:101 htb rate 5mbit ceil 10mbit burst 500kbit prio 1 quantum 1500
/sbin/tc qdisc add dev ifb1 parent 1:101 esfq perturb 10 hash dst
/sbin/tc filter add dev ifb1 protocol ip parent 1: prio 3 u32 ht 800::  match ip dst 10.10.71.0/24 flowid 1:101
/sbin/tc filter add dev ifb1 protocol ip parent 1: prio 3 u32 ht 800::  match ip dst 10.10.150.0/24 flowid 1:101

#pracownie
/sbin/tc class add dev ifb1 parent 1:2 classid 1:102 htb rate 1500kbit ceil 5mbit burst 200kbit prio 2 quantum 1500
/sbin/tc qdisc add dev ifb1 parent 1:102 esfq perturb 10 hash dst
/sbin/tc filter add dev ifb1 protocol ip parent 1: prio 3 u32 ht 800::  match ip dst 10.10.106.0/24 flowid 1:102
/sbin/tc filter add dev ifb1 protocol ip parent 1: prio 3 u32 ht 800::  match ip dst 10.10.107.0/24 flowid 1:102
# ....... itd każda pracownia ......

#specjalna grupa ssaczy
/sbin/tc class add dev ifb1 parent 1:2 classid 1:103 htb rate 1mbit ceil 2mbit burst 100kbit prio 3 quantum 1500
/sbin/tc qdisc add dev ifb1 parent 1:103 esfq perturb 10 hash dst
/sbin/tc filter add dev ifb1 protocol ip parent 1: prio 2 u32 ht 800::  match ip dst 10.10.71.60/27 flowid 1:103

# reszta 
/sbin/tc class add dev ifb1 parent 1:2 classid 1:104 htb rate 1mbit ceil 5mbit burst 300kbit prio 1 quantum 1500
/sbin/tc qdisc add dev ifb1 parent 1:104 esfq perturb 10 hash dst

tc qdisc add dev eth1 ingress
tc qdisc add dev eth1.70 ingress
#.... i tak dalej
tc qdisc add dev eth1.207 ingress

tc filter add dev eth1 parent ffff: protocol ip prio 10 u32 match ip dst 0.0.0.0/0 flowid 1:1 action mirred egress redirect dev ifb1    >/dev/null
tc filter add dev eth1.70 parent ffff: protocol ip prio 10 u32 match ip dst 0.0.0.0/0 flowid 1:1 action mirred egress redirect dev ifb1 >/dev/null
#.... i tak do konca
tc filter add dev eth1.207 parent ffff: protocol ip prio 10 u32 match ip dst 0.0.0.0/0 flowid 1:1 action mirred egress redirect dev ifb1 >/dev/null
Nie ma błędów, moduły są załadowane, wszystko pięknie tylko wszystkie pakiety przekazane do IFB po prostu są dropowane.
Co przeoczyłem? Co jest nie tak?
Pomożecie?
ODPOWIEDZ