[more] [more] [more] [more] Здравствуйте уважаемые форумчане!
Извините за офтоп, просто нуждаюсь в помощи ведающих в подобных вопросах людей.
Возникла проблема в обьединении пропускной способности нескольких интернет провайдеров в один. Проблема в том что сервер должен общатся с кластером посредством ВПН тунеля который обеспечивает шифрование и грубо говоря статический айпи для удобства настройки серверов. Построено все на OpenVPN'е.
Проблема в том что с кем бы я не общался из сисадминов все в один голос говорят что задача непосильная и так просто балансировкой интернет трафика ее не решить. Посоветовали покопать в строну Zero Shell'а и мультиченел ВПН сервера/роутера (говорят надо со стороны кластера поставить апаратное решение которое будет пускать трафик по ВПН каналу но на разных портах от 3-х провайдеров, а с другой стороны, со стороны сервера апарат той же фирмы который даный трафик будет собирать).
Я же думал что все намного проще и надо всего лишь создать по ВПН тунелю для каждого провайдера (10.10.0.1, 10.10.0.2, 10.10.0.3) и обьеденить их в 4-й тунель (10.10.0.4) который и будет слушать кластер. Со стороны же сервера создать такое же чудо (пусть сервер условно будет скрыт за тунелем 10.10.0.5) только в обратную сторону, то есть при выгрузке пакетов на кластер он будет балансировать трафик между 10.10.0.1/2/3.
И того получится что:
1) кластер (програма даемон на кластере) и сервер (програма даемон) слушают по одному ВПН-тунелю, айпи-тейблс же и нетворк менеджер (некомпетентен немного просто) слушают все тонели и балансируют их в соответствии с прописаными правилами ()что то типа
https://www.google.com.ua/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=%D0%B1%D0%B0%D0%BB%D0%B0%D0%BD%D1%81%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0+%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82+%D1%82%D1%80%D0%B0%D1%84%D0%B8%D0%BA%D0%B0+%D0%BD%D0%B0+%D0%BB%D0%B8%D0%BD%D1%83%D0%BA%D1%81 http://habrahabr.ru/post/208782/ http://help.ubuntu.ru/wiki/ip_balancing); 2) при выгрузке данных балансировка трафика будет заносить каждую сессию в разные таблицы маршрута (распределять между провайдерами), и, соответственно, загрузка данных на другой стороне также будет распределена соответственно. Правильно ведь я размышляю?;
3) так как привязки в сессии (к айпишке) нету, да и все под тунелями то пакеты данных должны доходить коректно... то есть не будет никаких конфликтов, сервера будут грамотно понимать друг друга и никаких сбоев не должно быть. (а то будет получатся что сессия с одной стороны направлена от кластера к серверу через провайдера один, а ответ на эту сессию будет приходить от сервера к кластеру через провайдера 3, поскольку так себе решил балансировщик на той стороне).
Посоветуйте ребят что-то. Правильно ли я размышляю или всеже лучше на аппаратном уровне все решать (это дороговато по тому что я видел). Может как-то реально на порты один и тот же ВПН тунель настроить, чтоб для каждого провайдера свой порт... но что ж с распределением нагрузки? Возможно попробовать заменить OpenVPN на GRE over IPSec? Или какое-то другое решение...
Если кто-то готов помочь и написать скрипт для балансировки, то готов вознаградить финансово такого человека. Цену предлогайте.
Еще раз извиняюсь за офтоп, я в панике просто) [/more] [/more] [/more] [/more]