The OpenNET Project / Index page

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

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

"htb.init и раздача безлимитки"  +/
Сообщение от zatei (ok) on 21-Фев-10, 03:11 
Первый раз сталкиваюсь с нуждой настройки шейпера трафика под линухом. Три дня копания в гугле принесли результат в виде выбора для этого дела скрипта htb.init.

Ситуация такая:
Планируется локалка, 20 офисов, в офисе может быть несколько компьютеров, выход в инет через сервер с настроенным NAT'ом, канал в инет 100 мегабит анлим симметричный, 20 мегабит мы забираем себе остальные отдаем.

Требуется:
Настроить шейпер таким образом чтобы один компьютер в одном офисе получал канал от 4-х до 10-ти мегабит в зависимости от загрузки канала. Если в офисе n компьютеров и они одновременно используют выданный на офис канал то он соответственно делится на n, если из n компьютеров в инете сидит один то он получает весь канал, если допустим два из трех... ну вы поняли, динамическое распределение.

Вот что у меня получилось после денька мучений с виртуальными машинами, ткните носом в ошибки или помогите с правильным вариантом написания правил:

----------------------------------
eth1
DEFAULT=10
R2Q=70

eth1-2.root
RATE=99Mbit

eth1-2:20.default
RATE=1Mbit
CEIL=1Mbit
LEAF=sfq

eth1-2:22.usreserved # Наш резерв
RATE=20Mbit
CEIL=99Mbit

eth1-2:22:220.servers # Резерв для наших серверов
RATE=10Mbit
CEIL=99Mbit
LEAF=sfq
RULE=*,192.168.0.2
RULE=*,192.168.0.3
RULE=*,192.168.0.4

eth1-2:22:222.servers # Резерв для наших рабочих станций
RATE=10Mbit
CEIL=99Mbit
LEAF=sfq
RULE=*,192.168.0.10
RULE=*,192.168.0.11
RULE=*,192.168.0.12

eth1-2:30.office01 # В первой комнате 3 машины
RATE=4Mbit
CEIL=10Mbit
LEAF=sfq
RULE=*,192.168.0.20
RULE=*,192.168.0.21
RULE=*,192.168.0.22

eth1-2:32.office02 # А во второй одна
RATE=4Mbit
CEIL=10Mbit
LEAF=sfq
RULE=*,192.168.0.23

и т.д.
----------------------------------

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

Оглавление

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


1. "htb.init и раздача безлимитки"  +/
Сообщение от zatei (ok) on 21-Фев-10, 03:16 
и да, как сделать две вещи:

зашейпить исходящий трафик, т.к. используется NAT это кажется будет геморроем с маркировкой пакетов, или я ошибаюсь?

как с вышеуказанными правилами (если они верны конечно) снять шейпинг на трафик внутри локалки?

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

2. "htb.init и раздача безлимитки"  +/
Сообщение от Алекс (??) on 21-Фев-10, 18:57 
>и да, как сделать две вещи:
>
>зашейпить исходящий трафик, т.к. используется NAT это кажется будет геморроем с маркировкой
>пакетов, или я ошибаюсь?
>
>как с вышеуказанными правилами (если они верны конечно) снять шейпинг на трафик
>внутри локалки?

Поставь какую-нибудь машину перед нато. Объедени две сетевухи бриджом и на ней шейпи.
Будешь нормально резать в обе стороны.

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

3. "htb.init и раздача безлимитки"  +/
Сообщение от zatei (ok) on 21-Фев-10, 22:47 
>Поставь какую-нибудь машину перед нато. Объедени две сетевухи бриджом и на ней
>шейпи.
>Будешь нормально резать в обе стороны.

А разве бридж в линухе действует не на канальном уровне? То есть на основе mac'ов а не ip'шников?

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

4. "htb.init и раздача безлимитки"  +/
Сообщение от Алекс (??) on 22-Фев-10, 09:10 
>>Поставь какую-нибудь машину перед нато. Объедени две сетевухи бриджом и на ней
>>шейпи.
>>Будешь нормально резать в обе стороны.
>
>А разве бридж в линухе действует не на канальном уровне? То есть
>на основе mac'ов а не ip'шников?

Действует-то он на основе маков, а пакетец проходит через ликункс, поэтому можно посмотреть IP адрес. Помимо шейпера можно и iptabels применить к нему.

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

5. "htb.init и раздача безлимитки"  +/
Сообщение от Koba LTD. email on 22-Фев-10, 11:15 
>>>Поставь какую-нибудь машину перед нато. Объедени две сетевухи бриджом и на ней
>>>шейпи.
>>>Будешь нормально резать в обе стороны.
>>
>>А разве бридж в линухе действует не на канальном уровне? То есть
>>на основе mac'ов а не ip'шников?
>
>Действует-то он на основе маков, а пакетец проходит через ликункс, поэтому можно
>посмотреть IP адрес. Помимо шейпера можно и iptabels применить к нему.
>

