dummy Опубликовано 8 апреля, 2010 · Жалоба есть локальная сеть, для разных клиентов установлены разные скорости: #!/bin/sh# lan=10.0.0.0/8 int_iface=eth1 /sbin/tc qdisc del dev $int_iface root handle 1: htb /sbin/tc qdisc add dev $int_iface root handle 1: htb /sbin/tc class add dev $int_iface parent 1: classid 1:1 htb rate 100mbit ceil 100mbit burst 200k # Internet mark=2 speedkb=13 speedceil=13 /sbin/tc class add dev $int_iface parent 1:1 classid 1:$mark htb rate "$speedkb"mbit ceil "$speedceil"mbit burst 200k # Local lan mark=256 speedkb=40 speedceil=60 /sbin/tc class add dev $int_iface parent 1:1 classid 1:$mark htb rate "$speedkb"mbit ceil "$speedceil"mbit /sbin/tc filter add dev $int_iface parent 1: protocol ip prio 3 handle $mark fw classid 1:$mark /sbin/iptables -t mangle -A FORWARD -d $lan -s $lan -j MARK --set-mark 256 # клиентская машина IP=10.2.2.2 int_iface=eth1 mark=430 speedkb=2457 speedceil=3379 /sbin/iptables -t mangle -A FORWARD ! -s $lan -d $IP -j MARK --set-mark $mark /sbin/tc class add dev $int_iface parent 1:2 classid 1:$mark htb rate "$speedkb"kbit ceil "$speedceil"kbit /sbin/tc filter add dev $int_iface parent 1: protocol ip prio 3 handle $mark fw classid 1:$mark когда я ставлю чтото на закачку, получаю: tc -s class show dev eth1 class htb 1:1 root rate 100000Kbit ceil 100000Kbit burst 200Kb cburst 1600bSent 17892945522 bytes 20411791 pkt (dropped 0, overlimits 0 requeues 0) rate 6368Kbit 741pps backlog 0b 0p requeues 0 lended: 45724 borrowed: 0 giants: 0 tokens: 254125 ctokens: 125 class htb 1:2 parent 1:1 rate 13000Kbit ceil 13000Kbit burst 200Kb cburst 1599b Sent 17725500404 bytes 20238758 pkt (dropped 0, overlimits 0 requeues 0) rate 6368Kbit 740pps backlog 0b 0p requeues 0 lended: 5116283 borrowed: 0 giants: 0 tokens: 1943582 ctokens: -10261 class htb 1:430 parent 1:2 prio 0 rate 2457Kbit ceil 3379Kbit burst 1599b cburst 1599b Sent 43163129 bytes 33372 pkt (dropped 0, overlimits 0 requeues 0) rate 1293Kbit 112pps backlog 0b 0p requeues 0 lended: 8286 borrowed: 3327 giants: 0 tokens: 7328 ctokens: -53780 т.е. вместо минимальной скорости 2457кбит я имею только 1293кбит и все. почему ??? что означает ctokens: -53780 ? ЗЫ канал свободен, с отключенным шейпингом, качаю на всю ширину канала Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
photon Опубликовано 9 апреля, 2010 · Жалоба Параметр burst 200k нужно убрать отовсюду. Нет смысла использовать iptables для такой простой классификации, можно обойтись средствами tc. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
LionSprings Опубликовано 9 апреля, 2010 · Жалоба Это я тормоз, или тут на листьях qdisc отсутствует? Вместе с самими листьями. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
photon Опубликовано 9 апреля, 2010 · Жалоба Листья (дочерние классы) есть, qdisc-ов нет. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dummy Опубликовано 12 апреля, 2010 · Жалоба Параметр burst 200k нужно убрать отовсюду. Нет смысла использовать iptables для такой простой классификации, можно обойтись средствами tc.а burst - вообще не использовать, оставить по умолчанию ? в tc можно сделать типа такого :/sbin/iptables -t mangle -A FORWARD ! -s $lan -d $IP -j MARK --set-mark $mark ? т.е. от источника всюду, кроме локальной сети Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bump Опубликовано 12 апреля, 2010 · Жалоба class htb 1:430 parent 1:2 prio 0 rate 2457Kbit ceil 3379Kbit burst 1599b cburst 1599bSent 43163129 bytes 33372 pkt (dropped 0, overlimits 0 requeues 0) rate 1293Kbit 112pps backlog 0b 0p requeues 0 lended: 8286 borrowed: 3327 giants: 0 tokens: 7328 ctokens: -53780 man tc-htb: NOTES Due to Unix timing constraints, the maximum ceil rate is not infinite and may in fact be quite low. On Intel, there are 100 timer events per second, the maximum rate is that rate at which ’burst’ bytes are sent each timer tick. From this, the minimum burst size for a specified rate can be calculated. For i386, a 10mbit rate requires a 12 kilobyte burst as 100*12kb*8 equals 10mbit. Проверяем: 100 * 1599 * 8 = 1 279 200 бит/с. Не оно? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
X3KT0 Опубликовано 14 апреля, 2010 · Жалоба Рекомендую навесить sfq qdisc на все листья. Решает, как ни странно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...