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