не понятно зачем придумывать велесопед, ставите управляемый свич второго уровня, каждый офисе подключаеться перед натом через него в отдельный порт/vlan и просто на порту средствами свича ограничиваете скорость до нужных рамок. все и не надо придумывать какие либо велосипеды.

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

6. "htb.init и раздача безлимитки"  +/
Сообщение от Алекс (??) on 22-Фев-10, 13:12 

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

А как в свиче делать заимствование полосы?

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

7. "htb.init и раздача безлимитки"  +/
Сообщение от zatei (ok) on 22-Фев-10, 13:24 
>не понятно зачем придумывать велесопед, ставите управляемый свич второго уровня, каждый офисе
>подключаеться перед натом через него в отдельный порт/vlan и просто на
>порту средствами свича ограничиваете скорость до нужных рамок. все и не
>надо придумывать какие либо велосипеды.

Трабл в том что сеть при этом беспроводная, то есть конечное оборудование в нашей серверной это мощный роутер, толку от управлялки при этом?

Идея с промежуточным мостом очень понравилась, настроил все это дело я на виртуальных машинах - вроде работает, трафик жмется, но при этом ужасные потери пакетов.

Есть мнение что это из-за кривых виртуальных девайсов, бриджи вообще хреновато держат многие сетевухи.

Как вы думаете, если мы купим для этой системы интеловские сетевухи, потерь не будет?

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

8. "htb.init и раздача безлимитки"  +/
Сообщение от Алекс (??) on 22-Фев-10, 14:12 
>>не понятно зачем придумывать велесопед, ставите управляемый свич второго уровня, каждый офисе
>>подключаеться перед натом через него в отдельный порт/vlan и просто на
>>порту средствами свича ограничиваете скорость до нужных рамок. все и не
>>надо придумывать какие либо велосипеды.
>
>Трабл в том что сеть при этом беспроводная, то есть конечное оборудование
>в нашей серверной это мощный роутер, толку от управлялки при этом?

Да тут не совсем в том дело. Свич тупо порт зарежит и все. Поставил 4 Мбита и он больше не даст. Не важно - сидит кто-то еще в инете или нет.

Вот на счет интеловских - не знаю. Он у нас стоял комп мостом без виртуализации. Шепирил человек 800. Это было давно даже щас не вспомню, что там у нас стояло. Ибо компьютер этот давным-давно разобран.

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

9. "htb.init и раздача безлимитки"  +/
Сообщение от Алекс (??) on 22-Фев-10, 17:01 
>Идея с промежуточным мостом очень понравилась, настроил все это дело я на
>виртуальных машинах - вроде работает, трафик жмется, но при этом ужасные
>потери пакетов.
>
>Есть мнение что это из-за кривых виртуальных девайсов, бриджи вообще хреновато держат
>многие сетевухи.

Попробуй еще изменить параметр ядра HZ на 500 или даже 1000.

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

10. "htb.init и раздача безлимитки"  +/
Сообщение от Gremlin (??) on 26-Мрт-10, 05:37 
Алекс
спрашивается и зачем лишняя железка ?

Koba LTD
стихи про велосипед понравились :))

предположим что eth1 это выход в интернет

iptables -t mangle -A POSTROUTING -s IP_ADDRESS -o eth1 -j MARK --set-mark 222

IP_ADDRESS - ip юзера

222 - произвольно выбрано мной :)

дальше

файлики eth1, eth1-2.root и тд
вместо RULE=ip, пишем MARK=222

собсно примерно так

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

11. "htb.init и раздача безлимитки"  +/
Сообщение от vvvua (ok) on 26-Мрт-10, 20:57 
Поверхностный просмотр показал, что возможен один косяк: сумма всех чилд рейтов должна не превышать парент, иначе не будет шейпить.
Исходя из этого, советую написать генерилку динамических htb.init правил, т.к. rate будет зависеть от количества правил...
Для обжималки входящего - либо маркировка, как уже говорилось, либо виртуальный интерфейс ifb ( http://www.linuxfoundation.org/collaborate/workgroups/networ... ) и на его исходе жать. Т.е. весь входящий трафик eth1 (где юзеры) перенаправлять на ifb0. И правила писать относительно ifb0.

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

13. "htb.init и раздача безлимитки"  +/
Сообщение от Gremlin (??) on 27-Мрт-10, 02:34 
немного накосячил выше (не eth1 а ethX - короче тот который смотрит в сторону интернета)

с виртуальным интерфейсом тоже выход, мне лично было проще промаркировать пакеты
20 офисов и в каждом по 3 компьютера(к примеру) ну 60 маркеров в iptables - нормально.

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

12. "htb.init и раздача безлимитки"  +/
Сообщение от ALex_hha (ok) on 26-Мрт-10, 21:35 
>eth1-2:20.default
>RATE=1Mbit
>CEIL=1Mbit

CEIL можно и так не указывать, по дефолту он равен RATE

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

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

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




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

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