The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"ipfw pipe и pf altq cbq"
Отправлено Skif, 05-Мрт-12 11:29 
Объясните простой технический момент.
есть цель порезать трафик на вход/выход с интерфейса. Наиболее подходит вариант cbq/hfsc. но есть тонкость - как и под Linux ограничение нормально действует только на out трафик.
Ну вот банальный пример:
канал 10 Мбит/с. pf+altq+cbq. что бы особо не заморачиваться - cbq.

altq on $ext_if cbq bandwidth 10Mb queue { main, web, icmp }
queue main bandwidth 10% cbq(default red)
queue web bandwidth 30% cbq(red)
queue icmp bandwidth 10% cbq

# WWW in for apache
pass in on $ext_if proto tcp to $ext_ip port $www keep state queue web
# WWW out
pass out on $ext_if proto tcp from $ext_ip to any port $www keep state queue web

в независимости от того в какую очередь запихнут трафик - качает на полном канале(borrow нет). и обратите внимание - основная очередь, по которой проверяется работа имее 30%. сумма составляет 50%. 50 ещё гуляют. может это и не правильно? просто делал для дебагинга и до 100 сумму очередей поднимать не хотел.
режем саму очередь до мегабита

altq on $ext_if cbq bandwidth 1Mb queue { main, web, icmp }
queue main bandwidth 10% cbq(default red)
queue web bandwidth 30% cbq(red)
queue icmp bandwidth 10% cbq

Качать начинает в половину - 5-4,5Мбит/с
Качаю банальным fetch с самого тазика. никаких натов и т.д.

поднимаю ipfw
Из вредности зажимаю до 100 Кбит
ipfw pipe 1 config bw 100Kbit/s
ipfw add pipe ip from any to any
мои "честные" (с небольшими закидонами вверх) 100 Кбит
даю 1 Мбит и т.д.
ipfw pipe 1 config bw 1Mbit/s
И опять таки честно всё получаю и на вход и на выход.

Если бы не потребность в динамическом шейпинге я бы забил и всё на pipe и построил, но мне нужно вся прелесть altq с его borrow, upperlimit и т.д.
Собственно вопросов несколько:
1) почему себя так непонятно ведёт altq+pf. Бог с ним, что скорость только на отдачу нормально регулируется. но ведь на скачку при указании лимита меньше полосы пропускания в разы он выдаёт скорость выше лимита и ниже полосы. Это глюк или фича? а в чём прикол? Покрайней мере в разрекламированной книге The Book of PF ни в мане не нашёл объяснение такого поведения. Altq как бы режет скорость, но не в рамках определённой очереди или заданной полосы пропускания.
2) можете посоветовать альтернативу кроме варианта поднятия ещё одной очереди на ещё одном интерфейсе и там дополнительно шейпить трафик? не хочется плодить очереди в простеньком то конфиге. дополнительно подключать ipfw для задания границы сверху через pipe - тоже.
3) под freebsd, как в openbsd, что-то подобное systat с отображением очередей pf есть?

PS:
fbsd82# uname -rsm
FreeBSD 8.3-PRERELEASE amd64
fbsd82#

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру