<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: PF: Два канала и ограничение трафика</title>
    <link>https://www.opennet.me/openforum/vsluhforumID1/93473.html</link>
    <description>Имеется два интернет-канала: основной и резервный. На FreeBSD-сервере накручены скрипты, которые пингуют корневые DNS с обоих каналов и на основе ответов определяют дохлый канал и в случает такового переключают основной маршрут на другой канал. &lt;br&gt;Чтобы это работало в pf.conf прописаны правила:&lt;br&gt;&lt;br&gt;pass out route-to ($ext3_if $ext3_gw) inet from $ext3_if&lt;br&gt;pass out route-to ($ext_if &amp;lt;ext_gw&amp;gt;) inet from ($ext_if)&lt;br&gt;pass out inet from &#123; ($ext_if) $ext3_if &#125; to (self:network)&lt;br&gt;&lt;br&gt;Средствами ALTQ для некоторых пользователей ограничивается входящий трафик. Теперь же нужно ограничить исходящий трафик некоторым пользователям (которые обнаглели и стали его забивать). Но я не знаю, как это сделать, сохранив маршрутизацию пакетов через оба канала.&lt;br&gt;&lt;br&gt;Если бы был один активный канал, то проблем нету:&lt;br&gt;&lt;br&gt;pass out on $ext_if from 192.168.1.0/24 to any queue q_out&lt;br&gt;pass out on $ext3_if from 192.168.1.0/24 to any queue q_out&lt;br&gt;&lt;br&gt;Прошу помощи в поиске нужного синтаксиса.&lt;br&gt;</description>

<item>
    <title>PF: Два канала и ограничение трафика (yurybx)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID1/93473.html#19</link>
    <pubDate>Fri, 15 Jun 2012 10:20:34 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&amp;gt;&#091;оверквотинг удален&#093; &lt;br&gt;&amp;gt;&amp;gt; А можно подробней про направление трафика через виртуальный интерфейс? Не совсем понимаю &lt;br&gt;&amp;gt;&amp;gt; схему. Ведь получается, что мне нужно шейпить исходящий трафик на некоем &lt;br&gt;&amp;gt;&amp;gt; виртуальном интерфейсе, тогда эти пакеты потом должны каким-то образом выходить из &lt;br&gt;&amp;gt;&amp;gt; реального внешнего интерфейса. Или я чего-то не понимаю?&lt;br&gt;&amp;gt; IMQ для Linux например. пакеты прямо из сетевого фильтра специальным правилом заворачиваются &lt;br&gt;&amp;gt; на псевдо-девайс, который для системы выглядит, как обычный физический сетевой интерфейс. &lt;br&gt;&amp;gt; там трафик режется тем же tc например и после обработки опять &lt;br&gt;&amp;gt; попадает в сетевой фильтр и продолжает свое путешествие по цепочкам правил. &lt;br&gt;&amp;gt; наверняка подобные механизмы и во Free есть.&lt;br&gt;&lt;br&gt;Интересно. Да, я уже нарисовал схему, действительно интересный способ. Спасибо за информацию к размышлению!&lt;br&gt;</description>
</item>

