Здравствуйте, Всеволод!В Вашей статье, Вы пишете, что "существует также возможность создания хешей фильтров(т.е. групп фильтров, которые применяются при прохождении определённых других фильтров)"
У меня возникла именно такая ситуация. Не могли бы Вы объяснить как использовать группы фильтров.
Передо мной стоит следующая задача. Есть порядка 10 подсетей, в каждой примерно по 4000 IP-адресов, реально компьютеров примерно по 300 в каждой из подсетей. Для каждого компьютера каждой подсети необходимо индивидуально ограничить полосу пропускания. Для компьютеров, принадлежащий одной подсети, параметры шейпинга одинаковы.
Если назначать шейпинг на подсеть - компьютеры одной подсети будут делить между собой назначенную полосу. Если задавать отдельные правила шейпинга для каждого адреса каждой подсети - tc отказывается добавлять правила при примерно 10000 правил (может и меньше, точно не знаю).
В FreeBSD всё делается просто:
ipfw add 800 pipe 10 ip from any to 10.1.128.0/20
ipfw pipe 10 config bw 128Kbit/s mask dst-ip 0x0000ffff
Вторая команда создаёт отдельный "канал" для каждого адреса подсети 10.1.128.0/20, попадающего под маску 0x0000ffff. При этом добавление правил происходит быстро (всего два правила), и много памяти не тратится.
Заранее огромное спасибо.