Собственно сабж.
Работал перед этим с FreeBSD - там это дело решалось пайпами на уровне ipfw.
В Дженту я пока не нашёл как решать эту проблему.
Кто что может сказать? Необходимо зажать скорость для некоторых сервисов и некоторым пользователям.
Прекратите меня злить. На будущее пункт 9.5.5. в LARC HOWTO ///
Цитата:
9.5.5. Hierarchical Token Bucket
Мартин Девера (Martin Devera) aka справедливо отмечает, что CBQ слишком сложна и слабо оптимизирована для большинства типичных ситуаций. Его подход более точно соответствует конфигурациям, когда необходимо распределить заданную полосу пропускания между различными видами трафика на полосы гарантированной ширины, с возможностью заимствования.
HTB работает точно так же, как и CBQ, но, в отличие от последней, принцип работы основан не на вычислении времени простоя, а на определении объема трафика, что полностью соответствует названию Token Bucket Filter. Эта дисциплина имеет незначительное число параметров настройки, которые достаточно хорошо описаны на сайте http://luxik.cdi.cz/~devik/qos/htb/.
Хотя конфигурирование HTB -- задача достаточно сложная, тем не менее конфигурации хорошо масштабируются. В случае же с CBQ процесс конфигурирования становится слишком сложным даже в самых простых случаях! HTB3 теперь стала частью ядра (начиная с версий 2.4.20-pre1 и 2.5.31). Однако, вам может потребоваться пропатченная версия утилиты tc: старший номер версии HTB в ядре и пользовательских утилит должны совпадать, в противном случае tc откажется работать с HTB.
Если у вас установлено достаточно свежее или пропатченное ядро, вам определенно стоит посмотреть в сторону HTB!
9.5.5.1. Пример конфигурации.
Конфигурация практически идентична вышеприведенному примеру:
# tc qdisc add dev eth0 root handle 1: htb default 30
# tc class add dev eth0 parent 1: classid 1:1 htb rate 6mbit burst 15k
# tc class add dev eth0 parent 1:1 classid 1:10 htb rate 5mbit burst 15k
# tc class add dev eth0 parent 1:1 classid 1:20 htb rate 3mbit ceil 6mbit burst 15k
# tc class add dev eth0 parent 1:1 classid 1:30 htb rate 1kbit ceil 6mbit burst 15k
Автор рекомендует устанавливать дисциплину SFQ для этих классов:
# tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 10
# tc qdisc add dev eth0 parent 1:20 handle 20: sfq perturb 10
# tc qdisc add dev eth0 parent 1:30 handle 30: sfq perturb 10
Добавим фильтры, которые будут выполнять классификацию трафика:
# U32="tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32"
# $U32 match ip dport 80 0xffff flowid 1:10
# $U32 match ip sport 25 0xffff flowid 1:20
В результате получаем ясную и понятную конфигурацию -- никаких малопонятных чисел, никаких недокументированных параметров.
В HTB все выглядит достаточно прозрачно -- классы 10: и 20: имеют гарантированную пропускную способность, при наличии свободной части пропускной способности они заимствуют ее в отношении 5:3.
Неклассифицированый трафик будет отнесен к классу 30:, который имет достаточно небольшую ширину, но может заимствовать незанятую часть канала.
Хотя что может посоветовать тех.поддержка, САМИ ТО ХОТЬ ЧИТАЕТЕ LARC HOWTO!!!
------------------------------------------------------------- USE="The SOURCE", Luke && emerge --syth
—
------------------------------------------------------------- USE="The SOURCE", Luke && emerge --syth
да читали, но оно сильно большое чтоб приводит цитаты...
вот я шейпер по нему делал, стоит в /etc/conf.d/local.start и никому не мешает даже наоборот))
=====================
#!/bin/bash
tc qdisc del dev eth0 root 2>/dev/null
tc qdisc add dev eth0 root handle 1: cbq bandwidth 100Mbit avpkt 1000 cell 8
tc qdisc add dev eth0 parent 1:1 handle 10: sfq
tc qdisc add dev eth0 parent 1:2 handle 20: sfq
tc qdisc add dev eth0 parent 1:3 handle 30: sfq
tc qdisc add dev eth0 parent 1:4 handle 40: sfq
tc qdisc add dev eth0 parent 1:5 handle 50: sfq
tc filter add dev eth0 parent 1:0 protocol ip prio 7 u32 match ip protocol 1 0xff flowid 1:1
tc filter add dev eth0 parent 1:0 protocol ip prio 3 u32 match ip src 192.168.231.2/32 match ip dport 80 0xffff flowid 1:2
tc filter add dev eth0 parent 1:0 protocol ip prio 4 u32 match ip dst 172.17.0.0/16 flowid 1:3
tc filter add dev eth0 parent 1:0 protocol ip prio 5 u32 match ip dst 10.247.247.2/32 flowid 1:4
tc filter add dev eth0 parent 1:0 protocol ip prio 6 u32 match ip src 192.168.231.2/32 match ip dport 21 0xffff flowid 1:5
===============
имхо, надо
имхо, надо курить в сторону iptables и его дополнительных модулей
tc. Классы,
tc. Классы, фильтры...
Что такое
Что такое "tc"?
-
linux like wigwam - no windows, no gates .. just apache ,)
linux like wigwam - no windows, no gates .. just apache ,)
emerge tc && man tc NAME
emerge tc && man tc
NAME
tc - show / manipulate traffic control settings
Статейка есть полезная, прям для тебя да ещё и на генте http://www.netup.ru/articles.php?n=2
-------------------------------------------------------------
USE="The SOURCE", Luke && emerge --syth-------------------------------------------------------------
USE="The SOURCE", Luke && emerge --sythiproute2
не слушай его :) пакет iproute2
присоединяюсь
emerge iproute2
google search "LARTC howto rus"
there is only war...
Спасибо,
Спасибо, господа. Не знал, что так тепло встретят и растолкуют :).
-
linux like wigwam - no windows, no gates .. just apache ,)
linux like wigwam - no windows, no gates .. just apache ,)
Что выбрал то,
Что выбрал то, отпишись
-------------------------------------------------------------
USE="The SOURCE", Luke && emerge --syth-------------------------------------------------------------
USE="The SOURCE", Luke && emerge --sythПрекратите
Прекратите меня злить. На будущее пункт 9.5.5. в LARC HOWTO ///
Хотя что может посоветовать тех.поддержка, САМИ ТО ХОТЬ ЧИТАЕТЕ LARC HOWTO!!!
-------------------------------------------------------------
USE="The SOURCE", Luke && emerge --syth-------------------------------------------------------------
USE="The SOURCE", Luke && emerge --sythоно сильно больше
да читали, но оно сильно большое чтоб приводит цитаты...
вот я шейпер по нему делал, стоит в /etc/conf.d/local.start и никому не мешает даже наоборот))
=====================
#!/bin/bash
tc qdisc del dev eth0 root 2>/dev/null
tc qdisc add dev eth0 root handle 1: cbq bandwidth 100Mbit avpkt 1000 cell 8
#формирование icmp
tc class add dev eth0 parent 1:0 classid 1:1 cbq bandwidth 100Mbit rate 20Kbit weight 2Kbit prio 7 allot 1514 cell 8 maxburst 10 avpkt 500 bounded
#формирование unlim-http-траффика
tc class add dev eth0 parent 1:0 classid 1:2 cbq bandwidth 100Mbit rate 256Kbit weight 25.6Kbit prio 3 allot 1514 cell 8 maxburst 20 avpkt 1000
#формирование трафика на 172.17.0.0/16 сети
tc class add dev eth0 parent 1:0 classid 1:3 cbq bandwidth 100Mbit rate 50Mbit weight 5Mbit prio 4 allot 1514 cell 8 maxburst 20 avpkt 1000
#формирование на gorod45
tc class add dev eth0 parent 1:0 classid 1:4 cbq bandwidth 100Mbit rate 10Mbit weight 1Mbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
#формирование ftp
tc class add dev eth0 parent 1:0 classid 1:5 cbq bandwidth 100Mbit rate 512Kbit weight 51Kbit prio 6 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
tc qdisc add dev eth0 parent 1:1 handle 10: sfq
tc qdisc add dev eth0 parent 1:2 handle 20: sfq
tc qdisc add dev eth0 parent 1:3 handle 30: sfq
tc qdisc add dev eth0 parent 1:4 handle 40: sfq
tc qdisc add dev eth0 parent 1:5 handle 50: sfq
tc filter add dev eth0 parent 1:0 protocol ip prio 7 u32 match ip protocol 1 0xff flowid 1:1
tc filter add dev eth0 parent 1:0 protocol ip prio 3 u32 match ip src 192.168.231.2/32 match ip dport 80 0xffff flowid 1:2
tc filter add dev eth0 parent 1:0 protocol ip prio 4 u32 match ip dst 172.17.0.0/16 flowid 1:3
tc filter add dev eth0 parent 1:0 protocol ip prio 5 u32 match ip dst 10.247.247.2/32 flowid 1:4
tc filter add dev eth0 parent 1:0 protocol ip prio 6 u32 match ip src 192.168.231.2/32 match ip dport 21 0xffff flowid 1:5
===============
there is only war...