<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: iptables, iproute, 2 аплинка. Помогите понять приципы.</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93067.html</link>
    <description>Здравствуйте.&lt;br&gt;Помогите, пожалуйста, разобраться. Есть два аплинка к одному провайдеру. Необходимо пропорционально поделить между ними трафик. Т.е. балансировку нагрузки. При этом соединения по определенным портам всегда должно идти через тот интерфейс, с которого были установлены. Теряюсь в догадках как такое можно провернуть...&lt;br&gt;&lt;br&gt;Раньше, при одном аплинке, я пользовал связку iptables+bind+squid+netams. Вот рабочие правила для старой конфигурации:&lt;br&gt;&lt;br&gt;&lt;br&gt;#!/bin/bash&lt;br&gt;&lt;br&gt;/sbin/modprobe ip_queue&lt;br&gt;/sbin/modprobe ip_nat_ftp&lt;br&gt;/sbin/modprobe nf_conntrack_ftp&lt;br&gt;&lt;br&gt;IPT=&quot;/sbin/iptables&quot;&lt;br&gt;INET=&quot;eth0&quot;&lt;br&gt;LAN=&quot;eth1&quot;&lt;br&gt;NETWORK=&quot;192.168.0.0/24&quot;&lt;br&gt;SQUID=&quot;3128&quot;&lt;br&gt;WWW=&quot;80,81,8080&quot;&lt;br&gt;&lt;br&gt;&lt;br&gt;$IPT -P INPUT DROP&lt;br&gt;$IPT -P FORWARD DROP&lt;br&gt;$IPT -P OUTPUT DROP&lt;br&gt;&lt;br&gt;$IPT -N INPUT_LAN&lt;br&gt;$IPT -N INPUT_INET&lt;br&gt;&lt;br&gt;#================SQUID==================&lt;br&gt;&lt;br&gt;$IPT -t nat -A PREROUTING -s $NETWORK ! -d $NETWORK -p tcp -m multiport --dport $WWW -j REDIRECT --to-ports $SQUID&lt;br&gt;$IPT -A OUTPUT -o $LAN -p tcp -m tcp --sport $SQUID -m state --state NEW,RELATED,ESTABLI</description>

<item>
    <title>iptables, iproute, 2 аплинка. Помогите понять приципы. (IvanN)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93067.html#11</link>
    <pubDate>Wed, 22 Feb 2012 10:08:22 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&amp;gt; отдельное соединение - да. Сессия соединений - нет.&lt;br&gt;&amp;gt;&amp;gt; Т.е. сессию никак не отследить? Плин, &quot;половину сюда, половину туда&quot; тоже не &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; есть вообще суровая штука, называется &quot;статистика&quot;. Я пока не понял, на основании &lt;br&gt;&amp;gt; чего делается вывод, что &quot;Высокая вероятность что второй канал будет просто &lt;br&gt;&amp;gt; простаивать, когда первый будет забит под завязку&quot;, и что помешает на &lt;br&gt;&amp;gt; основании этих же оснований сделать так, чтобы так не было (т.е. &lt;br&gt;&amp;gt; по другому перегруппировать пользователей).&lt;br&gt;&lt;br&gt;Статистика тут не пройдет. Я могу поделить пропорционально пользователей по каналам, они сожрут оба. Сегодня. А завтра полконторы умотает в командировку - поехали перераспределять. Вернулись эти, уехали другие - снова перераспределять. Хотелось бы как-то не зависеть от того, сколько народу и из каких сетей у меня в </description>
</item>

