| gard |  | 
|   
                Темы:
                
                    66
                
             
                Сообщения:
                
                    1167
                
             
                Участник с: 15 декабря 2009
             | Тут еще одна проблема с торрентами, они создают много потоков, полоса полосой, а потоков тьма, юзер на 64Кбит/с может создать 200 потоков. Там есть какая то дисциплина бесклассовая, которая эти потоки дропает рандомно, и кажется она может примерно поделить потоки между юзерами поровну.. хотя я уже не помню на етот счет, может там надо какой то патч применять или что-то такое, в общем с потоками не все так сладко. 200 потоков и инет у всех остальных начнет работать как через “одно место”.. Вот почитайте тут про ESFQ: http://pc-inform.ru/articles/Povest_o_L … fikom.html htb - она для классов, а на “концы” можно и нужно вешать бесклассовые дисциплины, например эту. А так как ESFQ в ядре нет (надо патчить), но оказывается есть какой то аналог-внешний классификатор для SFQ под именем SFQ flow classifier, то погуглите на эту тему. | 
| shaman |  | 
|   
                Темы:
                
                    26
                
             
                Сообщения:
                
                    379
                
             
                Участник с: 13 декабря 2009
             | http://www.wlug.org.nz/TrafficControl http://www.linuxquestions.org/questions … rd-718763/ теперь надо реализовать :) | 
| gard |  | 
|   
                Темы:
                
                    66
                
             
                Сообщения:
                
                    1167
                
             
                Участник с: 15 декабря 2009
             | Когда сделаете - покажите как, было бы очень интересно посмотреть, самому интересно про етот flow classifier.. =) | 
