Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2010-06-25 23:53:01

  ziomber - Nowy użytkownik

ziomber
Nowy użytkownik
Zarejestrowany: 2010-06-25

Problem z IFB

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:

/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?

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.008 seconds, 9 queries executed ]

Informacje debugowania

Time (s) Query
0.00013 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00119 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.21.43.192' WHERE u.id=1
0.00100 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.21.43.192', 1715703538)
0.00057 SELECT * FROM punbb_online WHERE logged<1715703238
0.00087 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=17111 AND t.moved_to IS NULL
0.00005 SELECT search_for, replace_with FROM punbb_censoring
0.00133 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=17111 ORDER BY p.id LIMIT 0,25
0.00096 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=17111
Total query time: 0.00614 s