<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: help understanding IPFW + natd</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/79023.html</link>
    <description>Доброй ночи. Вразумите меня по поводу такой задачи.&lt;br&gt;Пусть имеетсся шлюз FreeBSD 6 с двумя сетевыми картами и используется IPFW в связке с NATD. Пусть мы пишем простые правила, преследующие только учебную цель и направленные только на прохождение FTP траффика (активный FTP). Вот эти правила (lnc1 - внутренняя сеть,IP 10.10.0.2; lnc0 - внешняя,IP 192.168.124.2):&lt;br&gt;&lt;br&gt;00002 allow log ip from any to any via lnc1&lt;br&gt;00003 allow ip from any to any via lo0&lt;br&gt;00100 divert 8668 ip from any to any in via lnc0&lt;br&gt;00101 check-state&lt;br&gt;00120 skipto 500 udp from any to any dst-port 53 out via lnc0 keep-state&lt;br&gt;#правило для управляющего соединения FTP&lt;br&gt;00125 skipto 500 tcp from any to any dst-port 21 out via lnc0 setup keep-state&lt;br&gt;# Логика следующего правила верна, ибо клиент подключился к ftp:21, далее пользователь &lt;br&gt;# вводит команду, например ls (dir), клиент выдал команду PORT A,B,C,D,E,F. Сервер FTP&lt;br&gt;# выполняет подключение к клиенту со своего порта 20 на порт E*256+F клиента. Keep-state &lt;br&gt;# запомнит правило в обоих направлениях</description>

<item>
    <title>help understanding IPFW + natd (pavel_i)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/79023.html#3</link>
    <pubDate>Wed, 02 Apr 2008 17:00:23 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;я сделал следующим образом: &lt;br&gt;&amp;gt;&amp;gt;allow all from (IP для которого организуем доступ) to any &lt;br&gt;&amp;gt;&amp;gt;allow all from any to (IP для которого организуем доступ) &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;deny all from any to any &lt;br&gt;&amp;gt;&amp;gt;вот таким образом все работает. &lt;br&gt;&amp;gt;&amp;gt;Если что то не так раскажите как можно по другому это организовать... &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&lt;br&gt;Извините, не стал разбираться в ваших правилах. Скажу только суть.&lt;br&gt;дожны быть открыты порты 20,21,1025-65535 на выход с внешнего ip&lt;br&gt;затем на вход с 21,20 на ip локальный&lt;br&gt;а также открыты пустые порты 1025-65535 на локальный ip&lt;br&gt;xl0 -внутренний инт&lt;br&gt;rl0 - внешний инт&lt;br&gt;ipfw add 400 allow ip from &amp;lt;локальная сеть/маска&amp;gt; to any in recv xl0&lt;br&gt;ipfw add 410  allow ip from any to &amp;lt;локальная сеть/маска&amp;gt; out xmit xl0&lt;br&gt;&lt;br&gt;ipfw add 600  divert 8668 ip from &amp;lt;локальная сеть/маска&amp;gt; to any out xmit rl0&lt;br&gt;ipfw add 610  divert 8668 ip fr</description>
</item>

<item>
    <title>help understanding IPFW + natd (trionix)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/79023.html#2</link>
    <pubDate>Mon, 03 Mar 2008 07:04:21 GMT</pubDate>
    <description>&amp;gt;после этого правила все остальные строки безполезны т.к. идет проверка по ip протаколу в &amp;gt;соответствии с правилами у тебя сказанно что если не под одно правило не по падает то мы &amp;gt;все остальное запрещаем проверка дальше проводиться не будет!&lt;br&gt;&lt;br&gt;Все работает, т.к. &lt;br&gt;00120 skipto 500 udp from any to any dst-port 53 out via lnc0 keep-state&lt;br&gt;..&lt;br&gt;00125 skipto 500 tcp from any to any dst-port 21 out via lnc0 setup keep-state&lt;br&gt;т.е. срабатывает skipto, перекидывающее обработку правил на правило &amp;#8470;500.&lt;br&gt;Подробнее такой тип записи правил описан http://www.lissyara.su/?id=1356&lt;br&gt;&lt;br&gt;Вопрос в другом: фаервол не блокирует записи (смотрим лог /var/log/security), однако идет затык на уровне протокола FTP, сделано предположение, что фаервол маршрутизирует входящие пакеты не по той таблице состояний, как ожидаю. Объясните, в чем загвоздка.&lt;br&gt;&lt;br&gt;&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;я сделал следующим образом: &lt;br&gt;&amp;gt;allow all from (IP для которого организуем доступ) to any &lt;br&gt;&amp;gt;allow all from any to (IP для которого организуем доступ) &lt;br&gt;&amp;gt;таким</description>
</item>

<item>
    <title>help understanding IPFW + natd (Garet)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/79023.html#1</link>
    <pubDate>Mon, 03 Mar 2008 06:37:39 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;# вводит команду, например ls (dir), клиент выдал команду PORT A,B,C,D,E,F. Сервер &lt;br&gt;&amp;gt;FTP &lt;br&gt;&amp;gt;# выполняет подключение к клиенту со своего порта 20 на порт E*256+F &lt;br&gt;&amp;gt;клиента. Keep-state &lt;br&gt;&amp;gt;# запомнит правило в обоих направлениях, так что подключения клиента с портом &lt;br&gt;&amp;gt;(E*256+F) &lt;br&gt;&amp;gt;# на порт сервера 20 будут самим собой разумеющимся явлением. &lt;br&gt;&amp;gt;00310 allow tcp from any 20 to any in via lnc0 keep-state &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;00450 deny log ip from any to any&lt;br&gt;&lt;br&gt;после этого правила все остальные строки безполезны т.к. идет проверка по ip протаколу в соответствии с правилами у тебя сказанно что если не под одно правило не по падает то мы все остальное запрещаем проверка дальше проводиться не будет! &lt;br&gt;&lt;br&gt;&amp;gt;00500 divert 8668 ip from any to any out via lnc0 &lt;br&gt;&amp;gt;00510 allow ip from any to any &lt;br&gt;&amp;gt;65535 allow ip from any to any &lt;br&gt;&lt;br&gt;теперь, по поводу keep-state вообщем это у меня не заработало в связки IPFW+NAT ну покрайней мере у меня не получилось грамотно все организовать.&lt;br&gt;я сделал следующим образом:&lt;br&gt;allow all</description>
</item>

</channel>
</rss>
