<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: IPFW порядок составления, прохождения правил с NAT. Пинги.</title>
    <link>https://opennet.ru/openforum/vsluhforumID10/5457.html</link>
    <description>Добрый день.Начинаю изучать FreeBSD. Пытаюсь разобраться с принципами работы NAT, изучал схему прохождения пакета по стеку ipfw, если для самой машины все более менее ясно, то вот то, как работают правила для NAT я никак понять не могу. Вводные данные:&lt;br&gt;------------------&lt;br&gt;rc.conf&lt;br&gt;ifconfig_re0=&quot;inet 192.168.30.254 netmask 255.255.255.0&quot;  #Локальная сеть&lt;br&gt;ifconfig_re1=&quot;DHCP&quot; #Интернет от провайдера работает только при получении настроек по DHCP&quot; #Интернет&lt;br&gt;firewall_enable=&quot;YES&quot;&lt;br&gt;firewall_script=&quot;/etc/rules.fw&quot;&lt;br&gt;firewall_nat_enable=&quot;YES&quot;&lt;br&gt;gateway_enable=&quot;YES&quot;&lt;br&gt;&lt;br&gt;-----------------&lt;br&gt;/etc/sysctl.conf&lt;br&gt;net.inet.ip.fw.one_pass=1&lt;br&gt;-----------------&lt;br&gt;&lt;br&gt;rules.fw&lt;br&gt;fwcmd=&quot;ipfw -q add&quot;&lt;br&gt;ipfw -q -f flush&lt;br&gt;&lt;br&gt;$fwcmd 00001 allow all from any to any via re0&lt;br&gt;ipfw nat 1 config log if re1 reset same_ports deny_in&lt;br&gt;$fwcmd 00100  nat 1 ip from any to any via re1&lt;br&gt;-----------------------------------------------------------&lt;br&gt;&lt;br&gt;   &lt;br&gt;предположим я хочу пропинговать сервер гугла 8.8.8.8 c хоста из внутренней подсети.&lt;br&gt;&lt;br&gt;Пакет с машины</description>

<item>
    <title>IPFW порядок составления, прохождения правил с NAT. Пинги. (Тыгра)</title>
    <link>https://opennet.ru/openforum/vsluhforumID10/5457.html#14</link>
    <pubDate>Mon, 07 May 2018 22:22:09 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&#091;оверквотинг удален&#093; &lt;br&gt;&lt;br&gt;Ваш подход &quot;запретить все исход кроме исключений&quot;, конечно, похвальный. И понятно непонимание. ИМХО, большинство примеров - по построению пограничного маршрутизатора. И поскольку обычно строят его в гражданской конторе, смысла нет настолько жёстко контролировать исходящий трафик, не с гостайной работаем. &lt;br&gt;&lt;br&gt;На самой системе, отправляющей данные, как-то можно ограничить потоки данных от разных программ, но если на маршрутизатор пришёл пакет с запросом на 80 порт - всё равно его нужно отправлять. И 53 нужно отправлять. И 443. Вот, собственно, даже этого хватит, чтобы вынести любую информацию с внутренней сети. (первые пол-года, когда домашний ПК подключили к выделенке на постоянку, под рукой всегда жил скрипт, удаляющий дефолтный маршрут. Перестраховка от вирусов такая - типа - замечу левую активность - отрублю. Теперь прошло.) Ну а кроме того, есть протоколы, которым нужны целые диапазоны (FTP, например, skype тот же), и заниматься мазохизмом, настраивая маршрутизатор для всего этого</description>
</item>

<item>
    <title>IPFW порядок составления, прохождения правил с NAT. Пинги. (Evonder)</title>
    <link>https://opennet.ru/openforum/vsluhforumID10/5457.html#13</link>
    <pubDate>Mon, 07 May 2018 19:22:53 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; Для &quot;клиент&quot; и &quot;простой&quot; примеры ниже должны быть настроены соответствующим образом.&lt;br&gt;&amp;gt; &#091;/code&#093; &lt;br&gt;&amp;gt; разумеется, если у вас не тривиальный случай, не типичный, а &quot;атипичный )))&quot; &lt;br&gt;&amp;gt; вам это не подойдёт, но как за основу вполне &lt;br&gt;&amp;gt; по поводу one_pass &lt;br&gt;&amp;gt; опять же обратимся к первоисточнику &lt;br&gt;&amp;gt; info ipfw &amp;#124; grep -A4 &quot;net.inet.ip.fw.one_pass: 1&quot; &lt;br&gt;&amp;gt; &#091;code&#093;&quot;если установлено ... после выполнения действия, пакет повторно возвращается в брандмауэр &lt;br&gt;&amp;gt; и обрабатывается последующим правилом&quot;&#091;/code&#093; &lt;br&gt;&amp;gt; такие дела &lt;br&gt;&lt;br&gt;     Да нет, у меня все типично, не типичны после винд шлюзов логика работы шлюзов на базе ipfw.&lt;br&gt; Например мне не привычно, что в большинстве примеров весь исходящий трафик по умолчанию открыт, я хотел &lt;br&gt; запретить все исход кроме исключений. Решить эту задачу помогает функция skipto которая позволяет &quot;перепрыгнуть&quot; разрешенным правилам через deny all from any to any. В виндовых шлюзах такой логики работы никогда не встречал, поэтому очень для меня не привычно. Опять таки зар</description>