<item>
    <title>iptables, iproute, 2 аплинка. Помогите понять приципы. (PavelR)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93067.html#10</link>
    <pubDate>Wed, 22 Feb 2012 08:44:04 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;&lt;br&gt;как живут бедные - я  достоверно не знаю. В прописывании маршрутов для абонентов ничего крамольного не вижу.&lt;br&gt;&lt;br&gt;Богатые - берут каналы нормально, не в виде серых адресов, а в виде белых сеток, подымают BGP и развлекаются уже с ним. Т.е. сетка маршрутизируется по обеим каналам, конечно же не идеально ровно 50/50. Ну там начинаются и другие приколы, типа асимметрий и т п.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>iptables, iproute, 2 аплинка. Помогите понять приципы. (PavelR)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93067.html#9</link>
    <pubDate>Wed, 22 Feb 2012 08:40:52 GMT</pubDate>
    <description>&amp;gt;&amp;gt; отдельное соединение - да. Сессия соединений - нет.&lt;br&gt;&amp;gt; Т.е. сессию никак не отследить? Плин, &quot;половину сюда, половину туда&quot; тоже не &lt;br&gt;&amp;gt; прикольно. Высокая вероятность что второй канал будет просто простаивать, когда первый &lt;br&gt;&amp;gt; будет забит под завязку. А нет ли какого-нибудь решения для маркировки &lt;br&gt;&amp;gt; пакетов по адресу назначения например?&lt;br&gt;&lt;br&gt;есть вообще суровая штука, называется &quot;статистика&quot;. Я пока не понял, на основании чего делается вывод, что &quot;Высокая вероятность что второй канал будет просто простаивать, когда первый будет забит под завязку&quot;, и что помешает на основании этих же оснований сделать так, чтобы так не было (т.е. по другому перегруппировать пользователей).&lt;br&gt;</description>
</item>

<item>
    <title>iptables, iproute, 2 аплинка. Помогите понять приципы. (PavelR)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93067.html#8</link>
    <pubDate>Wed, 22 Feb 2012 08:38:44 GMT</pubDate>
    <description>&amp;gt;&amp;gt; отдельное соединение - да. Сессия соединений - нет.&lt;br&gt;&amp;gt; Т.е. сессию никак не отследить? Плин, &quot;половину сюда, половину туда&quot; тоже не &lt;br&gt;&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;т.е. &lt;br&gt;&lt;br&gt;x.y.1.z пойдет по нечетному каналу, а k.l.2.m пойдет по четному каналу.&lt;br&gt;&lt;br&gt;Твой несчастный пользователь пойдет на сервис а-ля рапидшара, где ему для скачивания сформируют персональную ссылку, содержащую его айпи адрес (ну, чтобы ссылки не тиражировали и не публиковали в интернете). Сформировали ссылку, сделали редирект _на другой сервер_. А он бац - и в другой сети - CDN, панимаешь. А ты его раз - и по другому каналу отправил... &lt;br&gt;</description>
</item>

<item>
    <title>iptables, iproute, 2 аплинка. Помогите понять приципы. (IvanN)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93067.html#7</link>
    <pubDate>Wed, 22 Feb 2012 06:32:51 GMT</pubDate>
    <description>&amp;gt; отдельное соединение - да. Сессия соединений - нет.&lt;br&gt;&lt;br&gt;Т.е. сессию никак не отследить? Плин, &quot;половину сюда, половину туда&quot; тоже не прикольно. Высокая вероятность что второй канал будет просто простаивать, когда первый будет забит под завязку. А нет ли какого-нибудь решения для маркировки пакетов по адресу назначения например?&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>iptables, iproute, 2 аплинка. Помогите понять приципы. (IvanN)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93067.html#6</link>
    <pubDate>Wed, 22 Feb 2012 06:29:01 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;&amp;gt; почитайте ман iptables на тему MASQUERADE, потом расскажите, чем отличаются SNAT и &lt;br&gt;&amp;gt; MASQUERADE. Я лично не вижу технической разницы в действиях SNAT и &lt;br&gt;&amp;gt; MASQUERADE на фиксированных адресах.&lt;br&gt;&lt;br&gt;скорость обработки, если я правильно помню. snat быстрее. А так - ничем.&lt;br&gt;</description>
</item>

