To opis mojego problemu: Jak wpuszczę do IMQ pakiety w ten sposób: (eth0 - wyjście w świat) iptables -t mangle -A FORWARD -i eth0 -j IMQ --todev 0 iptables -t mangle -A FORWARD -o eth0 -j IMQ --todev 1 To mam problem z założeniem filtrów... objawy są takie, że pakiety wpadają, ale filtry tego nie widzą. $TC class add dev imq0 parent 1:1 classid 1:2 htb rate ${srv_dwl}kbit ceil ${max}kbit $TC qdisc add dev imq0 parent 1:2 sfq perturb 10 $TC filter add dev imq0 protocol ip parent 1:0 u32 match ip dst $prs flowid 1:2 Ten filtr będzie wyłapywał ruch i wrzucał w odpowiednie klasy... (obserwuje za pomocą watch: watch -d -n 1 "echo \"Download: \" && tc -s class show dev imq0 | grep -A 3 \"1:$j \" && echo && echo \"Upload: \" && tc -s class show dev imq1 | grep -A 3 \"2:$j \"") Natomiast gdy założe filtr na ruch wychodzący to kolejki imq1 pozostaną puste. Jak dopiszę jeszcze klasy serwera to tam będzie zachowywało się to odwrotnie... Ruch wychodzący będzie wpadał, a przychodzący nie. Jak zacznę wrzucać z łańcucha PREROUTING to wogóle u32 nie widzi IPków userów. Pomijam ten problem usttawiając wcześniej znaczki na pakietach, ale to nie jest rozwiązanie. Podrzucam skrypt i liczę na to, że ktoś mi wytłumaczy jak mam się posługiwać u32 na IMQ, żeby zawsze działało. (wersja 1.2_rc1 działa z kilkoma okężnymi rozwiązaniami, wersja 1.2_rc2 to lekko zmodyfikowany pierwszy skrypt, ale już nie działa) Jeśli ktoś nie połapał się z tekstu o co chodzi to na zakończenie jeszcze piszę treść mojego pytania: Czemu filtr u32 nie widzi pewnych pakietów, mimo, że one wpadają do IMQ? Tak jakby te pakiety nie miały adresu IP.... i nie można ich wrzucić do kolejek.
Attachment:
htb1.2rc1
Description: Binary data
Attachment:
htb1.2rc2
Description: Binary data