<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Маршрутизация ответа на проброшеные пакеты через интефейс входа</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/78348.html</link>
    <description>Добрый день, искал решение своей проблемы по форуму, но или плохо искал или не нашел, поэтому прошу помочь в решении следующей проблемы:&lt;br&gt;&lt;br&gt;Имеется шлюз (Linux) с тремя реальными адресами и внутр. сервер HTTP (Mail и т.д).&lt;br&gt;На шлюзе маршрут по умолчанию выбирается в зависимости от условий т.е. не постоянно смотрит на какой-то один интерфейс. В днс прописаны все три адреса, для отказоустойчивости. Доступ к внутр веб-серверу реалезован с помощью Prerouting. (проброс запросов с помошью проксирования через апач отработан на основе таблиц и правил маршрутизации, но не совсем устраивает. да и нужно еще открыть доступ к почтовому серверу и т.п.)&lt;br&gt;Вот тут возникает проблема - запросы, которые пришли с &quot;недефолтового&quot; интерфейса пробрасываются внутрь, обрабатываются веб-сервером и выплевываются наружу, но уже через дефолтовый маршрут... как итог - клиент не получает ответа с того интерфейса. на который послан запрос и ничего не видит.&lt;br&gt;Как я понял - правила на основе источника запроса не проходят, т.к. &amp;#8364;работают</description>

<item>
    <title>Маршрутизация ответа на проброшеные пакеты через интефейс вх... (PavelR)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/78348.html#13</link>
    <pubDate>Fri, 25 Apr 2008 02:47:26 GMT</pubDate>
    <description>На форуме часто задается вопрос, по поводу маршрутизации сети, подключенной к двум провайдерам.&lt;br&gt;В частном случае проблема расширяется тем, что нужно осуществлять проброс соединений к сервисам, расположенным в локальной сети.&lt;br&gt;Это делается с помощью DNAT, и при этом снова возникает проблема - по каналу какого провайдера отправлять ответ. &lt;br&gt;Проблема усугубляется тем, что обратное преобразование адресов выполняется уже после принятия решения о маршрутизации, &lt;br&gt;т.е. примерно в районе цепочки POSTROUTING, но скрытно от пользователя (в отличие от явного заворота на диверт в ipfw&#064;freebsd).&lt;br&gt;&lt;br&gt;Решить эту нерешаемую проблему поможет модуль CONNMARK.  Принцип работы маршрутизатора для решения описанной задачи будет выглядеть примерно так:&lt;br&gt;&lt;br&gt;Входящие соединения маркируются определенным флажком, после чего делается их проброс в нужное назначение.&lt;br&gt;Каждый обратный пакет соединения _до принятия решения о маршрутизации_ маркируется флажком соответствующего ему соединения (флажок восстанавливается).&lt;br&gt;На основании флажков п</description>
</item>

<item>
    <title>Маршрутизация ответа на проброшеные пакеты через интефейс вх... (MVictorL)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/78348.html#12</link>
    <pubDate>Wed, 23 Jan 2008 07:52:47 GMT</pubDate>
    <description>&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;P.S. Может возможно как-нибудь пообщаться? для перенятия опыта :) (например ICQ) &lt;br&gt;&amp;gt;&amp;gt;P.P.S А разве ip_forward не должен быть включен ? (чувствую себя совершенным &lt;br&gt;&amp;gt;&amp;gt;чайником :( ) &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Отпиши аську на мыло test &lt;br&gt;&amp;gt;в домене &lt;br&gt;&amp;gt;termexlab_ru &lt;br&gt;&lt;br&gt;Пообщаться не проблема, но, например, я себя не считаю большим спецом, т.ч. смысла большого не будет.&lt;br&gt;А по ip_forwarding см. файл /proc/sys/net/ipv4/ip_forward -- по умолчанию в Linux там &apos;0&apos;, т.е. ip_forward запрещен. Включается перманентно он путем редактирования файла /etc/sysctl.conf:&lt;br&gt;&lt;br&gt;net.ipv4.ip_forward = 1&lt;br&gt;&lt;br&gt;Вдруг поможет...&lt;br&gt;</description>
</item>

<item>
    <title>Маршрутизация ответа на проброшеные пакеты через интефейс вх... (PavelR)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/78348.html#11</link>
    <pubDate>Wed, 23 Jan 2008 06:46:45 GMT</pubDate>
    <description>&lt;br&gt;&amp;gt;P.S. Может возможно как-нибудь пообщаться? для перенятия опыта :) (например ICQ) &lt;br&gt;&amp;gt;P.P.S А разве ip_forward не должен быть включен ? (чувствую себя совершенным &lt;br&gt;&amp;gt;чайником :( ) &lt;br&gt;&lt;br&gt;Отпиши аську на мыло test &lt;br&gt;в домене&lt;br&gt;termexlab_ru&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Маршрутизация ответа на проброшеные пакеты через интефейс вх... (phantom74rus)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/78348.html#10</link>
    <pubDate>Tue, 22 Jan 2008 17:48:14 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;ip route add to $P2_NET dev $P2_IF src $P2_IP &lt;br&gt;&amp;gt;ip route add to $P3_NET dev $P3_IF src $P3_IP &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;ip route add $P1_NET dev $P1_IF src $P1_IP table $P1_TBL &lt;br&gt;&amp;gt;ip route add $P2_NET dev $P2_IF src $P2_IP table $P2_TBL &lt;br&gt;&amp;gt;ip route add $P3_NET dev $P3_IF src $P3_IP table $P3_TBL &lt;br&gt;&amp;gt;&lt;br&gt;&lt;br&gt;Я представлял себе то, что это занесение данных в соответствующие таблицы, для последующего использования на основе нижеследующих правил.&lt;br&gt;&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;ip route add default via $P1_GW table $P1_TBL &lt;br&gt;&amp;gt;ip route add default via $P2_GW table $P2_TBL &lt;br&gt;&amp;gt;ip route add default via $P3_GW table $P3_TBL &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;Если входящие соединения устанавливать на адреса/порты открытые на router - все работает &lt;br&gt;&amp;gt;как надо и входит и уходит по правильным интерфейсам ? &lt;br&gt;&lt;br&gt;Да, если работать не со внутр. серверами, а со шлюзом - все работает отлично, но опять же только с этими правилами. Без этих правил все сыпалось по дефолтов</description>
</item>

<item>
    <title>Маршрутизация ответа на проброшеные пакеты через интефейс вх... (MVictorL)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/78348.html#9</link>
    <pubDate>Tue, 22 Jan 2008 17:46:59 GMT</pubDate>
    <description>;-)&lt;br&gt;</description>
