<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: FreeBsd pipe + Natd. Пакеты попадают в трубу но не возвращаются</title>
    <link>https://opennet.ru/openforum/vsluhforumID1/84062.html</link>
    <description>Добрый день.&lt;br&gt;Есть необходимость в ограничении полосы для большого количества пользователей (600-700 одновременно работающих):&lt;br&gt;Используется FreeBsd 6.2 + pipes + natd.&lt;br&gt;IPFW :&lt;br&gt;#!/bin/sh&lt;br&gt;#Quietly flush out rules&lt;br&gt;#/usr/local/etc/list_tmp/ua.sh&lt;br&gt;/sbin/ipfw -q -f flush&lt;br&gt; cmd=&quot;/sbin/ipfw add&quot;&lt;br&gt; fwcmd=&quot;/sbin/ipfw&quot;&lt;br&gt; oif=&quot;em0&quot; #External&lt;br&gt; iif=&quot;em1&quot; #Internal&lt;br&gt; skip=&quot;skipto 800&quot;&lt;br&gt;&lt;br&gt;         $cmd allow ip from any to any via lo0&lt;br&gt;         $cmd deny ip from any to 127.0.0.0/8&lt;br&gt;         $cmd deny log ip from 127.0.0.0/8 to any&lt;br&gt;&lt;br&gt;         $cmd allow tcp from any to any 80 in via $oif&lt;br&gt;         $cmd allow tcp from any to any 22 in via $oif setup keep-state&lt;br&gt;&lt;br&gt;&lt;br&gt;#FTP&lt;br&gt;         $cmd allow tcp from any to any 20,21 in via $oif&lt;br&gt;         $cmd pass tcp from any to me 50000-59999 setup&lt;br&gt;#NTP&lt;br&gt;         $cmd allow udp from any to any 123 out via $oif&lt;br&gt;         $cmd allow udp from 83.218.226.67 to any in via $oif&lt;br&gt;#DNS external&lt;br&gt;&lt;br&gt;         $cmd allow udp from any to any 53 in via $oif&lt;br&gt;&lt;br&gt;&lt;br&gt;#         $cmd allow tcp from any to</description>

<item>
    <title>FreeBsd pipe + Natd. Пакеты попадают в трубу но не возвращаю... (Kris)</title>
    <link>https://opennet.ru/openforum/vsluhforumID1/84062.html#7</link>
    <pubDate>Wed, 11 Feb 2009 17:41:11 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;ipfw add divert 8668 ip from $&#123;my_lan&#125; in via $&#123;iif&#125; &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;А natd уже сам разберётся какой из них куда пересылать. &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;И ещё одно: использовать natd на таком количестве клиентов (600-700) не рекомендую. Во-первых, это демон, и работает он в user-space. Соответственно, только на переключение контекстов kernel-space &amp;lt;-&amp;gt; user-space уйдёт значительная часть ресурсов машины. Во-вторых, при большом кол-ве одновременных сессий машина обязательно заткнётся при достижении макс. кол-ва открытых соединений (демон-то сокет открывает). Вопшем, рекомендую в таком случае юзать ipnat.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Упс... сорри, второй диверт есть, сразу не заметил: &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;01400      17     3333 &lt;br&gt;&amp;gt;divert 8668 ip from any to me in via em0 &lt;br&gt;&lt;br&gt;Применил pf для ната &lt;br&gt;/etc/pf.conf&lt;br&gt;&lt;br&gt;ext_if=&quot;em0&quot;    &lt;br&gt;int_if=&quot;em1&quot; &lt;br&gt;&lt;br&gt;table &amp;lt;localnet&amp;gt; &#123; 192.168.32.0/24 &#125;&lt;br&gt;nat on $ext_if from &amp;lt;localnet&amp;gt; to any -&amp;gt; ($ext_if)&lt;br&gt;&lt;br&gt;&lt;br&gt;Инет на самой фре есть. Но пакеты от клиентов почему то не натятся ....&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>FreeBsd pipe + Natd. Пакеты попадают в трубу но не возвращаю... (Kris)</title>
    <link>https://opennet.ru/openforum/vsluhforumID1/84062.html#6</link>
    <pubDate>Wed, 11 Feb 2009 16:00:25 GMT</pubDate>
    <description>&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;01400      17     3333 &lt;br&gt;&amp;gt;&amp;gt;divert 8668 ip from any to me in via em0 &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Всё дело может быть в позиции правил. Попробуйте переместить все  правила &lt;br&gt;&amp;gt;шейпинга после правил диверта. &lt;br&gt;&lt;br&gt;Если я так сделаю, то боюсь, что входящий траффик на будет шейпится (попадать в трубу) .... Специально сделал out --- natd --- in&lt;br&gt;</description>
</item>

