LINUX.ORG.RU
ФорумAdmin

Шейпинг + клиенты на PPP


0

0

Господа, помогите!

Сломал уже голову с шейпингом траффика. Имеется сеть, клиенты подключаются по PPPoE, а выход в интернет — ethernet. Нужно сделать шейпинг траффика, пока что, хотя бы так, чтобы каждый клиент получал скорость от MAX_RATE/N{активных клиентов}. Хочу сделать так:

• входящие на eth0 идут на ifb0

• при подьеме или падении ppp соединения происходит перераспределение канала, так, что каждому pppN ставится в соответствие класс на шейпере, скорость RATE/N, все это делается на соединениях ifb0 и ifb1.

• при подьеме соединения, входящие на pppN идут на ifb1.

Что я задумал не так, и как это сделать правильнее?



Последнее исправление: elfy (всего исправлений: 1)

> Нужно сделать шейпинг траффика, пока что, хотя бы так, чтобы каждый клиент получал скорость от MAX_RATE/N{активных клиентов}

Для такого подхода шейпинг вообще не нужен. Оно так и будет само по себе, если не резать трафик совсем. «Качков» с торрентами ограничить по количеству соединений в секунду разве что.

Не знаю вашу задачу в целом (корпоративная сеть или мини-провайдер), но для провайдерства шейпить трафик на шлюзе это не комильфо. Самое грамотное это загнать каждого клиента в VLAN и порезать ему на свитче скорость по тарифу. Очень простая настройка и администрирование, не грузится процессор на шлюзе, вирусы по сети не расползаются. Недостаток один - нет локалки 100 мбит между клиентами, но кому это сейчас надо при широкополосном анлиме я не знаю.

tx
()

c ifb ничего не получится, на него можно перенаправлять только
интерфейсы типа ethernet.

Z0termaNN
()
Ответ на: комментарий от tx

Самое грамотное это загнать каждого клиента в VLAN и порезать ему на свитче скорость по тарифу

А вы сами то пробовали резать скорость на свитчах? Там тупой полисинг, а не шейпинг, кроме того еще обычно и глючащий

на ифб отлично можно перенаправлять трафик от ppp интерфейсов, однако мне кажется что самым простым для автора будет заворот ингресса eth0 на ifb0 и дисциплина esfq на этих интерфейсах (либо u32 flow). Конечно в таком раскладе трафик типа ppp1->ppp0 пролетает без шейпинга, но по моему опыту это не критично.

ventilator ★★★
()
Ответ на: комментарий от ventilator

> А вы сами то пробовали резать скорость на свитчах?

Пробовали, и до сих пор пробуем. На глюки и потери пакетов никто не жаловался. Свитчи обычные D-Link, модель DES3326 кажется.

tx
()
Ответ на: комментарий от tx

Пробовали, и до сих пор пробуем. На глюки и потери пакетов никто не жаловался. Свитчи обычные D-Link, модель DES3326 кажется.

а вы л3 свитчи на доступ ставите? Для агрегации как то в этом свитче вланов маловато, особенно для vlan на юзера. Интересно так же насколько удобнее управление по snmp чем радиус и sql база.

ventilator ★★★
()
Ответ на: комментарий от ventilator

> а вы л3 свитчи на доступ ставите?

Какие есть, такие ставим. :) Впрочем подобные д-линки у нас почти везде стоят, не только на клиентов.

Для агрегации как то в этом свитче вланов маловато, особенно для vlan на юзера.

Вланов там не то сотни, не то тысячи, не? А на одном шлюзе (где терминируются вланы, собственно) у нас больше 30-40 клиентов не было никогда.

Интересно так же насколько удобнее управление по snmp чем радиус и sql база.

Snmp, radius, блин... Всё управление - UTM и PF на шлюзах. Кончились денежки, UTM-овский скрипт убирает на шлюзе клиентские IP из <allowed>, появились - добавляет. Какие-то сущности сверх этого обычно не требуются.

tx
()
Ответ на: комментарий от ventilator

Спасибо за ответы!

Самое грамотное это загнать каждого клиента в VLAN и порезать ему на свитче скорость по тарифу

Невозможно, я разадю поверх чужой сети. Свичи мне недоступны, а число пользователей колеблется от 6-7 (мат.ожидание по опыту) до 20 (пики), нужно чтобы канал не пустовал, когда пользователей мало.

самым простым для автора будет заворот ингресса eth0 на ifb0 и дисциплина esfq на этих интерфейсах (либо u32 flow).

Можете обьяснить как это будет работать?

elfy
() автор топика
Ответ на: комментарий от elfy

esfq просто делит полосу равномерно между потоками, потоки идентифицируются по ип. Вероятнее всего за каждым ppp интерфейсом у вас будет один адрес - вот и выйдет что вы разделите полосу равномерно между клиентами. Перенаправление входящего в eth0 на ifb0 нужно чтобы сделать шейпинг даунлоада, так как на eth0 шейпить его не получится. Такая схема будет работать если у вас нету NAT

ventilator ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.