Несколько провайдеров, шлюзов, и суммирующий сервер

Здравствуйте

Завёл я себе вторую линию, интернет провайдер
Теперь у меня два роутера в одной общей локальной сети, у каждого роутера в WAN подаётся интернет по сотке мегабит

Шлюзы соответственно у каждого роутера свой, в моём случае это 192.168.1.1 и 192.168.1.2
Если между ними перебрасываться вручную - то ну да, вроде как всё ок норм пойдёт, работает как задумано

Пошёл гуглить, как можно объединить два шлюза чтобы прям скорость была x2, и наткнулся на понятие "суммирующего сервера"
https://habr.com/ru/company/vdsina/blog/479026/, протокол - MP-TCP (MultiPath TCP)
Принципиальные схемы даже какие-то есть, на сколько я понял - два моих провайдера должны находиться между мной и моим удалённым сервером (он же VDS коих у меня несколько штук)

Вопрос, кто может в курсе - какие есть реализации этого протокола ?
Нужно что-то для клиента и сервера
В статье что я скинул, описание для сервера - нужно с нуля отдельный сервер под это дело арендовать, чтобы развернуть отдельную ОС
Для клиента - брать так же отдельный роутер для прошивки на базе OpenWRT

Оба случая (что клиент что сервер) - слишком радикально как по мне, и я буду вынужден отложить эту затею, и/или разворачивать самостоятельную R&D кампанию в направлении сетевого программирования
Цель этого опуса - поиск программного решения

На моих VDS установлены WireGuard, и на компе тоже стоит клиент WireGuard
Я это вижу как "WireGuard, который может гнать трафик сразу в несколько шлюзов", а ещё лучше чтобы по желанию можно было в несколько сетевых адаптеров
А на единственном принимающем сервере за провайдерами - все N соединений сливаются в экстазе
Ко всему прочему, это само собой закрывает вопрос VPN: наклепать подобных суммирующих серверов, в теории - я могу много, и подключаться туда, куда мне нужно

Оговорюсь, локальная сеть у меня гигабитная, и есть провайдеры VDS по 500 мегабит, то есть запас на "слияние" шлюзов у меня есть
Ещё одна оговорка: мне не нужна балансировка или failover, мне нужна одновременная утилизация нескольких входящих интернет-соединений одним клиентом в локальной сети

Кто что может знает здесь и может подсказать ?

Лига Сисадминов

1.6K постов17.8K подписчиков

Добавить пост

Правила сообщества

Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.

Автор поста оценил этот комментарий

Ещё актуально? Если кратко, то два mikrotik’а, между ними два IPsec (или любой другой туннель), внутрь - gre и обьединить их через bonding

раскрыть ветку (1)
Автор поста оценил этот комментарий

Актуально, но в "пассивном режиме", типичный долгострой на стадии идеи

Если попадётся что-то "под руку" - тогда буду разбираться по месту

В идеале это должно быть чисто софтовое решение

показать ответы
Автор поста оценил этот комментарий
раскрыть ветку (1)
Автор поста оценил этот комментарий

Помочь то оно может и поможет, но только согласно принципиальной схеме

По сути OpenVPN + IPSec - сведёт всё суммирование на нет, и скорее всего сделает только хуже


В некоторых тестах только OpenVPN отжирает 70 % канала

Я как-то возился с ним, но когда узнал про WireGuard именно для VPN - про OpenVPN забыл как страшный сон


По этой ссылке получится обеспечить только некую надёжность соединения, что в принципе не является моей целью, но предполагается как "приятный бонус по умолчанию"

показать ответы
Автор поста оценил этот комментарий

pfSense - отдельная ось, да ещё и FreeBSD, что накладывает ограничений


Kerio, судя по описанию функционала - вроде как то что нужно

Возможность работы с несколькими сетевыми интерфейсами, в том числе одновременно с несколькими внутренними (LAN) и внешними (WAN)
Реализация собственной технологии VPN, превосходящей по производительности IPSec/L2TP, туннелирование нескольких ЛВС

Но дальше вкурил инфу, у неё есть какие-то аппаратные зависимости


В обоих случаях - не понятно где реализация для клиента

раскрыть ветку (1)
Автор поста оценил этот комментарий

Kerio Control это тоже отдельная ось как и pfSense ...

На сколько я могу судить

Автор поста оценил этот комментарий

Софтварно это умеет делать pfsense и kerio. Ну умели 6 лет назад, когда понадобилось. Хардварно, даже простейший edgerouter-x вполне потянет. Называется load balancing и действительно прилично ускоряет (хотя и не в два раза). Ну просто каждая сессия у вас будет идти только по одному из каналов и по другому это сделать не получится.

раскрыть ветку (1)
Автор поста оценил этот комментарий