</item>

<item>
    <title>IPFW порядок составления, прохождения правил с NAT. Пинги. (михалыч)</title>
    <link>https://opennet.ru/openforum/vsluhforumID10/5457.html#12</link>
    <pubDate>Mon, 07 May 2018 16:15:30 GMT</pubDate>
    <description>fix&lt;br&gt;</description>
</item>

<item>
    <title>IPFW порядок составления, прохождения правил с NAT. Пинги. (михалыч)</title>
    <link>https://opennet.ru/openforum/vsluhforumID10/5457.html#11</link>
    <pubDate>Mon, 07 May 2018 16:14:44 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;   Вот такая схема мне очень понятна.&lt;br&gt;&amp;gt;    Только один момент остался немного не ясен, опция one-pass &lt;br&gt;&amp;gt;   Если она выключена, то пакет после маскирования в нат снова &lt;br&gt;&amp;gt; попадает на цепочку ipfw и каким образом при &lt;br&gt;&amp;gt; повторном прохождении этой цепочки он снова не попадает в правило что все &lt;br&gt;&amp;gt; заруливается в nat, а если не попадает, то какое правило после &lt;br&gt;&amp;gt; нат выпускает наружу его.  Вот в моей цепочке правида pass &lt;br&gt;&amp;gt; all from any to any нет в конце, между тем все &lt;br&gt;&amp;gt; рабоает очень корректно, по умолчанию сам ipfw правилом 65355 ставит all &lt;br&gt;&amp;gt; deny. Как же после нат пакет попадает во внешку?&lt;br&gt;&lt;br&gt;все велосипеды давным-давно изобретены, как впрочем и само колесо&lt;br&gt;но практически каждый начинающий &quot;гонщик&quot; начинает со своего &quot;самоката&quot; )))&lt;br&gt;&lt;br&gt;ну в смысле - есть готовые несложные примеры ipfw правил&lt;br&gt;самые типичные и распространённые смотрим в /etc/rc.firewall&lt;br&gt;&#091;code&#093;&lt;br&gt;Определите тип брандмауэра в /etc/rc.conf. Допустимые значения:&lt;br&gt;open - открытый, разрешает входящий трафик любому </description>
</item>

<item>
    <title>IPFW порядок составления, прохождения правил с NAT. Пинги. (Evonder)</title>
    <link>https://opennet.ru/openforum/vsluhforumID10/5457.html#10</link>
    <pubDate>Sun, 06 May 2018 14:27:43 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; почитайте про открытый и закрытый тип брандмауэра, &lt;br&gt;&amp;gt; уверяю вас, будет весьма интересно и весьма познавательно &lt;br&gt;&amp;gt; http://www.g0l.ru/blog/htmls/BSDA-course/apes01.html &lt;br&gt;&lt;br&gt;  Я уже разобрался), мне было важно Понять саму схему расстановки правил и заруливания пакетов в nat.&lt;br&gt;   &lt;br&gt;   базово выбрал для себя такую схему&lt;br&gt;   первыми идут правила pass from any to any на lo0 и Lan&lt;br&gt;потом&lt;br&gt;1) заворачиваю в нат все входящие пакеты с in recv $inet&lt;br&gt;2) разрешающие правила на выход вида&lt;br&gt;   add 10 skipto 1000 udp from x.x.x.x to x.x.x.x 53 xmit $inet&lt;br&gt;3) Блокирующее правило для всего прочего трафика &lt;br&gt;   add 20 deny all from any to any&lt;br&gt;4) заворачиваю в нат все исходящие пакеты&lt;br&gt;   add 1000 nat 1 all from any to any OUT&lt;br&gt;  Вот такая схема мне очень понятна. &lt;br&gt;   Только один момент остался немного не ясен, опция one-pass&lt;br&gt;  Если она выключена, то пакет после маскирования в нат с</description>
</item>

