Второй день бьюсь с ограничением скорости клиентам используя ipfw + pipe. Задача состоит в следующем:
Имеется :
канал 10 мегабит/сек
client1 192.168.0.1
client2 192.168.0.100
Требуется :
выделить 192.168.0.1 скорость 300 Кбит/сек
выделить 192.168.0.100 скорость 10 Мегабит/сек
причем приоритет у 192.168.0.1 должен быть выше, т.е. например 192.168.0.1 может скачивать до 300 Кбит/сек, а все что осталось уже идет на 192.168.0.100.
Ось : FreeBSD 8.2 со всеми заплатками и обновлениями из исходного кода.
Ядро : GENERIC + IPFW
Добавлены следующие опции
Код: Выделить всё
#IPFW
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=500
options IPFIREWALL_FORWARD
options IPDIVERT
options DUMMYNET
pipe 1 config bw 4000Kbit/sec
то это будет означать что от 10 Мегабит/сек будет откушено 4000 кбит/сек и на всех остальных останется
10000 - 4000 = 6000 Kbit/sec
или там происходит какая то балансировка например если pipe 1 не полностью нагружен то этот трафик можно задействовать.
Перепробовал много комбинаций и с одной трубой, и с двумя. Если есть возможность и желание у кого нибудь помочь, то выложите пример для вышеописанной конфигурации.
Убедительная просьба : не надо писать, что я алень и man ipfw. Я полный самоучка и спросить мне не у кого. Каждый день приходится изобретать велосипед. Мануалы читал, но чтоб их понять надо знать как что устроено.
Спс.