Как объеденить каналы двух провайдеров в один

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
ShadowAGT
рядовой
Сообщения: 13
Зарегистрирован: 2016-08-17 17:49:49

Как объеденить каналы двух провайдеров в один

Непрочитанное сообщение ShadowAGT » 2016-08-17 18:09:12

Добрый день всем.

Удается только найти варианты по балансировке, но хотелось бы не того.

У меня в офис заходит два канала от разных провайдеров, один 100мбит, другой 150мбит. Есть у меня сервак в интернете с двумя портами по 1Гбит. Оба на Фре 10й.

Хотелось бы реализовать каким-то образом механизм, чтоб к этому серваку подрубиться как-то офисным серваком, обоими каналами сразу, эти два подключения на офисном объеденить в одно (типа бриджа), и так же как-то эти два подключения на сервере в нете тожк свести в одно. Таким образом как бы создать поверх двух физических впн соединений, одно логическое, получив суммарную скорость линка с сервером в интернет, 150 мбит. Ну а дальше соответственно по логике использовать второй интерфейс на сервере как выходной канал... Ну а юзеров из офиса запустить соответственно на выход в инет через логический интерфейс 150мбит.

В принципе по логике, должна работать схема типа балансировки на офисном шлюзе, один фиг они потом получат выходной айпишник сервера из инета и проблем никаких возникнуть не должно. Но вот гоняю мысли как (с помощью какого софта) настроить это все и сделать это наиболее красивым и наименее 'грузящим' шлюзы способом (в плане нагрузки на проц)...

Кто что посоветует?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Amadeus
ст. сержант
Сообщения: 331
Зарегистрирован: 2008-10-05 12:42:44
Откуда: Kiev

Как объеденить каналы двух провайдеров в один

Непрочитанное сообщение Amadeus » 2016-08-18 21:48:27

Если совсем в простом варианте, то вот
http://www.ignix.ru/public/agregatsiya- ... ing#step-2

С учётом современных реалий OC
Нет ничего невозможного

lap
лейтенант
Сообщения: 608
Зарегистрирован: 2010-08-13 23:39:29
Откуда: Moscow
Контактная информация:

Как объеденить каналы двух провайдеров в один

Непрочитанное сообщение lap » 2016-08-19 17:53:56

Amadeus писал(а): Если совсем в простом варианте, то вот
http://www.ignix.ru/public/agregatsiya- ... ing#step-2
я так понял там стояла задача сделать из двух сетевух по 100мег один канал на 200. такая агрегация каналов предполагает что с той стороны стоит устройство которе в теме происходящего и адекватно это воспринимает. А у ТС стоит задача загрузить два канала от разных провайдеров. Можно попробовать отроутить половину интернета в один канал, половину в другой (возможно придется дробить на более мелкие части и распихивать их в разные каналы) . также потребуется проверка работоспособности канала и перекидывание в случае чего трафика в оставшийся живой
Не сломалось - не чини.

Гост
проходил мимо

Как объеденить каналы двух провайдеров в один

Непрочитанное сообщение Гост » 2016-08-22 10:47:25

При наличии внешнего сервера - MPD (net/mpd5).
Source routing в любом случае потребуется.

ShadowAGT
рядовой
Сообщения: 13
Зарегистрирован: 2016-08-17 17:49:49

Как объеденить каналы двух провайдеров в один

Непрочитанное сообщение ShadowAGT » 2016-08-25 16:05:18

lap писал(а):
Amadeus писал(а): Если совсем в простом варианте, то вот
http://www.ignix.ru/public/agregatsiya- ... ing#step-2
я так понял там стояла задача сделать из двух сетевух по 100мег один канал на 200. такая агрегация каналов предполагает что с той стороны стоит устройство которе в теме происходящего и адекватно это воспринимает. А у ТС стоит задача загрузить два канала от разных провайдеров. Можно попробовать отроутить половину интернета в один канал, половину в другой (возможно придется дробить на более мелкие части и распихивать их в разные каналы) . также потребуется проверка работоспособности канала и перекидывание в случае чего трафика в оставшийся живой
Гост писал(а):При наличии внешнего сервера - MPD (net/mpd5).
Source routing в любом случае потребуется.
Ребят, спасибо за советы. Вы правильно поняли мою мысль. Сейчас задумался о проверке работоспособности каналов до сервака в интернете по обоим каналам... Надо покумекать как это сделать...

