<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: ipfw altq hfsc </title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93134.html</link>
    <description>Всем привет. &lt;br&gt;Столкнулся со следующей проблемой: раньше для трафик шейпинга использовал ipfw&#092;dummynet, все работало прекрасно, но дир поставил такую задачу, если канал не занимаеться трафиком с определенных IP, то отдавать канал полностью всем остальным, если есть трафик то отдавать процентов 80 канала этим IP. Решил использовать ipfw/altq/hfsc. Создал 3 очереди, конфиг привожу ниже (pf.conf):&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;altq on ae0 hfsc bandwidth 10Mb queue &#123; standard, vip, management, work &#125;&lt;br&gt;&lt;br&gt;queue vip bandwidth 30&#037; priority 7 hfsc (realtime 80&#037; linkshare 30&#037; upperlimit 100&#037;)&lt;br&gt;queue management bandwidth 25&#037; priority 5 hfsc ( linkshare 25&#037; upperlimit 100&#037;)&lt;br&gt;queue work bandwidth 25&#037; priority 3 hfsc ( linkshare 25&#037; upperlimit 60&#037;)&lt;br&gt;queue standard bandwidth 20&#037; hfsc ( linkshare 20&#037; upperlimit 20&#037; default)&lt;br&gt;&lt;br&gt;&lt;br&gt;Пока настроил только на download, ae0 внутренний интрефейс. Пытаюсь добиться чтоб очереди vip как и положенно отдавалось 80&#037; канала. Далее раскидал компы по очередям в ipfw.rules:&lt;br&gt;&lt;br&gt;$cmd 1 count altq vip all from any to $</description>

<item>
    <title>ipfw altq hfsc  (artemrts)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93134.html#8</link>
    <pubDate>Sat, 17 Mar 2012 19:53:55 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;  block in &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;  block out &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;  pass in quick on $int_if inet from $vip to !(self) queue &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; down_vip &lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ALTQ на fbsd не режет входящий трафик.&lt;br&gt;&amp;gt;&amp;gt; А где вы видели в моем примере обратное. Вы путаете сказанное с &lt;br&gt;&amp;gt;&amp;gt; _назначением_ очереди для конкретного вида траффика с учетом специфики PF (имеется &lt;br&gt;&amp;gt;&amp;gt; ввиду stateful filtering).&lt;br&gt;&amp;gt;&amp;gt;  Почему не читаете доки?&lt;br&gt;&amp;gt; Доки читал. Разъясните разницу - буду благодарен.&lt;br&gt;&lt;br&gt; Смотрите, вся прелесть PF именно в stateful firewalling. Как с точки зрения производительности так и безопасности, поэтому лучше использовать как раз keep-state. Если вы пытаетесь ограничивать или приоритизировать трафик &quot;в локальную сеть&quot;, то да его можно направить в нужную очередь фактически без keep-stating на внутрееннем интерфейсе (с помощью опции nostate), что не есть хорошо.&lt;br&gt; Лечше, когда у вас все keep-state и стейты привязаны к интерфейсу (set state-policy if-bound).&lt;br&gt; Допустим, клиент из локальной сети запросил www ресурс. На внутр. интерфейсе создае</description>
</item>

<item>
    <title>ipfw altq hfsc  (Skif)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93134.html#7</link>
    <pubDate>Sat, 17 Mar 2012 17:25:37 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&amp;gt; Далее назначаем очереди: &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;  block in &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;  block out &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;  pass in quick on $int_if inet from $vip to !(self) queue &lt;br&gt;&amp;gt;&amp;gt;&amp;gt; down_vip &lt;br&gt;&amp;gt;&amp;gt; ALTQ на fbsd не режет входящий трафик.&lt;br&gt;&amp;gt; А где вы видели в моем примере обратное. Вы путаете сказанное с &lt;br&gt;&amp;gt; _назначением_ очереди для конкретного вида траффика с учетом специфики PF (имеется &lt;br&gt;&amp;gt; ввиду stateful filtering).&lt;br&gt;&amp;gt;  Почему не читаете доки?&lt;br&gt;&lt;br&gt;Доки читал. Разъясните разницу - буду благодарен.&lt;br&gt;</description>
