деление траффика cbq, htb and etc.
Dear alex,
Thursday, September 12, 2002, 7:21:24 PM, you wrote:
aucu> Когдато делал при помощи cbq там надо было модуль в ядро всунуть,
[shaper, igor][~]$ ls /lib/modules/2.2.21-universal/misc/
cls_u32.o sch_cbq.o sch_prio.o sch_sfq.o sch_tbf.o
aucu> ну и потом его както мрачно конфигурять,
MEDIA_BANDW=100Mbit
MEDIA_WEIGHT=10Mbit
INTER_BANDW=1984Kbit
INTER_WEIGHT=198Kbit
/sbin/tc qdisc add dev eth0 root handle 10: cbq bandwidth $MEDIA_BANDW avpkt 1000
/sbin/tc class add dev eth0 parent 10:0 classid 10:10 cbq bandwidth $INTER_BANDW \
rate $INTER_BANDW allot 1514 weight $INTER_WEIGHT prio 8 maxburst 20 avpkt 1000 \
bounded
/sbin/tc class add dev eth0 parent 10:10 classid 10:11 cbq bandwidth $INTER_BANDW \
rate 128Kbit allot 1514 weight 12Kbit prio 5 maxburst 20 avpkt 1000 bounded
/sbin/tc qdisc add dev eth0 parent 10:11 sfq quantum 1514b perturb 15
/sbin/tc filter add dev eth0 parent 10:0 protocol ip prio 100 u32 match ip src \
xxx.xxx.xxx.xxx/26 flowid 10:11
в результате для xxx.xxx.xxx.xxx будет создана исходящая "труба" на 128К
при общем канале в 2 Мбита. аналогично делается для входящего трафика. если
убрать слово bounded, скорость сможет разгоняться до скорости родительской
"трубы", если у той есть свободные ресурсы.
не так уж и сложно.
aucu> вроде работало. Но он насколько я помню может обрубать только
aucu> трафик этого хоста а остальных вроде как нет.
Остальных обычно гасят различными "нюкерами". :-)
Он может ограничивать только исходящий трафик с интерфейса. И все
манипуляции доступны только в пределах одного интерфейса. Т.е.
сказать, что вот эти вот 512К доступны для потоков на eth1 и eth2
не выйдет.
aucu> Это лучше на cisco делать там это намного лучше выходит.
И стоит в разы дороже.
--
Igor
Reply to: