Jump to content

Recommended Posts

Posted

есть локальная сеть, для разных клиентов установлены разные скорости:

 

#!/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 1600b

Sent 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 ?

ЗЫ канал свободен, с отключенным шейпингом, качаю на всю ширину канала

Posted

Параметр burst 200k нужно убрать отовсюду. Нет смысла использовать iptables для такой простой классификации, можно обойтись средствами tc.

Posted
Параметр burst 200k нужно убрать отовсюду. Нет смысла использовать iptables для такой простой классификации, можно обойтись средствами tc.
а burst - вообще не использовать, оставить по умолчанию ?

 

в tc можно сделать типа такого :/sbin/iptables -t mangle -A FORWARD ! -s $lan -d $IP -j MARK --set-mark $mark ?

т.е. от источника всюду, кроме локальной сети

 

 

Posted
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

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 бит/с.

Не оно?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.