pfSense - отдельная ось, да ещё и FreeBSD, что накладывает ограничений


Kerio, судя по описанию функционала - вроде как то что нужно

Возможность работы с несколькими сетевыми интерфейсами, в том числе одновременно с несколькими внутренними (LAN) и внешними (WAN)
Реализация собственной технологии VPN, превосходящей по производительности IPSec/L2TP, туннелирование нескольких ЛВС

Но дальше вкурил инфу, у неё есть какие-то аппаратные зависимости


В обоих случаях - не понятно где реализация для клиента

показать ответы
Автор поста оценил этот комментарий

Да я как бы в курсе, мне можно азбуку не рассказывать. Мне балансировка как раз неинтересна. Я к тому, что мне интересна сама ситуация, когда к каждому внутреннему узлу можно проложить более одного маршрута. А уж какой из них будет оптимальнее - на то и динамическая маршрутизация, что софт решает это сам, вычисляя "вес" маршрута.

Агрегация каналов мне интереснее не между провайдерами, а внутри ЦОДа, когда два сервера объединяются по сети несколькими каналами - допустим, для более быстрого доступа к дисковым подсистемам.

раскрыть ветку (1)
Автор поста оценил этот комментарий
интересна сама ситуация, когда к каждому внутреннему узлу можно проложить более одного маршрута

У меня целевой узел не внутренний, а внешний

К нему нужно протянуть два маршрута, один через первого провайдера, второй через второго

Чтобы это работало одновременно, и на внешнем узле скорость суммировалась

При неполной утилизации это может быть как балансировка между маршрутами до внешнего узла, так и задействование "второго" при полной утилизации "первого", а отвал одного из каналов будет означать полную его "утилизацию"

Дальше за внешним узлом - уже интернет


Самый простой случай, у меня в настройках сети есть два сетевых адаптера

У каждого свой шлюз и свои параметры сети

Винда использует только один из них, согласно метрике - чем значение ниже, тем выше приоритет


Для WLAN метрика по умолчанию ставится 25, для LAN - 50

Соответственно по умолчанию интернет работать будет только через Wi-Fi, хотя маршрутизация доступна в обоих сетях одновременно

В этом можно убедиться, если в консоли попинговать в обе сети - запросы и ответы будут ходить, даже если при этом сети будут разные (192.168.1.0/24 и 192.168.43.0/24 как примеры)


Для PPTP и WireGuard метрика по умолчанию 5 или 10 точно не помню, поэтому при подключении к ним - интернет начинает тянуть с удалённого шлюза


Можно подключиться к VPN и не тянуть основной шлюз оттуда, это тоже иногда бывает нужно

Например закрытый сервачок компании, или просто лан-пати с друзьями - "мелочи жизни" в общем


Если метрику назначить одинаковую - сеть на винде будет глючить, я проверял; подозреваю что дело в несогласованности сетевых пакетов

А если у меня только одна сетевая карта LAN, за которой два роутера и два шлюза - то вопрос метрики вообще не стоит


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

В теории это протокол MP-TCP, на практике - программной реализации я пока что не нашёл

1
Автор поста оценил этот комментарий

Действительно, странный запрос

.. И действительно не ясно - чем не нравится любой роутер, который умеет multi-wan...

раскрыть ветку (1)
Автор поста оценил этот комментарий

Там только балансировка и failover

Оно даже будет работать, но скорость не суммируется, и говорят ещё сессии разваливаются

Суммирование должно происходить за провайдерами, или как минимум на уровне провайдеров - это если речь о принципиальной схеме


Тут уже есть люди которые отписали что понимают о чём речь

Я скоро сяду разгребать всё что тут написали


Так же я случайно увидел, что в клиенте WireGuard на уровне одного профиля подключения, можно настроить несколько пиров; вопрос есть ли возможность эти пиры направить в разные шлюзы и на один целевой сервер

показать ответы
Автор поста оценил этот комментарий
Вы не читаете? Mptcp. Два мало надёжных канала (Верне n-каналов) аггрегируются на vps и оттуда уже в интернет идут.
раскрыть ветку (1)
Автор поста оценил этот комментарий

Вот это мне и нужно

Я пока ещё не разбирал что тут написали, чуть позже буду гуглить

Автор поста оценил этот комментарий
А чо кстати за провайдеры vds по 500мбит? Я тут поднял за 100р/месяц 1ядро 512 ОЗУ 200мбит, но чот редко там сетка выдает эту скорость...
раскрыть ветку (1)
Автор поста оценил этот комментарий

100 р в месяц чёт мало

При том что я не у крупных арендуюсь

Цены "дешёвых" но нормальные начинаются от 200 р в месяц

Мои тарифы это 7 евро и 600 рублей, один в Амстердаме, второй в Москве

показать ответы