-MW- pisze:
ale pakiety znakuj w PREROUTING - tak chyba wygodniej
iptables -t mangle -A PREROUTING -p tcp --dport 21 -j MARK --set-mark 0x8888
iptables -t mangle -A PREROUTING -m mark --mark 0x8888 -j CONNMARK --save-mark
iptables -t mangle -A POSTROUTING -o eth1 -m mark --mark 0x8888 -j IMQ --todev 3
uwaga na polazenie bałwan jestem w calym lancuchu ! inaczej nie zadziala !
Faktycznie połozenie regól ma duze znaczenie cos sie zaparło i nie idzie nic przez imq3 (moze jakas wskazówka z tym połozeniem) tymniemniej stworzyłem cos takiego:
#!/bin/bash
TC="/sbin/tc"
i="/usr/sbin/iptables"
#PiotruS ftp
case "$1" in
start)
echo ""
echo " ----ON---- "
echo ""
# port na ktorym pracuje ftp
PORT=21
# usowa bałwan jestem
$TC qdisc del dev imq3 root &>/dev/null
# ---- tworzy lancuch ------------
iptables -t mangle -A PREROUTING -p tcp --dport 21 -j MARK --set-mark 0x8888
iptables -t mangle -A PREROUTING -m mark --mark 0x8888 -j CONNMARK --save-mark
iptables -t mangle -A POSTROUTING -o eth1 -m mark --mark 0x8888 -j IMQ --todev 3
# Tworzymy glowna kolejke na interfejsie
$TC qdisc add dev imq3 root handle 40:0 htb default 11
# Glowna klasa
$TC class add dev imq3 parent 40:0 classid 40:1 htb rate 1000kbit ceil 1000kbit quantum 1600
# podklasy
$TC class add dev imq3 parent 40:1 classid 40:11 htb rate 500kbit ceil 500kbit quantum 1500 burst 0k cburst 0k
# sprawiedliwy podzial
$TC qdisc add dev imq3 parent 40:11 esfq perturb 10 quantum 1500
;;
stop)
echo ""
echo " ----OFF---- "
echo ""
# usowa bałwan jestem
$TC qdisc del dev imq3 root
iptables -t mangle -D PREROUTING -p tcp --dport 21 -j MARK --set-mark 0x8888
iptables -t mangle -D PREROUTING -m mark --mark 0x8888 -j CONNMARK --restore-mark
iptables -t mangle -D POSTROUTING -o eth1 -m mark --mark 0x8888 -j IMQ --todev 3
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo ""
echo " Uzycie skryptu [ start | stop | restart ] "
echo ""
exit
;;
esac