<item>
    <title>FreeBsd pipe + Natd. Пакеты попадают в трубу но не возвращаю... (Kris)</title>
    <link>https://opennet.ru/openforum/vsluhforumID1/84062.html#5</link>
    <pubDate>Wed, 11 Feb 2009 15:58:18 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;0 divert 8668 ip from any to 10.1.100.2 in via em0 &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;em0 - внешняя карточка &lt;br&gt;&amp;gt;table(1) - локалка &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;И не ловит :(. Может потому что пакеты в трубе ? Но &lt;br&gt;&amp;gt;какая разница если &lt;br&gt;&amp;gt;net.inet.ip.fw.one_pass=0 &lt;br&gt;&amp;gt;Пакеты все равно опускаться должны на диверт .... &lt;br&gt;&lt;br&gt;Не пугайтесь .... 10.1.100.2 --- внешний адрес :)&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>FreeBsd pipe + Natd. Пакеты попадают в трубу но не возвращаю... (Kris)</title>
    <link>https://opennet.ru/openforum/vsluhforumID1/84062.html#4</link>
    <pubDate>Wed, 11 Feb 2009 15:57:09 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;ipfw add divert 8668 ip from $&#123;my_lan&#125; in via $&#123;iif&#125; &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;А natd уже сам разберётся какой из них куда пересылать. &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;И ещё одно: использовать natd на таком количестве клиентов (600-700) не рекомендую. Во-первых, это демон, и работает он в user-space. Соответственно, только на переключение контекстов kernel-space &amp;lt;-&amp;gt; user-space уйдёт значительная часть ресурсов машины. Во-вторых, при большом кол-ве одновременных сессий машина обязательно заткнётся при достижении макс. кол-ва открытых соединений (демон-то сокет открывает). Вопшем, рекомендую в таком случае юзать ipnat.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Упс... сорри, второй диверт есть, сразу не заметил: &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;01400      17     3333 &lt;br&gt;&amp;gt;divert 8668 ip from any to me in via em0 &lt;br&gt;&lt;br&gt;У меня сейчас связка &lt;br&gt;01300     0       0 divert 8668 ip from table(1) to any out via em0&lt;br&gt;01400     0       0 divert 8668 ip from any to 10.1.100.2 in via em0&lt;br&gt;&lt;br&gt;em0 - внешняя карточка&lt;br&gt;table(1) - локалка&lt;br&gt;&lt;br&gt;И не ловит :(. Может потому что пакеты в трубе ? Но какая разница если </description>
</item>

<item>
    <title>FreeBsd pipe + Natd. Пакеты попадают в трубу но не возвращаю... (ronin)</title>
    <link>https://opennet.ru/openforum/vsluhforumID1/84062.html#3</link>
    <pubDate>Wed, 11 Feb 2009 15:56:59 GMT</pubDate>
    <description>&amp;gt;&lt;br&gt;&amp;gt;Упс... сорри, второй диверт есть, сразу не заметил: &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;01400      17     3333 &lt;br&gt;&amp;gt;divert 8668 ip from any to me in via em0 &lt;br&gt;&lt;br&gt;Всё дело может быть в позиции правил. Попробуйте переместить все  правила шейпинга после правил диверта. &lt;br&gt;</description>
</item>

<item>
    <title>FreeBsd pipe + Natd. Пакеты попадают в трубу но не возвращаю... (ronin)</title>
    <link>https://opennet.ru/openforum/vsluhforumID1/84062.html#2</link>
    <pubDate>Wed, 11 Feb 2009 15:43:52 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;divert 8668 ip from any to me in via em0 &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;это правило направляет на natd пакеты, приходящие снаружи. Но таким же макаром &lt;br&gt;&amp;gt;надо дивертать пакеты, идущие изнутри наружу. Что-то вроде этого: &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;ipfw add divert 8668 ip from $&#123;my_lan&#125; in via $&#123;iif&#125; &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;А natd уже сам разберётся какой из них куда пересылать. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;И ещё одно: использовать natd на таком количестве клиентов (600-700) не рекомендую. Во-первых, это демон, и работает он в user-space. Соответственно, только на переключение контекстов kernel-space &amp;lt;-&amp;gt; user-space уйдёт значительная часть ресурсов машины. Во-вторых, при большом кол-ве одновременных сессий машина обязательно заткнётся при достижении макс. кол-ва открытых соединений (демон-то сокет открывает). Вопшем, рекомендую в таком случае юзать ipnat.&lt;br&gt;&lt;br&gt;Упс... сорри, второй диверт есть, сразу не заметил:&lt;br&gt;&lt;br&gt;01400      17     3333 divert 8668 ip from any to me in via em0&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>FreeBsd pipe + Natd. Пакеты попадают в трубу но не возвращаю... (ronin)</title>
    <link>https://opennet.ru/openforum/vsluhforumID1/84062.html#1</link>
    <pubDate>Wed, 11 Feb 2009 15:07:42 GMT</pubDate>
    <description>Кажется дело не в пайпе, а в диверте. Точнее его отсутствии.&lt;br&gt;&lt;br&gt;01400      17     3333 divert 8668 ip from any to me in via em0&lt;br&gt;&lt;br&gt;это правило направляет на natd пакеты, приходящие снаружи. Но таким же макаром надо дивертать пакеты, идущие изнутри наружу. Что-то вроде этого:&lt;br&gt;&lt;br&gt;ipfw add divert 8668 ip from $&#123;my_lan&#125; in via $&#123;iif&#125;&lt;br&gt;&lt;br&gt;А natd уже сам разберётся какой из них куда пересылать.&lt;br&gt;&lt;br&gt;И ещё одно: использовать natd на таком количестве клиентов (600-700) не рекомендую. Во-первых, это демон, и работает он в user-space. Соответственно, только на переключение контекстов kernel-space &amp;lt;-&amp;gt; user-space уйдёт значительная часть ресурсов машины. Во-вторых, при большом кол-ве одновременных сессий машина обязательно заткнётся при достижении макс. кол-ва открытых соединений (демон-то сокет открывает). Вопшем, рекомендую в таком случае юзать ipnat.&lt;br&gt;&lt;br&gt;</description>
</item>

</channel>
</rss>
