IMQ+NAT
Jarek Poplawski
domat w klub.chip.pl
Wto, 20 Wrz 2005, 13:28:03 CEST
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ć.
>
> 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
Jarek P.
Więcej informacji o liście dyskusyjnej pld-users-pl