<item>
    <title>iptables, iproute, 2 аплинка. Помогите понять приципы. (PavelR)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93067.html#5</link>
    <pubDate>Wed, 22 Feb 2012 05:36:12 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; eth1 - 192.168.1.101 &lt;br&gt;&amp;gt; eth2 - 192.168.1.102 &lt;br&gt;&amp;gt; адрес шлюза на обоих 192.168.1.100. При таком раскладе разве я не смогу &lt;br&gt;&amp;gt; поделить трафик?&lt;br&gt;&amp;gt; - указываю маршрут по умолчанию на любой внешний интерфейс, &lt;br&gt;&amp;gt; - создаю две таблицы с маркировками типа ip rule add fwmark 1 &lt;br&gt;&amp;gt; table 101 /-/-/ 102 &lt;br&gt;&amp;gt; - при new маркирую пакет, при established копирую маркер на всю цепочку... &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;&lt;br&gt;&amp;gt; Если не использовать маскарадинг а делать -j SNAT на &lt;br&gt;&amp;gt; серый адрес... или нет?&lt;br&gt;&lt;br&gt;почитайте ман iptables на тему MASQUERADE, потом расскажите, чем отличаются SNAT и MASQUERADE. Я лично не вижу технической разницы в действиях SNAT и MASQUERADE на фиксированных адресах.&lt;br&gt;</description>
</item>

<item>
    <title>iptables, iproute, 2 аплинка. Помогите понять приципы. (IvanN)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93067.html#4</link>
    <pubDate>Tue, 21 Feb 2012 19:30:17 GMT</pubDate>
    <description>&amp;gt; Перечитай заново ответ выше.&lt;br&gt;&lt;br&gt;Спасибо за ссылку. Многое стало понятнее. Многое, но не все. &lt;br&gt;&lt;br&gt;Вот берем реальную ситуацию:&lt;br&gt;&lt;br&gt;eth0 - 192.168.0.0/24 внутренняя сеть&lt;br&gt;&lt;br&gt;пров дает постоянные серые адреса, т.е. к примеру&lt;br&gt;eth1 - 192.168.1.101&lt;br&gt;eth2 - 192.168.1.102&lt;br&gt;адрес шлюза на обоих 192.168.1.100. При таком раскладе разве я не смогу поделить трафик?&lt;br&gt;- указываю маршрут по умолчанию на любой внешний интерфейс,&lt;br&gt;- создаю две таблицы с маркировками типа ip rule add fwmark 1 table 101 /-/-/ 102&lt;br&gt;- при new маркирую пакет, при established копирую маркер на всю цепочку...&lt;br&gt;&lt;br&gt;по идее установленное соединение должно будет пойти через тот интерфейс, через который было установлено. Если не использовать маскарадинг а делать -j SNAT на серый адрес... или нет?&lt;br&gt;</description>
</item>

<item>
    <title>iptables, iproute, 2 аплинка. Помогите понять приципы. (PavelR)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93067.html#3</link>
    <pubDate>Tue, 21 Feb 2012 14:04:52 GMT</pubDate>
    <description>&amp;gt;&amp;gt;А это значит - что на сайт пользователь придет с двух  разных IP.&lt;br&gt;&amp;gt; Вот потому и спрашиваю. Я так понял что iptables что iproute2 работают &lt;br&gt;&amp;gt; с пакетами.&lt;br&gt;&lt;br&gt;iptables умеет взаимодействовать с CONNTRACK, соответственно работать с соединениями.&lt;br&gt;посредством привязки маркера (MARK) к соединению, а впоследствии с помощью копирования маркера соединения в маркер пакета - можно добиться &quot;работы iproute&quot; с соединениями.&lt;br&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;&lt;br&gt;Т.е. уровни: (1) пакеты -&amp;gt;  (2) соединения -&amp;gt; (3) сессии - есть еще более высокий уровень.&lt;br&gt;&lt;br&gt;Перечитай заново ответ выше.&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt;Рекомендую побалансировать &quot;половину пользователей туда, половину сюда&quot;.&lt;br&gt;&amp;gt; Сойдет в том смысле, что не руками балансировать &quot;этих сюда, а вот &lt;br&gt;&amp;gt; этих сюда&quot;, а в зависимости от загрузки канала</description>
</item>

</channel>
</rss>