</item>

<item>
    <title>Маршрутизация ответа на проброшеные пакеты через интефейс вх... (MVictorL)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/78348.html#8</link>
    <pubDate>Tue, 22 Jan 2008 17:46:19 GMT</pubDate>
    <description>Может тупо, но вдруг -- ip_forward включен?&lt;br&gt;</description>
</item>

<item>
    <title>Маршрутизация ответа на проброшеные пакеты через интефейс вх... (PavelR)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/78348.html#7</link>
    <pubDate>Tue, 22 Jan 2008 16:06:17 GMT</pubDate>
    <description>Я когда настраивал - у меня всё получилось и проблем не возникло. Сейчас не использую, но времени на тестирование нет.&lt;br&gt;&lt;br&gt;&amp;gt;дефолтовый маршрут смотрит на один из интерфейсов, допустим на eth1. Клиент цепляется &lt;br&gt;&amp;gt;к eth3, запрашивая ресурс, шлюз (по прероутингу) его пробрасывает через eth0 &lt;br&gt;&amp;gt;на внутр сервер, сервер отсылает ответ, который возвращается шлюзу, но шлюз &lt;br&gt;&amp;gt;не находит в правилах &quot;from&quot; этого источника (т.к. тут уже не &lt;br&gt;&amp;gt;from, а to (клиент из интернет и не относится ни к &lt;br&gt;&amp;gt;одной из трех внешних сетей))и направляет ответ на eth1... итог - &lt;br&gt;&amp;gt;клиент ничего не видит. &lt;br&gt;&lt;br&gt;сервер отсылает ответ, в фазе PREROUTING он проходит обратную трансляцию, и в пакете адрес  отправителя становится не сервер, а тот айпишник, на который пришел запрос.&lt;br&gt;Дальше он должен пойти в маршрутизации по правилу &quot;from&quot;.&lt;br&gt;&lt;br&gt;&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;ip route add to $P1_NET dev $P1_IF src $P1_IP &lt;br&gt;&amp;gt;ip route add $P1_NET dev $P1_IF src $P1_IP table $P1_TBL &lt;br&gt;&amp;gt;ip route add default via $P1_GW table $P1_TBL &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;ip route add to $P2_N</description>
