<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Работа PF в OpenBSD</title>
    <link>https://www.opennet.me/openforum/vsluhforumID10/4007.html</link>
    <description>Здравствуйте коллеги.&lt;br&gt;&lt;br&gt;Изучаю работу пакетного фильтра PF в OpenBSD, после Linux немного напрягает&lt;br&gt;другая логика работы, но это терпимо, освоюсь.&lt;br&gt;Вопрос такой: изучая перенаправление соединения со шлюза в DMZ натолкнулся на такой&lt;br&gt;нюанс - если указать порт назначения через макрос, то пишет ошибку синтаксиса правила,&lt;br&gt;а если просто вбить цифру порта, то всё нормально.&lt;br&gt;Т.е.&lt;br&gt;&lt;br&gt;www=&quot;11.22.33.44&quot;&lt;br&gt;web_in=&quot;&#123; 80 &#125;&quot;&lt;br&gt;&lt;br&gt;rdr on $ext_if inet proto tcp to $www port $web_in -&amp;gt; $www port $web_in&lt;br&gt;&lt;br&gt;При такой конструкции пишет ошибку синтаксиса, а вот при такой:&lt;br&gt;&lt;br&gt;rdr on $ext_if inet proto tcp to $www port $web_in -&amp;gt; $www port 80&lt;br&gt;&lt;br&gt;всё в порядке. Это нормальное поведение или я что-то упустил из виду?&lt;br&gt;&lt;br&gt;Спасибо.&lt;br&gt;</description>

<item>
    <title>Работа PF в OpenBSD (Junior)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID10/4007.html#14</link>
    <pubDate>Thu, 09 Oct 2008 16:29:34 GMT</pubDate>
    <description>&amp;gt;Погоди, а причем тут доменные имена? В firewall&apos;е же ты не можешь &lt;br&gt;&amp;gt;разбирать доменные имена. Тут ты прописываешь ТОЛЬКО адреса и порты. &lt;br&gt;&lt;br&gt;Чтобы не раздувать ненужную полемику, скажу, что я понял советы Stalker-а, за что ему&lt;br&gt;большое спасибо. Он понял, что я хотел этим сказать, а я - что он советовал. &lt;br&gt;&lt;br&gt;&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;как firewall в твоих правилах поймет, что один пакет на 80ом порту &lt;br&gt;&amp;gt;для одного домена, а другой для другого? &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Эта задача совершенно не для firewall&apos;а. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Я например это решаю с помощью nginx, в роли reverse proxy. &lt;br&gt;&amp;gt;То есть все что приходит на 80 порт сваливается в него, а &lt;br&gt;&amp;gt;он уже в зависимости от доменного имени форвардит на нужный внутренний &lt;br&gt;&amp;gt;сервер (в моем случае в jail) &lt;br&gt;&lt;br&gt;Спасибо за Ваш совет, я учту его как вариант.&lt;br&gt;</description>
</item>

<item>
    <title>Работа PF в OpenBSD (vagif zeynalov)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID10/4007.html#13</link>
    <pubDate>Thu, 09 Oct 2008 15:32:34 GMT</pubDate>
    <description>&lt;br&gt;&amp;gt;Спасибо. &lt;br&gt;&amp;gt;А если ситуация такая, что у меня 2 (3, 4, 5) Web-серверов &lt;br&gt;&amp;gt;в DMZ, у каждого свой &lt;br&gt;&amp;gt;реальный адрес и своё доменное имя? В таком случае Ваше правило не &lt;br&gt;&amp;gt;поможет, наверное. &lt;br&gt;&lt;br&gt;Погоди, а причем тут доменные имена? В firewall&apos;е же ты не можешь разбирать доменные имена. Тут ты прописываешь ТОЛЬКО адреса и порты.&lt;br&gt;&lt;br&gt;&amp;gt;web1_ip=&quot;11.22.33.44&quot; &lt;br&gt;&amp;gt;web2_ip=&quot;22.33.44.55&quot; &lt;br&gt;&amp;gt;web3_ip=&quot;33.44.55.66&quot; &lt;br&gt;&amp;gt;web_in=&quot;&#123; 80, 443 &#125;&quot; &lt;br&gt;&amp;gt;rdr on $ext_if inet proto tcp from any to $web1_ip port $web_in -&amp;gt; $web1_ip&lt;br&gt;&amp;gt;rdr on $ext_if inet proto tcp from any to $web2_ip port $web_in -&amp;gt; $web2_ip&lt;br&gt;&amp;gt;rdr on $ext_if inet proto tcp from any to $web3_ip port $web_in -&amp;gt; $web3_ip&lt;br&gt;&lt;br&gt;как firewall в твоих правилах поймет, что один пакет на 80ом порту для одного домена, а другой для другого?&lt;br&gt;&lt;br&gt;Эта задача совершенно не для firewall&apos;а.&lt;br&gt;&lt;br&gt;Я например это решаю с помощью nginx, в роли reverse proxy.&lt;br&gt;То есть все что приходит на 80 порт сваливается в него, а он уже в зависимости от доменного имени форвардит на нужный внутренний сервер (в мое</description>