| shaman |  | 
|   
                Темы:
                
                    26
                
             
                Сообщения:
                
                    379
                
             
                Участник с: 13 декабря 2009
             | #!/bin/bash PATH="/sbin:/bin:/usr/sbin:/usr/bin" TC="/usr/sbin/tc" IP="/usr/sbin/iptables" $IP -t mangle -F #wifi $TC qdisc del dev wlan0 root $TC qdisc add dev wlan0 root handle 1 htb default 2 r2q 10 $TC class add dev wlan0 parent 1: classid 1:1 htb rate 3Mbit #default class $TC class add dev wlan0 parent 1:1 classid 1:2 htb rate 128Kbit prio 10 #450_Сергей $TC class add dev wlan0 parent 1:1 classid 1:3 htb rate 512Kbit prio 3 $TC class add dev wlan0 parent 1:3 classid 1:4 htb rate 512Kbit prio 1 $TC class add dev wlan0 parent 1:3 classid 1:5 htb rate 512Kbit prio 2 $TC class add dev wlan0 parent 1:3 classid 1:6 htb rate 512Kbit prio 3 $IP -t mangle -A FORWARD -p tcp -m tcp --sport 22 --destination 192.168.2.111 -j MARK --set-mark 2 $IP -t mangle -A FORWARD -p tcp -m tcp --sport 22 --destination 192.168.2.111 -j RETURN $IP -t mangle -A FORWARD -p icmp --destination 192.168.2.111 -j MARK --set-mark 2 $IP -t mangle -A FORWARD -p icmp --destination 192.168.2.111 -j RETURN $IP -t mangle -A FORWARD -p tcp -m tcp --sport 80 --destination 192.168.2.111 -j MARK --set-mark 3 $IP -t mangle -A FORWARD -p tcp -m tcp --sport 80 --destination 192.168.2.111 -j RETURN $IP -t mangle -A FORWARD --destination 192.168.2.111 -j MARK --set-mark 4 $IP -t mangle -A FORWARD --destination 192.168.2.111 -j RETURN $TC qdisc add dev wlan0 parent 1:4 handle 4 sfq perturb 10 $TC qdisc add dev wlan0 parent 1:5 handle 5 sfq perturb 10 $TC qdisc add dev wlan0 parent 1:6 handle 6 sfq perturb 10 $TC filter add dev wlan0 parent 1:0 prio 1 handle 2 protocol all fw classid 1:4 $TC filter add dev wlan0 parent 1:0 prio 2 handle 3 protocol all fw classid 1:5 $TC filter add dev wlan0 parent 1:0 prio 3 handle 4 protocol all fw classid 1:6 #450_Азат $TC class add dev wlan0 parent 1:1 classid 1:7 htb rate 512Kbit prio 3 $TC class add dev wlan0 parent 1:7 classid 1:8 htb rate 512Kbit prio 1 $TC class add dev wlan0 parent 1:7 classid 1:9 htb rate 512Kbit prio 2 $TC class add dev wlan0 parent 1:7 classid 1:10 htb rate 512Kbit prio 3 $IP -t mangle -A FORWARD -p tcp -m tcp --sport 22 --destination 192.168.2.2 -j MARK --set-mark 5 $IP -t mangle -A FORWARD -p tcp -m tcp --sport 22 --destination 192.168.2.2 -j RETURN $IP -t mangle -A FORWARD -p icmp --destination 192.168.2.2 -j MARK --set-mark 5 $IP -t mangle -A FORWARD -p icmp --destination 192.168.2.2 -j RETURN $IP -t mangle -A FORWARD -p tcp -m tcp --sport 80 --destination 192.168.2.2 -j MARK --set-mark 6 $IP -t mangle -A FORWARD -p tcp -m tcp --sport 80 --destination 192.168.2.2 -j RETURN $IP -t mangle -A FORWARD --destination 192.168.2.2 -j MARK --set-mark 7 $IP -t mangle -A FORWARD --destination 192.168.2.2 -j RETURN $TC qdisc add dev wlan0 parent 1:8 handle 8 sfq perturb 10 $TC qdisc add dev wlan0 parent 1:9 handle 9 sfq perturb 10 $TC qdisc add dev wlan0 parent 1:10 handle 10 sfq perturb 10 $TC filter add dev wlan0 parent 1:0 prio 1 handle 5 protocol all fw classid 1:8 $TC filter add dev wlan0 parent 1:0 prio 2 handle 6 protocol all fw classid 1:9 $TC filter add dev wlan0 parent 1:0 prio 3 handle 7 protocol all fw classid 1:10 #eth1 $TC qdisc del dev eth1 root $TC qdisc add dev eth1 root handle 1 htb default 2 r2q 10 $TC class add dev eth1 parent 1: classid 1:1 htb rate 10Mbit #default class $TC class add dev eth1 parent 1:1 classid 1:2 htb rate 128Kbit prio 10 #450_Тимур $TC class add dev eth1 parent 1:1 classid 1:3 htb rate 512Kbit prio 3 $TC class add dev eth1 parent 1:3 classid 1:4 htb rate 512Kbit prio 1 $TC class add dev eth1 parent 1:3 classid 1:5 htb rate 512Kbit prio 2 $TC class add dev eth1 parent 1:3 classid 1:6 htb rate 512Kbit prio 3 $IP -t mangle -A FORWARD -p tcp -m tcp --sport 22 --destination 192.168.0.200 -j MARK --set-mark 8 $IP -t mangle -A FORWARD -p tcp -m tcp --sport 22 --destination 192.168.0.200 -j RETURN $IP -t mangle -A FORWARD -p icmp --destination 192.168.0.200 -j MARK --set-mark 8 $IP -t mangle -A FORWARD -p icmp --destination 192.168.0.200 -j RETURN $IP -t mangle -A FORWARD -p tcp -m tcp --sport 80 --destination 192.168.0.200 -j MARK --set-mark 9 $IP -t mangle -A FORWARD -p tcp -m tcp --sport 80 --destination 192.168.0.200 -j RETURN $IP -t mangle -A FORWARD --destination 192.168.0.200 -j MARK --set-mark 10 $IP -t mangle -A FORWARD --destination 192.168.0.200 -j RETURN $TC qdisc add dev eth1 parent 1:4 handle 4 sfq perturb 10 $TC qdisc add dev eth1 parent 1:5 handle 5 sfq perturb 10 $TC qdisc add dev eth1 parent 1:6 handle 6 sfq perturb 10 $TC filter add dev eth1 parent 1:0 prio 1 handle 8 protocol all fw classid 1:4 $TC filter add dev eth1 parent 1:0 prio 2 handle 9 protocol all fw classid 1:5 $TC filter add dev eth1 parent 1:0 prio 3 handle 10 protocol all fw classid 1:6 | 