</item>

<item>
    <title>Маршрутизация ответа на проброшеные пакеты через интефейс вх... (phantom74rus)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/78348.html#6</link>
    <pubDate>Tue, 22 Jan 2008 14:13:51 GMT</pubDate>
    <description>Может я просто не до конца еще разобрался (совсем недавно взялся за это)?&lt;br&gt;&lt;br&gt;Вот мои размышления:&lt;br&gt;Есть 3 интерфейса торчащие в инет eth1, eth2, eth3 и локальный eth0. (на шлюзе)&lt;br&gt;Есть три таблици для сетей на этих интерфейсах и три правила from для сопоставления с этими таблицами, в зависимости откуда пришел запрос. (выше они приведены)&lt;br&gt;&lt;br&gt;дефолтовый маршрут смотрит на один из интерфейсов, допустим на eth1. Клиент цепляется к eth3, запрашивая ресурс, шлюз (по прероутингу) его пробрасывает через eth0 на внутр сервер, сервер отсылает ответ, который возвращается шлюзу, но шлюз не находит в правилах &quot;from&quot; этого источника (т.к. тут уже не from, а to (клиент из интернет и не относится ни к одной из трех внешних сетей))и направляет ответ на eth1... итог - клиент ничего не видит.&lt;br&gt;&lt;br&gt;А правила у меня создаются следующие, но работают-то они только для самого шлюза (т.е. пакет пришел, обработался шлюзом, который отправил ответ обратно клиенту):&lt;br&gt;ip route add to $P1_NET dev $P1_IF src $P1_IP&lt;br&gt;ip route add $P1_NET dev $</description>
</item>

<item>
    <title>Маршрутизация ответа на проброшеные пакеты через интефейс вх... (PavelR)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/78348.html#5</link>
    <pubDate>Tue, 22 Jan 2008 12:59:00 GMT</pubDate>
    <description>Честно говоря не особо понимаю в чем проблема. Описание маршрутизации через нескольких провайдеров, как это сделано у меня. Forward использовался некоторое время, сейчас не используется, так что не всё понятно. &lt;br&gt;&lt;br&gt;После того, как прогоняется стартовый скрипт (у меня)&lt;br&gt;&lt;br&gt;ip ru sh должен быть в результате таким:&lt;br&gt;&lt;br&gt;0:      from all lookup local  &amp;lt;- локальные интерфейсы&lt;br&gt;1000:   from all lookup main   &amp;lt;- основная таблица маршрутизации. Используется как таблица маршрутизации в directly-connected сетки. Шлюз по умолчанию из неё удаляется&lt;br&gt;&lt;br&gt;ip ro del default&lt;br&gt;и потом добавляется в таблицу default&lt;br&gt;&lt;br&gt;ip ro add devault via DEF_GW dev DEV_DEF_GW &#091;src DEF_SRC если надо&#093; table default&lt;br&gt;&lt;br&gt;&amp;lt;!--&lt;br&gt;Обратите внимание на следующие правила. Они нужны, чтобы из локальных подсеток можно было обращаться на другие адреса нашего рутера.&lt;br&gt;Локальные подсетки - те сетки, у которых шлюз по умолчанию - этот роутер.&lt;br&gt;Иначе пакет будет идти вместо локальной сети на удаленный шлюз провайдера.&lt;br&gt;--&amp;gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;2000:   from net1_ip to net3 lookup </description>
</item>

</channel>
</rss>
