IMQ+NAT

Przemysław Backiel przemyslaw.backiel w backiel.com.pl
Wto, 20 Wrz 2005, 13:54:58 CEST


Jarek Poplawski napisał(a):
> Przemysław Backiel wrote:
> ...
> 
>>podłącze się troche pod pytanie, co ja robię źle u siebie,
>>
>>co moge robic zle, jesli ruch z imq0 idzie mi do kolejki defaultowej tylko
>>tzn mam tak
>>podnosze interfejs imq0
>>(IF_IN to imq0)
>>ip link set $IF_IN down
>>ip link set $IF_IN up
>>$IPTABLES -t mangle -A PREROUTING -i eth0 -j IMQ --todev 0
>>na eth0 mam internet..
>>
>>teraz robie NAT.....
>>
>>i teraz robie markowanie pakietów w stylu
>>$IPTABLES -t mangle -A POSTROUTING -o eth0 -p udp --dport 443 -j 
>>CLASSIFY --set-class 1:30
>>$IPTABLES -t mangle -A POSTROUTING -o eth0 -p tcp --dport 443 -j 
>>CLASSIFY --set-class 1:30
> 
> 
> To będzie miało sens, jeśli będą qdisc i class 1:30 dla dev eth0, 
> i będziesz chciał kontrolować ruch wychodzący.
> 
> 
>>$IPTABLES -t mangle -A POSTROUTING -o $IF_IN -p udp --sport 443 -j 
>>CLASSIFY --set-class 1:30
>>$IPTABLES -t mangle -A POSTROUTING -o $IF_IN -p tcp --sport 443 -j 
>>CLASSIFY --set-class 1:30
> 
> 
> imq0 nie jest prawdziwym interfejsem wyjściowym
> i wg mojej wiedzy "-o imq0" nie będzie działać.
> Zakładam, że chodzi tu o kontrolę ruchu przychodzącego z 
> internetu, a nie z samego serwera.
> 
> 
>>a skrypt htb wyglada tak:
>>/sbin/tc qdisc del dev imq0 root
>>/sbin/tc qdisc add dev imq0 root handle 1 htb default 50 r2q 100
>>
>>/sbin/tc class add dev imq0 parent 1:2 classid 1:10 htb rate 3600Kbit 
>>ceil 3600Kbit
>>
>>/sbin/tc class add dev imq0 parent 1:10 classid 1:30 htb rate 400Kbit 
>>ceil 900Kbit burst 45Kb prio 1
>>/sbin/tc qdisc add dev imq0 parent 1:30 handle 30 sfq perturb 1
>>
>>
>>dodam, że jak zmieniam imq0 na eth1 (czyli interfejs od strony lanu) to 
>>wszystko działa ok
>>gdy mam imq0, to ruch trafia do klasy defaultowej
> 
> 
> Jeśli defaultowa jest 50, to tu tego nie widać.
nie zamiescilem calego listngu, ale defaultowana klasa jest utworzona...



> 
>>gdzie popełniam błąd?
>>
> 
> 
> Powinno zadziałać, jeśli zmienisz miejsce wysyłania do IMQ.
> Można ew. spróbować takiej kombinacji:
> 
> $IPTABLES -t mangle -A PREROUTING -i eth0 -j MARK --set-mark 1
> 
> $IPTABLES -t mangle -A PREROUTING -i eth0 -p udp --sport 443 -j 
> CLASSIFY --set-class 1:30
> 
> $IPTABLES -t mangle -A PREROUTING -i eth0 -p tcp --sport 443 -j
> CLASSIFY --set-class 1:30
> 
> $IPTABLES -t mangle -A POSTROUTING -m mark --mark 1 -j IMQ --todev 0
> 

hmm
czyli przed "zabawą" z manglowaniem
zamarkować -i eth0
a potem cały mark wrzucić tak...
ok, poprubuje :)


a sama zmiana wysłania do imq?
po całym manglowaniu? wówczas bez marka dla połączenia? -j CLASSIFY w 
ogóle działa dla imq? ktoś tak ma i działa mu?

przepraszam, że zadaje takie pytanie na liście, ale nie znalazłem w 
sieci nic, co by mnie nasuneła na błąd który popełniam...

P.B.




Więcej informacji o liście dyskusyjnej pld-users-pl