| shaman |  | 
|   
                Темы:
                
                    26
                
             
                Сообщения:
                
                    379
                
             
                Участник с: 13 декабря 2009
             | посовещался я с тов. gard`ом и остановился пока на таком варианте: #!/bin/bash
TC="/usr/sbin/tc"
IP="/usr/sbin/iptables"
RATE=100
CEIL=500
$IP -t mangle -F
#wifi
$TC qdisc del dev wlan0 root
$TC qdisc add dev wlan0 root handle 1 htb default 2 r2q 10
$TC class add dev wlan0 parent 1: classid 1:1 htb rate 5Mbit
#default class
$TC class add dev wlan0 parent 1:1 classid 1:2 htb rate 20Kbit prio 10
#local class
$TC class add dev wlan0 parent 1:1 classid 1:3 htb rate 2Mbit prio 1
$TC qdisc add dev wlan0 parent 1:3 handle 3 sfq perturb 10
$TC filter add dev wlan0 protocol ip parent 1:0 prio 10 u32 match ip dst 192.168.2.0/24 match ip src 192.168.0.0/24 flowid 1:3
#450_Сергей
$TC class add dev wlan0 parent 1:1 classid 1:4 htb rate ${RATE}Kbit ceil ${CEIL}Kbit prio 2
$TC qdisc add dev wlan0 parent 1:4 handle 4 sfq perturb 10
$TC filter add dev wlan0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.2.111 flowid 1:4
#450_Азат
$TC class add dev wlan0 parent 1:1 classid 1:5 htb rate ${RATE}Kbit ceil ${CEIL}Kbit prio 2
$TC qdisc add dev wlan0 parent 1:5 handle 5 sfq perturb 10
$TC filter add dev wlan0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.2.2 flowid 1:5
#eth1
$TC qdisc del dev eth1 root
$TC qdisc add dev eth1 root handle 1 htb default 2 r2q 10
$TC class add dev eth1 parent 1: classid 1:1 htb rate 5Mbit
#local class
$TC class add dev eth1 parent 1:1 classid 1:3 htb rate 2Mbit prio 1
$TC qdisc add dev eth1 parent 1:3 handle 3 sfq perturb 10
$TC filter add dev wlan0 protocol ip parent 1:0 prio 10 u32 match ip dst 192.168.0.0/24 match ip src 192.168.2.0/24 flowid 1:3
#450_Тимур
$TC class add dev eth1 parent 1:1 classid 1:4 htb rate ${RATE}Kbit ceil ${CEIL}Kbit prio 2
$TC qdisc add dev eth1 parent 1:4 handle 4 sfq perturb 10
$TC filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.200 flowid 1:4
#441_Vladimir
$TC class add dev eth1 parent 1:1 classid 1:5 htb rate ${RATE}Kbit ceil ${CEIL}Kbit prio 3
$TC qdisc add dev eth1 parent 1:5 handle 5 sfq perturb 10
$TC filter add dev eth1 protocol ip parent 1:0 prio 2 u32 match ip dst 192.168.0.53 flowid 1:5 | 
| shaman |  | 
|   
                Темы:
                
                    26
                
             
                Сообщения:
                
                    379
                
             
                Участник с: 13 декабря 2009
             | подниму тему :) в листах дерева htb можно применять дисциплину tbf? везде о ней говориться применительно к целому интерфейсу. и еще вопрос, я в результате всех экспериментов и раздумий пришел к выводу, что мне в принципе пофиг на то, как юзер использует свой канал, те в принципе мне будет достаточно построить одноуровневое дерево с равноправными классами, и на каждый класс повесить что-нибудь типа tbf, который тупо порежет скорость. что мне для этого лучше применить? | 
| sleepycat |  | 
|   
                Темы:
                
                    98
                
             
                Сообщения:
                
                    3291
                
             
                Участник с: 19 июля 2011
             | не знаю аткого приема,каюсь, на бсд были попытки сделать шейпер средсвами фаервола(pf). Также был интересен вариант не бсд и вроде iptables вполне с етим справлялся судя по статьям…и вроде там особо голова не кружилась…хотя опять же , особо линкусом в тот момент не интересовался. 
                        Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
                     |