[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Filtry i IMQ



Wiadomosc od Lth, z dnia Thu, Jul 22, 2004 at 08:46:49PM +0200:
> 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.

Nie napisałeś nic, czy urzywasz NAT, więc tylko zgaduję.

Dzieje sie tak dlatego ze do IMQ pakiety trafiają PRZED NAT'em (DNAT'em
do LAN'u). Mają wtedy adres JESZCZE twojego routera. Jeśli chcesz
rozrzucać na IMQ pakiety po ip dst to musisz wygrzebać jakiś patch z
googli. 
Poszukaj w 'imq patch nat' albo coś takiego.
Z tego co pamiętam, to na było coś na www.docum.org w FAQ.

Wystarczy w źródłach do IMQ jedną linijkę zmienić i działa.

-- 
Pozdrawiam
	KK



Reply to: