[Uneex] Это было давно, но я это упустил..... Или снова Routing

Alexey Bazhin baz на rt.mipt.ru
Чт Дек 9 13:39:39 MSK 2004


On Thu, 09 Dec 2004 12:42:44 +0300
Yuri Ryazantsev <yuri на unix.ru> wrote:

> Constantin Stefanov wrote:
> > Это все не ко мне, а к автору идеи. Он утверждает, что все считал, и
> > про возможное сужение полосы знает. Лично меня интересует только
> > техническая сторона - есть ли софт, на котором такое можно
> > релизовать.
> > 
> 
> Кажется ответы уже прозвучали:
> 
> - на Cisco 2-3 строки в конфиге;
> - на FreeBSD сам не реализовал, но видимых препятствий нет;
> - на Linux была аналогичная ситуация, там не удалось. Пришлось
> разделять машину маскарада и "балансера", а это здесь не прокатит :-((
решение не самое прямое и чисто теоретическое...
есть для линукса патч для netfilter-а, patch-o-matic вроде бы
называется. там есть следущие модули для iptables:  random, при котором
правило срабатывает с заданной вероятностью (описан например тут
http://www.opennet.ru/base/net/iptables_treasures.txt.html) и connmark,
который позволяет mark-ить все пакеты соединения (описан например
тут http://home.regit.org/connmark.html).

Далее действуем так, создаем правила в iptables в PREROUTING, которые
если соединение имеет state NEW и например рандом 1/2 то маркит новое
соединение 1, следущие правила маркят все оставшиеся новые соединения
двойкой, далее правила сохраняют/восстанавливают марки пакетов по
соединениям. Я не помню, продолжается ли просмотр цепочки после
совпадения правила с -j MARK, так что возможно что эта часть должна
выглядеть немного по другому, но в любом случае это теоретически
возможно и идея понятна(?).

в POSTROUTING-е по марк-у пакета натим в разные ip и интерфейсы.

далее в iproute2 создаем две таблички(на каждый из двух каналов по
табличке) и в каждой задаем роуты только для одного канала, затем
добавляем rule-ы которые по марк-у определют по которой табличке
пророутить пакет.

Если кто-то будет это пробовать и все будет успешно -  дайте знать :)

--baz


Подробная информация о списке рассылки Uneex