<item>
    <title>PF: Два канала и ограничение трафика (LSTemp)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID1/93473.html#18</link>
    <pubDate>Fri, 15 Jun 2012 10:05:40 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&#091;оверквотинг удален&#093; &lt;br&gt;&amp;gt; А можно подробней про направление трафика через виртуальный интерфейс? Не совсем понимаю &lt;br&gt;&amp;gt; схему. Ведь получается, что мне нужно шейпить исходящий трафик на некоем &lt;br&gt;&amp;gt; виртуальном интерфейсе, тогда эти пакеты потом должны каким-то образом выходить из &lt;br&gt;&amp;gt; реального внешнего интерфейса. Или я чего-то не понимаю?&lt;br&gt;&lt;br&gt;IMQ для Linux например. пакеты прямо из сетевого фильтра специальным правилом заворачиваются на псевдо-девайс, который для системы выглядит, как обычный физический сетевой интерфейс. там трафик режется тем же tc например и после обработки опять попадает в сетевой фильтр и продолжает свое путешествие по цепочкам правил.&lt;br&gt;&lt;br&gt;наверняка подобные механизмы и во Free есть.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>PF: Два канала и ограничение трафика (rush_alex)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID1/93473.html#17</link>
    <pubDate>Fri, 15 Jun 2012 06:48:02 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; nat on $ext_if from $lan1 to any -&amp;gt; ($ext_if) &lt;br&gt;&amp;gt; nat on $ext3_if from $lan1 to any -&amp;gt; $ext3_if &lt;br&gt;&amp;gt; nat on $ext_if from $lan2 to any tag Limited -&amp;gt; ($ext_if) &lt;br&gt;&amp;gt; nat on $ext3_if from $lan2 to any tag Limited -&amp;gt; $ext3_if &lt;br&gt;&amp;gt; pass out route-to ($ext_if &amp;lt;ext_gw&amp;gt;) inet from ($ext_if) &lt;br&gt;&amp;gt; pass out route-to ($ext3_if $ext3_gw) inet from $ext3_if &lt;br&gt;&amp;gt; pass out inet from &#123; ($ext_if) $ext3_if &#125; to (self:network) &lt;br&gt;&amp;gt; pass out route-to ($ext_if &amp;lt;ext_gw&amp;gt;) inet from ($ext_if) tagged Limited queue q_out &lt;br&gt;&amp;gt; pass out route-to ($ext3_if $ext3_gw) inet from $ext3_if tagged Limited queue q3_out &lt;br&gt;&amp;gt; По-идее должно работать. Или нет?&lt;br&gt;&lt;br&gt;По внешнему виду должно...&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>PF: Два канала и ограничение трафика (yurybx)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID1/93473.html#16</link>
    <pubDate>Fri, 15 Jun 2012 05:46:40 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt; а скрипты отлажены и долгое время исправно работают. Они выполняют следующие &lt;br&gt;&amp;gt;&amp;gt; функции: &lt;br&gt;&amp;gt;&amp;gt; 1) Быстро (в течении 15-30 секунд) реагируют на падение активного канала и &lt;br&gt;&amp;gt;&amp;gt; переключают на другой канал &lt;br&gt;&amp;gt;&amp;gt; 2) Резервный канал - платный, по-этому скрипты отслеживают восстановление основного канала &lt;br&gt;&amp;gt;&amp;gt; и в таком случае переключают маршрутизацию обратно на него (перед этим &lt;br&gt;&amp;gt;&amp;gt; делая выдержку 15 минут, чтобы маршрутизация не прыгала туда-сюда) &lt;br&gt;&amp;gt;&amp;gt; 3) При переключении маршрутизации переключается также relay-host в postfix &lt;br&gt;&amp;gt;&amp;gt; 4) Пишут логи о недоступности каждого из каналов, переключениях и т.д.&lt;br&gt;&amp;gt; Кто мешает иметь два конфига pf и переключать их тем же скриптом? &lt;br&gt;&lt;br&gt;Проблема не с переключением, а с тем, чтобы совместить две функции одновременно:&lt;br&gt;1) Возможность пинговать через оба канала одновременно&lt;br&gt;2) Нарезка исходящего трафика на активном канале&lt;br&gt;</description>
</item>