Пока ознакомившись с найденным в тырнете, пришел к такой схеме... Беру openVPN (или все же лучше mpd? Если да, то чем?), поднимаю его на сервере в инете и на офисном шлюзе. Поднимаю интерфейсы tap0 и tap1 по разным каналам. Ip адресов на серве несколько, поэтому проблем кинуть каждый tap через отдельный канал нет. На офисном шлюзе с помошью фаера делаю source routing (думаю использовать ipfw + kernel nat 2 таблицы, дополнить правилом probe 0,3 например, по которому 30 процентов трафа отфутболится на меньший канал, ну соответственно я так понимаю setfib понадобится так же) через эти tap интерфейсы, а серв в инете выступает так же в качестве шлюза, берет приходящее на tap-ы и через ipfw kernel nat выпускает в интернет из-под своего адреса... Как-то так. Сначала думал использовать pf nat с параметром round robin, но он похоже только равномерно 50/50 раскидывать умеет, а у меня каналы не равной пропускной способности...

Имхо должно получиться...

Спасибо всем кто подсказывает...!

Гост
проходил мимо

Как объеденить каналы двух провайдеров в один

Непрочитанное сообщение Гост » 2016-08-26 10:32:36

Пока ознакомившись с найденным в тырнете, пришел к такой схеме... Беру openVPN (или все же лучше mpd? Если да, то чем?), поднимаю его на сервере в инете и на офисном шлюзе. Поднимаю интерфейсы tap0 и tap1 по разным каналам.
Спасибо всем кто подсказывает...!
Только по mpd могу рассказать.
MPD поднимает несколько соединений (ppp link), объединяет их в один канал (bundle) видимый на клиенте и на сервере как один интерфейс ng. Предполагается что, на клиентском mpd в офисе настроен один bundle с двумя линками через разных провайдеров. Т.к. линки будут устанавливаться в рамках одного процесса mpd, setfib не поможет для разделения по каналам. Помогут правила в ipfw на вроде
fwd gateway_isp1 src-ip ip_isp1 out not via if_isp1
fwd gateway_isp2 src-ip ip_isp2 out not via if_isp2

mpd на сервере в интернете должен отличать входящие ppp соединения из офиса для присоединения их к одному bundle. Состояние каналов проверяется протоколом PPP через LCP, ни чего городить не надо.

ShadowAGT
рядовой
Сообщения: 13
Зарегистрирован: 2016-08-17 17:49:49

Как объеденить каналы двух провайдеров в один

Непрочитанное сообщение ShadowAGT » 2016-08-29 19:24:15

Гост писал(а):
Пока ознакомившись с найденным в тырнете, пришел к такой схеме... Беру openVPN (или все же лучше mpd? Если да, то чем?), поднимаю его на сервере в инете и на офисном шлюзе. Поднимаю интерфейсы tap0 и tap1 по разным каналам.
Спасибо всем кто подсказывает...!
Только по mpd могу рассказать.
MPD поднимает несколько соединений (ppp link), объединяет их в один канал (bundle) видимый на клиенте и на сервере как один интерфейс ng. Предполагается что, на клиентском mpd в офисе настроен один bundle с двумя линками через разных провайдеров. Т.к. линки будут устанавливаться в рамках одного процесса mpd, setfib не поможет для разделения по каналам. Помогут правила в ipfw на вроде
fwd gateway_isp1 src-ip ip_isp1 out not via if_isp1
fwd gateway_isp2 src-ip ip_isp2 out not via if_isp2

mpd на сервере в интернете должен отличать входящие ppp соединения из офиса для присоединения их к одному bundle. Состояние каналов проверяется протоколом PPP через LCP, ни чего городить не надо.
Понял! Все предельно четко и понятно! Спасибо!