Portál AbcLinuxu, 12. května 2025 10:35
modprobe imq numdevs=1
iptables -t mangle -A POSTROUTING -j IMQ --todev 0
ip link set imq0 up
#!/bin/sh
DEV=imq0
DWLDSPD=1024kbit
DWLDSPDMAX=512kbit
DWLDSPDMIN=56kbit
TC='/usr/local/sbin/tc'
IPT='/usr/local/sbin/iptables'
# smaže kořen bývalého stromu
$TC qdisc del dev $DEV root > /dev/null > /dev/null
# vytvoříme nový kořen
$TC qdisc add dev $DEV root handle 1:0 htb default 150
# nastavíme rychlost pro kořen tohoto stromu
$TC class add dev $DEV parent 1:0 classid 1:1 htb rate ${DWLDSPD}
#vytvoříme jednotlivé třídy
$TC class add dev $DEV parent 1:1 classid 1:101 htb rate ${DWLDSPDMIN} ceil ${DWLDSPDMAX}
$TC class add dev $DEV parent 1:1 classid 1:102 htb rate ${DWLDSPDMIN} ceil ${DWLDSPDMAX}
$TC class add dev $DEV parent 1:1 classid 1:150 htb rate ${DWLDSPDMIN} ceil ${DWLDSPDMAX}
#na jednotlivé třídy hodiíme sfq / popř. esfq
$TC qdisc add dev $DEV parent 1:101 handle 101:0 sfq perturb 10
$TC qdisc add dev $DEV parent 1:102 handle 102:0 sfq perturb 10
$TC qdisc add dev $DEV parent 1:150 handle 150:0 esfq perturb 10
#omarčíme ipéčka
$IPT -t mangle -A POSTROUTING -j MARK --set-mark 150
$IPT -t mangle -A POSTROUTING -d 192.168.2.11 -j MARK --set-mark 101
$IPT -t mangle -A POSTROUTING -d 192.168.2.12 -j MARK --set-mark 102
#a filtrujem ...
$TC filter add dev $DEV parent 1:0 protocol ip handle 101 fw classid 1:101
$TC filter add dev $DEV parent 1:0 protocol ip handle 102 fw classid 1:102
$TC filter add dev $DEV parent 1:0 protocol ip handle 150 fw classid 1:150
Tak, nejspíš to nebude fungovat, ale ty si to jistě už dopiluješ sám, ne?
In file included from trickled.c:33:
/usr/include/netinet/in.h:136: error: two or more data types in declaration specifiers
make: *** [trickled.o] Error 1
Jdu se pustit do IMQ
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.