The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"lartc - массовый шейпинг (iproute2, 130k правил)"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Информационная безопасность (Public)
Изначальное сообщение [ Отслеживать ]

"lartc - массовый шейпинг (iproute2, 130k правил)"  
Сообщение от Timur (??) on 19-Сен-06, 16:13 
задача - есть две сети класса B (на разных сетевухах), надо повесить для каждого ip
шейпер (для адресов  одной сети 64kb/s на каждый, для другой - 128kb/s) шейперы тупые - tbf
втупую получается 130000+ правил,  u32 не вкурил ((
Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "lartc - массовый шейпинг (iproute2, 130k правил)"  
Сообщение от tungus on 20-Сен-06, 10:12 
>задача - есть две сети класса B (на разных сетевухах), надо повесить
>для каждого ip
>шейпер (для адресов  одной сети 64kb/s на каждый, для другой -
>128kb/s) шейперы тупые - tbf
>втупую получается 130000+ правил,  u32 не вкурил ((


Использовать IPMARK target из pom-ng.

Не понял  - две сети  - это два интерфейса? Если так то при чем тут tbf?


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "lartc - массовый шейпинг (iproute2, 130k правил)"  
Сообщение от Timur (??) on 20-Сен-06, 10:35 
>>задача - есть две сети класса B (на разных сетевухах), надо повесить
>>для каждого ip
>>шейпер (для адресов  одной сети 64kb/s на каждый, для другой -
>>128kb/s) шейперы тупые - tbf
>>втупую получается 130000+ правил,  u32 не вкурил ((
>
>
>Использовать IPMARK target из pom-ng.
>
>Не понял  - две сети  - это два интерфейса? Если
>так то при чем тут tbf?
шейперы стоят, но для каждого ip из сети получаются записи вида

/sbin/tc class add dev eth0 parent 1: classid 1:26 cbq bandwidth 100Mbit rate 64Kbit weight 2Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
/sbin/tc qdisc add dev eth0 parent 1:26 handle 26 tbf rate 64Kbit buffer 30kb limit 15Kb mtu 1500
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst 172.x.x.x classid 1:26

в конечном итоге - 65000 правил для каждой сети класса B, что не есть хорошо с точки зрения производительности. Интересует способ сокращения количества цепочек (в частности через хеши )

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "lartc - массовый шейпинг (iproute2, 130k правил)"  
Сообщение от tungus on 20-Сен-06, 11:31 
>/sbin/tc class add dev eth0 parent 1: classid 1:26 cbq bandwidth 100Mbit
>rate 64Kbit weight 2Kbit prio 5 allot 1514 cell 8 maxburst
>20 avpkt 1000 bounded
>/sbin/tc qdisc add dev eth0 parent 1:26 handle 26 tbf rate 64Kbit
>buffer 30kb limit 15Kb mtu 1500
>/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32
>match ip dst 172.x.x.x classid 1:26
>
>в конечном итоге - 65000 правил для каждой сети класса B, что
>не есть хорошо с точки зрения производительности. Интересует способ сокращения количества
>цепочек (в частности через хеши )


Зачем cbq+tbf Уж лучше только htb. Что-то типа (если ip eth0 172.x.0.1)
#Общий один фильтр
tc qdisc add dev eth0 root handle 1: htb default ffff r2q 1
tc class add dev eth0 parent 1: classid 1:1 htb rate $[65533*64]kbit
tc class add dev eth0 parent 1:ffff classid 1:0326 htb rate 64Kbit
tc qdisc add dev eth0 parent 1:ffff handle ffff: bfifo limit 15000
tc filter add dev eth0 parent 1:0 protocol ip fw
iptables -t mangle -A POSTROUTING -o eth0 -j IPMARK --addr=dst --and-mask=0xffff --or-mask=0x10000

# Для каждого ip из диапозона 172.x.0.0/16  - в данном случае для 172.x.10.38
tc class add dev eth0 parent 1:1 classid 1:0a26 htb rate 64Kbit quantum $mtu_of_eth0
tc qdisc add dev eth0 parent 1:0a26 handle 0a26: bfifo limit 15000


Только вообще так будет возможно плоховато-работать в любом случае - кривое это решение. Могут быть относительно большие задержки. Имеет смысл добавить quantum $mtu_of_eth0


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "lartc - массовый шейпинг (iproute2, 130k правил)"  
Сообщение от tungus on 20-Сен-06, 11:34 
Точнее

tc qdisc add dev eth0 root handle 1: htb default ffff r2q 1
tc class add dev eth0 parent 1: classid 1:1 htb rate $[65533*64]kbit
tc class add dev eth0 parent 1:1 classid 1:ffff htb rate 64Kbit
tc qdisc add dev eth0 parent 1:ffff handle ffff: bfifo limit 15000
#Общий один фильтр
tc filter add dev eth0 parent 1:0 protocol ip fw
iptables -t mangle -A POSTROUTING -o eth0 -j IPMARK --addr=dst --and-mask=0xffff --or-mask=0x10000

# Для каждого ip из диапозона 172.x.0.0/16  - в данном случае для 172.x.10.38
tc class add dev eth0 parent 1:1 classid 1:0a26 htb rate 64Kbit quantum $mtu_of_eth0
tc qdisc add dev eth0 parent 1:0a26 handle 0a26: bfifo limit 15000

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "lartc - массовый шейпинг (iproute2, 130k правил)"  
Сообщение от sire email(??) on 08-Фев-08, 12:36 
Ну что, у кого-нибудь сервак реально тянет столько правил? Какой CPU usage?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру