Первый раз сталкиваюсь с нуждой настройки шейпера трафика под линухом. Три дня копания в гугле принесли результат в виде выбора для этого дела скрипта 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
и т.д.
----------------------------------