#1 13.05.11 16:34
совет по htb, шейпинг
Друзья, есть задача по шейпингу:
ограничивать трафик до определённых айпишек по 1 мбит до каждой.
я ничо не понимаю в организации очередей и дисциплин этих ваших и после прочтения пары источников намутил тупо:
1 корневую дисциплину,
|
к ней соотвт. класс, описывающий весь канал,
| | | | | | | | | | | | | | | | | | |
а у него 20 детей-классов, которым соответствуют фильтры.
фильтры, соотвтетственно, настроены каждый на свою айпишку.
Итог: всё работает ок.
Вопрос: есть ли возможность организовать такую систему, что каждую айпишку не надо было указывать в отдельности, а, скажем, указать подсеть, чтобы если понёсся поток до 1 айпишки из этой подсети, то ему досталось бы 1 мб. если бы до второй, то и ему досталось бы 1 мбит и т.д.
Зачем оно надо?
Чтобы не приходилось каждый раз при добавлении новых айпишек, до которых следует шейпить, править ручками скрипт, описывающий сиё счастье.
Исправлено ninjah (13.05.11 16:38)
Offline
#4 13.05.11 21:46
Re: совет по htb, шейпинг
если я напишу фильтр на подсеть с этими айпишками и заверну это всё на 1 класс, то 1мб разделится между потоками к этим айпишкам. то есть станет 1мб на все айпишки, которые попадают в фильтр. а хочется так, чтобы описать такую систему: подсеть, трафик до каждой отдельной айпишки которой, сможет занимать 1 мб. вопрос в этом и состоит, возможно ли это?
Offline
#8 15.05.11 20:15
Re: совет по htb, шейпинг
дело в том, что для того, чтобы что-то шейпить - должна быть очередь
у этой очереди грубо говоря есть "свойство" - скорость данных, проходящих через эту очередь
фильтрами ты можешь направлять трафик в эту очередь.
фильтры могут быть любыми: адрес отправителя, получателя, порты, протоколы, марки пакетов и проч. Адреса могут быть как отдельные айпишки, так и подсети.
иными словами, непосредственным шейпингом занимается "очередь", а в очередь может направляться трафик с помощью нескольких "фильтров" (или вообще не направляться ни одним)
выходит, если хочешь чтобы каждому конкретному айпишнику был СВОЙ 1Мбит - для этого айпишника нужно сделать СВОЮ очередь и завернуть трафик ЭТОГО айпишника в ЭТУ очередь
одним правилом этого не сделать. решение - написать скрипт, который будет автоматически генерить tc class && tc filter на всю подсеть айпишек
Offline

