The OpenNET Project / Index page

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

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

"TC - ограничение ско"  +/
Сообщение от Hett (ok) on 04-Мрт-13, 10:59 
Всем привет,
имеется сервер, трафик которого режется шейпером TC,
выглядит примерно так:


    $TC qdisc add dev $DEV_P1_DOWN root handle 1: htb default 900
    # Classes
    $TC class add dev $DEV_P1_DOWN parent 1:  classid 1:1   htb rate 280Mbit ceil 280Mbit
    $TC class add dev $DEV_P1_DOWN parent 1:1 classid 1:10  htb rate 130Mbit ceil 280Mbit
    $TC class add dev $DEV_P1_DOWN parent 1:1 classid 1:20  htb rate 140Mbit ceil 280Mbit
    $TC class add dev $DEV_P1_DOWN parent 1:1 classid 1:900 htb rate  10Mbit ceil 280Mbit
    # Filters
    #free
    $TC filter add dev $DEV_P1_DOWN protocol ip parent 1: prio 1 u32 match ip sport 80 0xffff flowid 1:10
    #premium
    $TC filter add dev $DEV_P1_DOWN protocol ip parent 1: prio 1 u32 match ip sport 81 0xffff flowid 1:20

С этим вопросов нет, писал сам, все понятно,
но не могу найти информацию, как сделать так, чтобы все подключения, скажем, на 80 порт ограничивались индивидуально, т.е. чтобы никто не мог качать быстрее чем 1 Мбит/с даже если полоса свободна.

Спасибо.

Ответить | Правка | Cообщить модератору

Оглавление

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


1. "TC - ограничение ско"  +/
Сообщение от pavlinux (ok) on 04-Мрт-13, 12:55 
В текущем виде скрипта - никак, ковыряй доки на классификаторы u32/u16/u8  

что-то типа

# tc filter add dev eth0 parent 1:0 protocol ip prio 10 u32 \
            match ip protocol 4 0xff \
            match u8 0x05 0x0f at 0 \
            match u16 0x0000 0xffc0 at 2 \
            match u8 0x10 0xff at 33 \ # TCP ACK
            flowid 1:3
...
во - http://habrahabr.ru/post/138463/

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "TC - ограничение ско"  +/
Сообщение от Mr. Mistoffelees email on 05-Мрт-13, 17:27 
Привет,

> но не могу найти информацию, как сделать так, чтобы все подключения, скажем,
> на 80 порт ограничивались индивидуально, т.е. чтобы никто не мог качать
> быстрее чем 1 Мбит/с даже если полоса свободна.

Это означает, что для каждого соединения вам нужен *отдельный* шэйпер. Само по себе это уже сложновато; как вариант, держать набор шэйперов и пользоваться ими как пулом; тогда TBF будет легче, чем HTB.

Еще вам нужно направить каждый пакет в "правильный" для него шэйпер - тут на помощь прийдут классификаторы, хотя и здесь возможны сложности - например, с одного IP адресса идут две сесии и вы хотите ограничить каждую в отдельности.

WWell,

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "TC - ограничение ско"  +/
Сообщение от LSTemp (ok) on 05-Мрт-13, 20:08 
>[оверквотинг удален]
> 1: prio 1 u32 match ip sport 80 0xffff flowid 1:10
>     #premium
>     $TC filter add dev $DEV_P1_DOWN protocol ip parent
> 1: prio 1 u32 match ip sport 81 0xffff flowid 1:20
>
> С этим вопросов нет, писал сам, все понятно,
> но не могу найти информацию, как сделать так, чтобы все подключения, скажем,
> на 80 порт ограничивались индивидуально, т.е. чтобы никто не мог качать
> быстрее чем 1 Мбит/с даже если полоса свободна.
> Спасибо.

1) сконфигурируйте веб-сервер для ограничения скорости скачки пользователей.
2) настройте дерево TC: выделите под обращения на порт 80 полосу с ограниченым ceil. Это не ограничение скорости индивидуальной скачки, но может Вас это даже больше устроит, если подумаете.

PS
Вы попадание в фильтры смотрели?


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "TC - ограничение ско"  +/
Сообщение от LSTemp (ok) on 05-Мрт-13, 20:13 
[удалено]


Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

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

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема


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