<item>
    <title>IPFW порядок составления, прохождения правил с NAT. Пинги. (михалыч)</title>
    <link>https://opennet.ru/openforum/vsluhforumID10/5457.html#9</link>
    <pubDate>Sun, 06 May 2018 12:24:41 GMT</pubDate>
    <description>&amp;gt; тут как я вижу в основном используется разрешено все и вся,&lt;br&gt;&amp;gt; и лишь фильтрами убирается запрещенное.&lt;br&gt;&amp;gt; Какой подход более правильнй?&lt;br&gt;&lt;br&gt;почитайте про открытый и закрытый тип брандмауэра,&lt;br&gt;уверяю вас, будет весьма интересно и весьма познавательно&lt;br&gt;&lt;br&gt;http://www.g0l.ru/blog/htmls/BSDA-course/apes01.html&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>IPFW порядок составления, прохождения правил с NAT. Пинги. (Evonder)</title>
    <link>https://opennet.ru/openforum/vsluhforumID10/5457.html#8</link>
    <pubDate>Sat, 05 May 2018 19:41:41 GMT</pubDate>
    <description>  Попробовал прописать эту схему в лист IPFW, делаю на внутреннем хосте резолв имени, мониторю на внешнем интерфейсе, вижу что пакет из сети попал в нат, прошел с внутреннего на внешний интерфейс, запрос отправился, система получила ответ, но ответ на внутренний интерфейс уже не попал, остался на внешнем, почему так произошло?&lt;br&gt;</description>
</item>

<item>
    <title>IPFW порядок составления, прохождения правил с NAT. Пинги. (Evonder)</title>
    <link>https://opennet.ru/openforum/vsluhforumID10/5457.html#7</link>
    <pubDate>Sat, 05 May 2018 09:46:13 GMT</pubDate>
    <description>И еще, можно пояснить по правилам 3000.&lt;br&gt;&lt;br&gt;Насколько я понимаю 3000 и 3001 запрещают системе отвечать на icmp запросы по подозрительным пингам, разхрешая только простое эхо, и только затем все остальные пакеты заруливаются на входящий нат и идут по правилам IPFW.  Видел примеры, где все IN пакеты по внешнему интерфейсу (кроме стандартных запрещающих правил для подсетей) заруливаются на нат первым же правилом. Насколько это принципиально и безопасно?&lt;br&gt;&lt;br&gt; Получается, что есть фильтрация входящих до nat и после nat. &lt;br&gt;   Правила 3010-40 запрещают вход на служебные порты роутера, разрешая только доступ на веб сервер на роутере, и после этих правил по сути все разрешено на роутер на вход.&lt;br&gt;&lt;br&gt;$fwcmd 3999 allow all from any to any // inet in transit&lt;br&gt;&lt;br&gt;  Это правило разрешает весь трафик с инета в локалку после прохождения nat.&lt;br&gt;а эти правила разрешают свободный выход в сеть.&lt;br&gt; $fwcmd 5000 nat 1 all from any to any // inet out&lt;br&gt;$fwcmd 5010 allow all from any to any // inet out&lt;br&gt;&lt;br&gt;Получается что клиент сети, может ин</description>
</item>

<item>
    <title>IPFW порядок составления, прохождения правил с NAT. Пинги. (Evonder)</title>
    <link>https://opennet.ru/openforum/vsluhforumID10/5457.html#6</link>
    <pubDate>Sat, 05 May 2018 05:18:36 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;   Вот если убрать правило 110, то весь исходящий траф будет &lt;br&gt;&amp;gt;&amp;gt; порезан правилом 1999, который для правила 1000 режет все пакеты которые &lt;br&gt;&amp;gt;&amp;gt; не имели тега recv для интерфейсов инет и лан.&lt;br&gt;&amp;gt; Да, верно, но только потому, что нет других правил между 110 и &lt;br&gt;&amp;gt; 1000. Если бы были - о то оба нужны.&lt;br&gt;&amp;gt; Напоминание по поводу NAT: для маршрутизатора в NAT нужно заворачивать весь трафик &lt;br&gt;&amp;gt; - входящий, понятно, и так весь, но ошибочно делают NAT только &lt;br&gt;&amp;gt; исходящего трафика других компов, а исходящий самого шлюза не делают, и &lt;br&gt;&amp;gt; потом удивляются разным глюкам.&lt;br&gt;&amp;gt; ipfw - это как ассемблер, too easy to shoot the leg.&lt;br&gt;&lt;br&gt;  А можно мне пояснить немного один момент. В русских мануалах по ipfw где разбирают схему прохождения пакета структура такая, что пакет дойдя до правила заворачивания в nat и пройдя процедуру маскирования (например для исходящих) вновь возвращается в скажем так в функцию ip_out и снова пробегает по цепочке правил для исходящих пакетов. Но опция &lt;br&gt;&lt;br&gt;# lan in&lt;br&gt;$fwcmd 4000 al</description>
</item>

</channel>
</rss>