<item>
    <title>PF: Два канала и ограничение трафика (a2l)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID1/93473.html#15</link>
    <pubDate>Fri, 15 Jun 2012 05:41:17 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; Это плохо для меня: стабильность интеренета в том офисе - больная тема, &lt;br&gt;&amp;gt; а скрипты отлажены и долгое время исправно работают. Они выполняют следующие &lt;br&gt;&amp;gt; функции: &lt;br&gt;&amp;gt; 1) Быстро (в течении 15-30 секунд) реагируют на падение активного канала и &lt;br&gt;&amp;gt; переключают на другой канал &lt;br&gt;&amp;gt; 2) Резервный канал - платный, по-этому скрипты отслеживают восстановление основного канала &lt;br&gt;&amp;gt; и в таком случае переключают маршрутизацию обратно на него (перед этим &lt;br&gt;&amp;gt; делая выдержку 15 минут, чтобы маршрутизация не прыгала туда-сюда) &lt;br&gt;&amp;gt; 3) При переключении маршрутизации переключается также relay-host в postfix &lt;br&gt;&amp;gt; 4) Пишут логи о недоступности каждого из каналов, переключениях и т.д.&lt;br&gt;&lt;br&gt;Кто мешает иметь два конфига pf и переключать их тем же скриптом?&lt;br&gt;</description>
</item>

<item>
    <title>PF: Два канала и ограничение трафика (yurybx)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID1/93473.html#14</link>
    <pubDate>Thu, 14 Jun 2012 08:50:40 GMT</pubDate>
    <description>В Вашем примере нарезка исходящего трафика по портам, а мне нужно по ай-пи адресам локальной сети. &lt;br&gt;Однако крайне заинтересовали строки:&lt;br&gt;nat on $ext_if_a inet from !(self) tag TR !tagged TR -&amp;gt; $ext_if_a&lt;br&gt;nat on $ext_if_b inet from !(self) tag TR !tagged TR -&amp;gt; $ext_if_b&lt;br&gt;&lt;br&gt;Возникла мысль назначать тег в правилах трансляции, и потом работать с ним в правилах pass out on ext_if. Например, так:&lt;br&gt;&lt;br&gt;nat on $ext_if from $lan1 to any -&amp;gt; ($ext_if)&lt;br&gt;nat on $ext3_if from $lan1 to any -&amp;gt; $ext3_if&lt;br&gt;nat on $ext_if from $lan2 to any tag Limited -&amp;gt; ($ext_if)&lt;br&gt;nat on $ext3_if from $lan2 to any tag Limited -&amp;gt; $ext3_if&lt;br&gt;&lt;br&gt;pass out route-to ($ext_if &amp;lt;ext_gw&amp;gt;) inet from ($ext_if)&lt;br&gt;pass out route-to ($ext3_if $ext3_gw) inet from $ext3_if&lt;br&gt;pass out inet from &#123; ($ext_if) $ext3_if &#125; to (self:network)&lt;br&gt;pass out route-to ($ext_if &amp;lt;ext_gw&amp;gt;) inet from ($ext_if) tagged Limited queue q_out&lt;br&gt;pass out route-to ($ext3_if $ext3_gw) inet from $ext3_if tagged Limited queue q3_out&lt;br&gt;&lt;br&gt;По-идее должно работать. Или нет?&lt;br&gt;</description>
</item>

<item>
    <title>PF: Два канала и ограничение трафика (rush_alex)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID1/93473.html#13</link>
    <pubDate>Thu, 14 Jun 2012 08:25:22 GMT</pubDate>
    <description>У меня в архиве валялось &lt;br&gt;&lt;br&gt;# Включить трансляцию адресов на внешних интерфейсах.#&lt;br&gt;#nat on $ext_if_a inet from !(self) -&amp;gt; $ext_if_a&lt;br&gt;#nat on $ext_if_b inet from !(self) -&amp;gt; $ext_if_b&lt;br&gt;nat on $ext_if_a inet from !(self) tag TR !tagged TR -&amp;gt; $ext_if_a&lt;br&gt;nat on $ext_if_b inet from !(self) tag TR !tagged TR -&amp;gt; $ext_if_b&lt;br&gt;&lt;br&gt;# FTP-PROXY&lt;br&gt;#no rdr on lo0 from any to any&lt;br&gt;rdr proto tcp from &#123; $int_if:network, 192.168.4.0/24 &#125; to !(self) port ftp -&amp;gt; lo0 port 8021&lt;br&gt;#rdr pass on $int_if proto tcp from  192.168.0.129 to any port &#123;ftp&#125; -&amp;gt; 192.168.0.4 port 2121&lt;br&gt;&lt;br&gt;#HTTP всех на переадресовываем на Squid&lt;br&gt;#rdr pass on $int_if proto tcp from  any to any port http -&amp;gt; $int_if port 3128&lt;br&gt;rdr on $int_if proto tcp from  any to !&amp;lt;nosquid-list&amp;gt; port http -&amp;gt; $int_if port 3128&lt;br&gt;rdr on $int_if proto tcp from  !&amp;lt;white-list&amp;gt; to any port $ext_proxy -&amp;gt; $int_if port 3128&lt;br&gt;#rdr pass on $int_if proto tcp from  !&amp;lt;nosquid-list&amp;gt; to any port http -&amp;gt; $int_if port http&lt;br&gt;#rdr on $int_if proto tcp from any to any port $ext_proxy -&amp;gt; $int_if port 3128</description>