</item>

<item>
    <title>ipfw altq hfsc  (artemrts)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93134.html#6</link>
    <pubDate>Sat, 17 Mar 2012 09:55:01 GMT</pubDate>
    <description>&amp;gt;&amp;gt; Далее назначаем очереди: &lt;br&gt;&amp;gt;&amp;gt;  block in &lt;br&gt;&amp;gt;&amp;gt;  block out &lt;br&gt;&amp;gt;&amp;gt;  pass in quick on $int_if inet from $vip to !(self) queue &lt;br&gt;&amp;gt;&amp;gt; down_vip &lt;br&gt;&amp;gt; ALTQ на fbsd не режет входящий трафик.&lt;br&gt;&lt;br&gt;А где вы видели в моем примере обратное. Вы путаете сказанное с _назначением_ очереди для конкретного вида траффика с учетом специфики PF (имеется ввиду stateful filtering).&lt;br&gt; Почему не читаете доки?&lt;br&gt;&lt;br&gt; Вот строчки из офф. PF User&apos;s Guide.&lt;br&gt;&lt;br&gt;     pass in on fxp0 proto tcp to port 80 queue http&lt;br&gt;&lt;br&gt;With this rule, packets traveling back out fxp0 that match the stateful&lt;br&gt;connection will end up in the http queue. Note that even though the queue&lt;br&gt;keyword is being used on a rule filtering incoming traffic, the goal is to&lt;br&gt;specify a queue for the corresponding outgoing traffic; the above rule does&lt;br&gt;not queue incoming packets.&lt;br&gt; &lt;br&gt;&lt;br&gt;&amp;gt; Второе, по умолчанию все правила идут с keep state. по этому если &lt;br&gt;&amp;gt; шейпить исход необходимо добавлять no state иначе часть трафика может не &lt;br&gt;&amp;gt; попасть под ограничение, попав под другую, не шейпированную</description>
</item>

<item>
    <title>ipfw altq hfsc  (Skif)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93134.html#5</link>
    <pubDate>Sat, 17 Mar 2012 06:24:31 GMT</pubDate>
    <description>&amp;gt; Далее назначаем очереди: &lt;br&gt;&amp;gt;  block in &lt;br&gt;&amp;gt;  block out &lt;br&gt;&amp;gt;  pass in quick on $int_if inet from $vip to !(self) queue &lt;br&gt;&amp;gt; down_vip &lt;br&gt;&lt;br&gt;ALTQ на fbsd не режет входящий трафик.&lt;br&gt;Второе, по умолчанию все правила идут с keep state. по этому если шейпить исход необходимо добавлять no state иначе часть трафика может не попасть под ограничение, попав под другую, не шейпированную очередь.&lt;br&gt;</description>
</item>

<item>
    <title>ipfw altq hfsc  (DeadLoco)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93134.html#4</link>
    <pubDate>Mon, 12 Mar 2012 07:51:01 GMT</pubDate>
    <description>&amp;gt; сначало все же в ipfw, не хочеться пока переходить на pf.&lt;br&gt;&lt;br&gt;В ИПФВ задача решается динамическими (src/dst-mask) очередями с приоритетами (weight). Все, что нужно - создать два пайпа на вход и выход, а внутри них создавать диночереди с приоритетами, в зависимости от адресов-портов-направлений.&lt;br&gt;</description>
</item>

<item>
    <title>ipfw altq hfsc  (creeping_death)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93134.html#3</link>
    <pubDate>Mon, 12 Mar 2012 06:50:14 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;  block in &lt;br&gt;&amp;gt;&amp;gt;  block out &lt;br&gt;&amp;gt; pass in quick on $int_if inet from $vip to !(self) queue down_vip &lt;br&gt;&amp;gt; tag vip &lt;br&gt;&amp;gt; .......................   ... from $managment to !(self) queue down_manager tag manager &lt;br&gt;&amp;gt; pass out quick on $int_if inet from any to any &lt;br&gt;&amp;gt;&amp;gt;  Для ограничения исходящего траффика: &lt;br&gt;&amp;gt; pass out quick on $ext_if inet from $ext_if to any queue up_vip &lt;br&gt;&amp;gt; tagged vip &lt;br&gt;&amp;gt;  ........... ...................................................&lt;br&gt;&lt;br&gt;Спасибо за помощь. Сегодня попробую планировщик cbq сначало все же в ipfw, не хочеться пока переходить на pf.&lt;br&gt;</description>
