<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: pf с поднятым NAT, огр. доступа по внутр. IP </title>
    <link>https://www.opennet.ru/openforum/vsluhforumID10/4009.html</link>
    <description>Здравствуйте, я задался целью сделать на FreeBSD 7.0 PF с поднятым NAT  с ограничением доступа ко внешним ресурсам используя для этого внутренние IP адреса. Т.е. правила фильтра будут строятся по примерно следующему принципу: &lt;br&gt;&lt;br&gt;$ext_if=&quot;de0&quot; (1)&lt;br&gt;$int_if=&quot;de1&quot;&lt;br&gt;&lt;br&gt;$trusted_lan=&quot;192.168.1.0/24&quot;  (3)&lt;br&gt;&lt;br&gt;table &amp;lt;web&amp;gt; &#123;213.180.204.8 и тд.&#125; &lt;br&gt;&lt;br&gt;nat on $ext_if from $trusted_lan to any  (5)&lt;br&gt;&lt;br&gt;block all&lt;br&gt;&lt;br&gt;pass out on $int_if proto &#123;tcp,udp&#125; from 192.168.1.5 to &amp;lt;web&amp;gt; (7)&lt;br&gt;&lt;br&gt;Основная проблема заключается в том что pf сначала обрабатывает правила NAT (5), а только затем правила фильтра (7), поэтому последнее правило (7) не справедливо т.к. пакет уже обработан и его заголовок заменён с адреса 192.168.1.5 на адрес внешнего интерфейса, а именно на то что назначено de0 (1).&lt;br&gt;&lt;br&gt;Собственно, как можно организовать используя pf доступ ко внешним ресурсам ориентируясь по внутреннему ip или внутреннему dns имени?&lt;br&gt;</description>

<item>
    <title>pf с поднятым NAT, огр. доступа по внутр. IP  (Stalker)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID10/4009.html#3</link>
    <pubDate>Fri, 10 Oct 2008 04:16:07 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;pass in on $int_if proto icmp from &amp;lt;web&amp;gt; to 192.168.1.5&lt;br&gt;&amp;gt;pass out on $int_if proto icmp from 192.168.1.5 to &amp;lt;web&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;И ничего... пинг с узла 192.168.1.5 на узлы &amp;lt;web&amp;gt; не идёт (естественно с узла 192.168.1.5 вводится ip адрес,а не имя хоста т.к. dns в данном примере не разрешён.)&lt;br&gt;&amp;gt;PS: этот конфиг конечно упрощенный, но и с ним не работает так &lt;br&gt;&amp;gt;как мне нужно. Поэтому, я повторю вопрос: &lt;br&gt;&amp;gt;Как можно организовать, используя pf c NAT, доступ ко внешним ресурсам ориентируясь &lt;br&gt;&amp;gt;по внутреннему ip или внутреннему dns имени? &lt;br&gt;&amp;gt;PSS: конфигурация сети простая, один интерфейс смотрит во внешнюю, другой во внутреннюю &lt;br&gt;&amp;gt;сеть. &lt;br&gt;&lt;br&gt;Конфиг у Вас не работает потому что написан неправильно. Нужно понять логику работы pf и как пакеты ходят.&lt;br&gt;&lt;br&gt;Например когда Вы хотите пингануть что-нибудь во вне пакет из внутренней сети приходит на внутренний интерфейс ( т.е. он входящий на внутреннем интерфейсе ) потом к нему применяется правило nat, и затем он он должен уйти с внешнего интерфейса ( если правила</description>
</item>

<item>
    <title>pf с поднятым NAT, огр. доступа по внутр. IP  (reinover)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID10/4009.html#2</link>
    <pubDate>Thu, 09 Oct 2008 15:39:32 GMT</pubDate>
    <description>&amp;gt;Если это весь набор правил то работать вообще не будет, потому что &lt;br&gt;&amp;gt;правилом block all блокируется весь входящий трафик на внутренний интерфейс и &lt;br&gt;&amp;gt;весь траффик на внешнем интерфейсе. &lt;br&gt;&lt;br&gt;Я рассматривал такую возможность ещё до того как задать вопрос на форуме, применял различные подробно расписанные конфиги вроде этого:&lt;br&gt;&lt;br&gt;$ext_if=&quot;de0&quot; (1)&lt;br&gt;$int_if=&quot;de1&quot;&lt;br&gt;$trusted_lan=&quot;192.168.1.0/24&quot;  (3)&lt;br&gt;table &amp;lt;web&amp;gt; &#123;213.180.204.8 и тд.&#125;&lt;br&gt;nat on $ext_if from $trusted_lan to any  (5)&lt;br&gt;&lt;br&gt;block out on $int_if to any&lt;br&gt;block in on $int_if to any&lt;br&gt;block out on $ext_if to any&lt;br&gt;block in on $ext_if to any&lt;br&gt;&lt;br&gt;pass in on $ext_if proto icmp from &amp;lt;web&amp;gt; to 192.168.1.5&lt;br&gt;pass out on $ext_if proto icmp from 192.168.1.5 to &amp;lt;web&amp;gt;&lt;br&gt;pass in on $int_if proto icmp from &amp;lt;web&amp;gt; to 192.168.1.5&lt;br&gt;pass out on $int_if proto icmp from 192.168.1.5 to &amp;lt;web&amp;gt;&lt;br&gt;&lt;br&gt;И ничего... пинг с узла 192.168.1.5 на узлы &amp;lt;web&amp;gt; не идёт (естественно с узла 192.168.1.5 вводится ip адрес,а не имя хоста т.к. dns в данном примере не разрешён.)&lt;br&gt;PS: этот конфиг конечно упроще</description>
</item>

<item>
    <title>pf с поднятым NAT, огр. доступа по внутр. IP  (Stalker)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID10/4009.html#1</link>
    <pubDate>Thu, 09 Oct 2008 12:36:36 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;pass out on $int_if proto &#123;tcp,udp&#125; from 192.168.1.5 to &amp;lt;web&amp;gt; (7)&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Основная проблема заключается в том что pf сначала обрабатывает правила NAT (5), &lt;br&gt;&amp;gt;а только затем правила фильтра (7), поэтому последнее правило (7) не &lt;br&gt;&amp;gt;справедливо т.к. пакет уже обработан и его заголовок заменён с адреса &lt;br&gt;&amp;gt;192.168.1.5 на адрес внешнего интерфейса, а именно на то что назначено &lt;br&gt;&amp;gt;de0 (1). &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Собственно, как можно организовать используя pf доступ ко внешним ресурсам ориентируясь по &lt;br&gt;&amp;gt;внутреннему ip или внутреннему dns имени? &lt;br&gt;&lt;br&gt;Если это весь набор правил то работать вообще не будет, потому что правилом block all блокируется весь входящий трафик на внутренний интерфейс и весь траффик на внешнем интерфейсе.&lt;br&gt;</description>
</item>

</channel>
</rss>