</item>

<item>
    <title>PF: Два канала и ограничение трафика (yurybx)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID1/93473.html#12</link>
    <pubDate>Thu, 14 Jun 2012 07:45:35 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;   Если у вас НАТ, то приведенные правила не будут работать. &lt;br&gt;&amp;gt;  pass in quick on $int_if from 192.168.1.0/24 to any tag LAN1 &lt;br&gt;&amp;gt; #назначаем тег &lt;br&gt;&amp;gt; pass out route-to ($ext3_if $ext3_gw) inet from $ext3_if to any queue q_out &lt;br&gt;&amp;gt; tagged LAN1 #это будет ограничение от клиенту в мир &lt;br&gt;&amp;gt; pass out route-to ($ext_if &amp;lt;ext_gw&amp;gt;) inet from ($ext_if) to any queue q_out &lt;br&gt;&amp;gt; tagged LAN1 # тоже &lt;br&gt;&amp;gt;  а потом уже теже правила, но без тега.&lt;br&gt;&amp;gt;  И да. Рутовую очередь нужно настроить на обеих внешних.&lt;br&gt;&amp;gt;  Вроде все.&lt;br&gt;&lt;br&gt;Не нашел информации о том, как ведёт себя тегированный пакет после НАТ. Насколько я понял из Ваших слов, тег удаляется после трансляции, и его нельзя использовать в правилах pass out on ext_if?&lt;br&gt;</description>
</item>

<item>
    <title>PF: Два канала и ограничение трафика (yurybx)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID1/93473.html#11</link>
    <pubDate>Thu, 14 Jun 2012 07:05:29 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt; чтобы определять, какой из них живой, а какой - мёртвый.&lt;br&gt;&amp;gt; не спец во Фре, но: &lt;br&gt;&amp;gt; - если юзеры одномоментно ч/з один из двух каналов идут в инет, &lt;br&gt;&amp;gt; то почему бы просто не поставить одинаковые ограничение исходящего трафика на &lt;br&gt;&amp;gt; обоих каналах для этих юзеров? для нормальных все останется по прежнему, &lt;br&gt;&amp;gt; а &quot;исходяки&quot; пусть плачут при переключении - их проблема &lt;br&gt;&amp;gt; - давно отработанный подход: фигачить весь нужный трафик на виртуальный интерфейс (для &lt;br&gt;&amp;gt; централизованной обработки), рулить там им по своему усмотрению (урезать, оттегировать &lt;br&gt;&amp;gt; для дальнейшей обработки, итд) и выплевывать дальше. механизмы OS depended, но &lt;br&gt;&amp;gt; не думаю, что будут проблемы в реализации для данной ОС.&lt;br&gt;&lt;br&gt;А можно подробней про направление трафика через виртуальный интерфейс? Не совсем понимаю схему. Ведь получается, что мне нужно шейпить исходящий трафик на некоем виртуальном интерфейсе, тогда эти пакеты потом должны каким-то образом выходить из реального внешнего интерфейса. Или я чего-то не понимаю</description>
</item>

</channel>
</rss>
