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 вполне с етим справлялся судя по статьям…и вроде там особо голова не кружилась…хотя опять же , особо линкусом в тот момент не интересовался.
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
|