</item>

<item>
    <title>ipfw altq hfsc  (artemrts)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93134.html#2</link>
    <pubDate>Sun, 11 Mar 2012 18:02:29 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; вашем случае лучше использовать cbq.&lt;br&gt;&amp;gt;  Что-то типа этого: &lt;br&gt;&amp;gt;  set state-policy if-bound &lt;br&gt;&amp;gt;  altq on ae0 cbq bandwidth 10Mb queue &#123; standard, vip, management, &lt;br&gt;&amp;gt; work &#125; &lt;br&gt;&amp;gt; queue down_vip bandwidth 30&#037; priority 7 cbq (borrow) &lt;br&gt;&amp;gt; queue down_management bandwidth 25&#037; priority 5 cbq (borrow) &lt;br&gt;&amp;gt; queue down_work bandwidth 25&#037; priority 3 cbq (borrow) &lt;br&gt;&amp;gt; queue down_standard bandwidth 20&#037; cbq(borrow) &lt;br&gt;&amp;gt;  Аналогично для внешнего интерфейса.&lt;br&gt;&lt;br&gt; Oops. Далее я немного ошибся.&lt;br&gt;&lt;br&gt;&amp;gt; Далее назначаем очереди: &lt;br&gt;&amp;gt;  block in &lt;br&gt;&amp;gt;  block out &lt;br&gt;&lt;br&gt;pass in quick on $int_if inet from $vip to !(self) queue down_vip tag vip&lt;br&gt;.......................   ... from $managment to !(self) queue down_manager tag manager&lt;br&gt;pass out quick on $int_if inet from any to any &lt;br&gt;&lt;br&gt;&amp;gt;  Для ограничения исходящего траффика: &lt;br&gt;&lt;br&gt;pass out quick on $ext_if inet from $ext_if to any queue up_vip tagged vip&lt;br&gt; ........... ...................................................&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>ipfw altq hfsc  (artemrts)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93134.html#1</link>
    <pubDate>Sun, 11 Mar 2012 17:54:13 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; $cmd 4 count altq standard all from any to any out via &lt;br&gt;&amp;gt; $lif &lt;br&gt;&amp;gt; Прописал правила первыми до динамической проверки, $lif внутренний интерфейс. Далее наблюдаю &lt;br&gt;&amp;gt; следующую картину: компы из очереди management используют канал почти на полную, &lt;br&gt;&amp;gt; далее подключаю машину из очереди vip, через некоторое время закачка примерно &lt;br&gt;&amp;gt; выравниваеться в соотношении примерно 50&#092;50 между очередями. Команда  pfctl -s &lt;br&gt;&amp;gt; queue -v показывает что все очереди работают. Манипуляции с параметрами realtime, &lt;br&gt;&amp;gt; upperlimit, linkshare ни к чему не привели...&lt;br&gt;&amp;gt; Что не так в настройках и почему не работает?&lt;br&gt;&amp;gt; Заранее спасибо.&lt;br&gt;&lt;br&gt; Несколько общих рекомендаций. &lt;br&gt;Если вам не нужно &quot;резать&quot; канал по src-mask, то нет надобности в ipfw. Все можно реализовать с помощью pf/altq. Ставьте pftop и смотрите как распределяются очереди.&lt;br&gt;В hfsc приоритеты не исользуются, так что можете их не указывать. В вашем случае лучше использовать cbq. &lt;br&gt; Что-то типа этого:&lt;br&gt;&lt;br&gt; set state-policy if-bound&lt;br&gt;&lt;br&gt; altq on ae0 cbq ba</description>
</item>

</channel>
</rss>