</item>

<item>
    <title>Работа PF в OpenBSD (Junior)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID10/4007.html#12</link>
    <pubDate>Thu, 09 Oct 2008 12:29:13 GMT</pubDate>
    <description>&amp;gt;Ну раз адреса у этих web серверов адреса маршрутизируемые алреса то и &lt;br&gt;&amp;gt;rdr-правила для них не нужны. &lt;br&gt;&amp;gt;Все должно решиться правилами фильтрации. &lt;br&gt;&lt;br&gt;Спасибо за советы!&lt;br&gt;Буду пробовать.&lt;br&gt;</description>
</item>

<item>
    <title>Работа PF в OpenBSD (Stalker)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID10/4007.html#11</link>
    <pubDate>Thu, 09 Oct 2008 12:26:57 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;будет ожидать на своём адресе, но находясь в DMZ они не имеют &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;&lt;br&gt;&amp;gt;являющиеся виртуальными хостингами. 1 адрес -&amp;gt; 1 сервер -&amp;gt; 1 доменное имя.&lt;br&gt;&amp;gt;Хотелось бы грамотно организовать к ним доступ. Вот, в принципе и вся &lt;br&gt;&amp;gt;задача. &lt;br&gt;&lt;br&gt;Ну раз адреса у этих web серверов адреса маршрутизируемые алреса то и rdr-правила для них не нужны.&lt;br&gt;Все должно решиться правилами фильтрации.&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Работа PF в OpenBSD (Junior)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID10/4007.html#10</link>
    <pubDate>Thu, 09 Oct 2008 11:30:29 GMT</pubDate>
    <description>&amp;gt;Во вторых в вашем случае ( если я все правильно понял ) &lt;br&gt;&amp;gt;нужно организовать пул адресов что запросы приходящие на на шлюз по &lt;br&gt;&amp;gt;портам www_in равномерно распределялись между вашими web серверами. &lt;br&gt;&amp;gt;А вообще-то для разъяснения ситуации хотелось бы услышать стоящую задачу поподробней &lt;br&gt;&lt;br&gt;Нет, постараюсь объяснить.&lt;br&gt;Есть шлюз, есть web-сервера, каждый из которых имеет свой реальный адрес (маршрутизируемый),&lt;br&gt;web-сервера находятся в DMZ. На каждый из web-серверов имеется соответствующая запись&lt;br&gt;в DNS. Нужно просто контролировать и пропускать трафик на шлюзе, предназначенный для&lt;br&gt;этих серверов. Также имеется LAN, где обитают фейковые адреса машин, которым также нужно&lt;br&gt;иметь доступ в DMZ и в интернет.&lt;br&gt;Примерно такая ситуация:&lt;br&gt;&lt;br&gt;ext_if=&quot;rl0&quot;                 # Наш внешний интерфейс&lt;br&gt;lan_if=&quot;rl1&quot;                 # Наш интерфейс в LAN&lt;br&gt;dmz_if=&quot;rl2&quot;                 # Наш интерфейс в DMZ&lt;br&gt;ext_ip=&quot;11.22.33.99&quot;         # Адрес на внешнем интерфейсе&lt;br&gt;lan_net=&quot;192.168.1.0/24&quot;     # Внутренняя сетка&lt;br&gt;dmz_net=&quot;11.22.33.0/</description>
</item>

