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