<item>
    <title>Работа PF в OpenBSD (Stalker)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID10/4007.html#9</link>
    <pubDate>Thu, 09 Oct 2008 11:03:27 GMT</pubDate>
    <description>&amp;gt;web1_ip=&quot;11.22.33.44&quot; &lt;br&gt;&amp;gt;web2_ip=&quot;22.33.44.55&quot; &lt;br&gt;&amp;gt;web3_ip=&quot;33.44.55.66&quot; &lt;br&gt;&amp;gt;web_in=&quot;&#123; 80, 443 &#125;&quot; &lt;br&gt;&amp;gt;rdr on $ext_if inet proto tcp from any to $web1_ip port $web_in -&amp;gt; $web1_ip&lt;br&gt;&amp;gt;rdr on $ext_if inet proto tcp from any to $web2_ip port $web_in -&amp;gt; $web2_ip&lt;br&gt;&amp;gt;rdr on $ext_if inet proto tcp from any to $web3_ip port $web_in -&amp;gt; $web3_ip&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Ну и соответствующие правила фильтра. Так будет верно? &lt;br&gt;&lt;br&gt;Неверно.&lt;br&gt;Во первых я уже сказал что rdr правила используются для port forwarding&apos;а с одной машины на другую, т.е. после to должен стоять ip адрес машины на которую приходят запросы ( например адрес шлюза ) а после -&amp;gt; ip адрес машины на которую нужно трафик переправить по соответствующим портам&lt;br&gt;&lt;br&gt;Во вторых в вашем случае ( если я все правильно понял ) нужно организовать пул адресов что запросы приходящие на на шлюз по портам www_in равномерно распределялись между вашими web серверами.&lt;br&gt;&lt;br&gt;А вообще-то для разъяснения ситуации хотелось бы услышать стоящую задачу поподробней&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Работа PF в OpenBSD (Junior)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID10/4007.html#8</link>
    <pubDate>Thu, 09 Oct 2008 10:41:00 GMT</pubDate>
    <description>&amp;gt;Если вы редиректите со шлюза в DMZ то rdr правило должно быть &lt;br&gt;&amp;gt;вида &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;rdr on значение_$ext_if inet proto tcp from any to IP_ШЛЮЗА port $www_in -&amp;gt; IP_ПК_в_DMZ&lt;br&gt;&lt;br&gt;Спасибо.&lt;br&gt;А если ситуация такая, что у меня 2 (3, 4, 5) Web-серверов в DMZ, у каждого свой&lt;br&gt;реальный адрес и своё доменное имя? В таком случае Ваше правило не поможет, наверное.&lt;br&gt;Как быть в такой ситуации?&lt;br&gt;Или описывать всё-таки каждым правилом именно адресованное каждому персонально&lt;br&gt;web-серверу, что логичнее?&lt;br&gt;&lt;br&gt;web1_ip=&quot;11.22.33.44&quot;&lt;br&gt;web2_ip=&quot;22.33.44.55&quot;&lt;br&gt;web3_ip=&quot;33.44.55.66&quot;&lt;br&gt;web_in=&quot;&#123; 80, 443 &#125;&quot;&lt;br&gt;rdr on $ext_if inet proto tcp from any to $web1_ip port $web_in -&amp;gt; $web1_ip&lt;br&gt;rdr on $ext_if inet proto tcp from any to $web2_ip port $web_in -&amp;gt; $web2_ip&lt;br&gt;rdr on $ext_if inet proto tcp from any to $web3_ip port $web_in -&amp;gt; $web3_ip&lt;br&gt;&lt;br&gt;Ну и соответствующие правила фильтра. Так будет верно?&lt;br&gt;</description>
</item>

<item>
    <title>Работа PF в OpenBSD (Stalker)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID10/4007.html#7</link>
    <pubDate>Thu, 09 Oct 2008 10:29:19 GMT</pubDate>
    <description>Если вы редиректите со шлюза в DMZ то rdr правило должно быть вида&lt;br&gt;&lt;br&gt;rdr on значение_$ext_if inet proto tcp from any to IP_ШЛЮЗА port $www_in -&amp;gt; IP_ПК_в_DMZ&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Работа PF в OpenBSD (Junior)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID10/4007.html#6</link>
    <pubDate>Thu, 09 Oct 2008 08:49:52 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;rdr on значение_$ext_if inet proto tcp from any to значение_$www port 443 -&amp;gt; значение_$www&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Оговорки следующие: &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Обычно port forwarding используется для перенаправления траффика приходящего на определенные порты с &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;которфй и так идет куда надо. &lt;br&gt;&lt;br&gt;Видимо так. Просто пока не нашёл иного способа перенаправлять трафик со шлюза&lt;br&gt;в DMZ. Может быть просто ограничиться разрешающими правилами фильтра?&lt;br&gt;А маршрутизировать запросы тогда как? Пока голова идёт кругом от нового :)&lt;br&gt;</description>
</item>

</channel>
</rss>
