forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.UNIX.BSD

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 13.05.2020, 15:47
Dmitry Dolzenko
Guest
 
Сообщений: n/a
По умолчанию VPN с агрегацией 2-3 каналов

Dmitry Dolzenko написал(а) к All в May 20 14:30:21 по местному времени:

From: Dmitry Dolzenko <dol@mig.phys.msu.ru>

Привет!

Есть эфирный LTE интернет с 2-3 каналами, с разной скоростью, падениями
канала итп.

Посоветуйте, есть ли софт, который позволяет сделать VPN с агрегацией
2-3 каналов и отказоустойчивостью?

/D
--- ifmail v.2.15dev5.4
Ответить с цитированием
  #2  
Старый 13.05.2020, 22:53
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: VPN с агрегацией 2-3 каналов

Eugene Grosbein написал(а) к Dmitry Dolzenko в May 20 01:36:29 по местному времени:

13 мая 2020, среда, в 14:30 NOVT, Dmitry Dolzenko написал(а):

DD> Есть эфирный LTE интернет с 2-3 каналами, с разной скоростью, падениями
DD> канала итп.
DD> Посоветуйте, есть ли софт, который позволяет сделать VPN с агрегацией
DD> 2-3 каналов и отказоустойчивостью?

Failover сделать проблем нет, но если под агрегацией каналов
с разной пропускной способностью ты имеешь в виду ускорение прокачки,
то сперва нужно осознать, что TCP устроен так, что каждый конкретный
TCP-коннект поверх такого агрегата будет работать с минимальной
из скоростей отдельных трасс и ускорения не будет независимо от софта,
даже если тебе вообще удастся завести такую схему.

Вторая проблема в том, что мало раскидать исходящие пакеты
по нескольким путям: нужно, чтобы кто-то "на той стороне"
агрегата раскидывал обратные пакеты по разным трассам в твою сторону,
а кто там этим будет заниматься?

Либо ты заключаешь договор с оператором связи, по которому
он соглашается настроить на своей стороне какого-то вида агрегат
для тебя, либо у тебя остаётся только один вариант:
раскидывать по разным линкам пакеты разных потоков трафика так,
чтобы пакеты одного потока шли только через один линк.

Таким образом, балансировка нагрузки в какой-то мере
может быть достигнута (L3 per-flow load sharing),
но на практике и тут полно проблем. Во-первых, есть ли у тебя
достаточное множество TCP-коннектов и при этом достаточная
ширина отдельных линков LTE, чтобы каждый конкретный линк
не забивался одной-двумя прокачками по TCP?
Если нет, то овчинка не стоит выделки.

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

Это значит, что если у тебя нет возможности назначить каждому
юзеру локальной сети отдельный IP, тебе придется транслировать
исходящий трафик каждого юзера в один конкретный внешний IP-адрес
одного конкретного линка, то есть делить трафик не per-flow,
а per-user, что ещё больше усугубляет проблему распределения
нагрузки пропорционально ширинам каналов. Я тебе больше скажу:
даже когда у тебя есть по IP-адресу на пользователя,
всё равно задача распределения нагрузки по каналам неравной
ширины в современном интернете нетривиальна и требует
регулярного ручного вмешательства.

Eugene
--
Научить не кланяться авторитетам, а исследовать их и сравнивать их поучения
с жизнью. Научить настороженно относиться к опыту бывалых людей, потому что
жизнь меняется необычайно быстро.
--- slrn/1.0.3 (FreeBSD)
Ответить с цитированием
  #3  
Старый 14.05.2020, 00:22
Dmitry Dolzenko
Guest
 
Сообщений: n/a
По умолчанию Re: VPN с агрегацией 2-3 каналов

Dmitry Dolzenko написал(а) к Eugene Grosbein в May 20 23:08:35 по местному времени:

From: Dmitry Dolzenko <dol@mig.phys.msu.ru>

14.05.2020 1:36, Eugene Grosbein пишет:
> 13 мая 2020, среда, в 14:30 NOVT, Dmitry Dolzenko написал(а):
>
> DD> Есть эфирный LTE интернет с 2-3 каналами, с разной скоростью, падениями
> DD> канала итп.
> DD> Посоветуйте, есть ли софт, который позволяет сделать VPN с агрегацией
> DD> 2-3 каналов и отказоустойчивостью?
>
> Failover сделать проблем нет, но если под агрегацией каналов
> с разной пропускной способностью ты имеешь в виду ускорение прокачки,
> то сперва нужно осознать, что TCP устроен так, что каждый конкретный
> TCP-коннект поверх такого агрегата будет работать с минимальной
> из скоростей отдельных трасс и ускорения не будет независимо от софта,
> даже если тебе вообще удастся завести такую схему.
>
> Вторая проблема в том, что мало раскидать исходящие пакеты
> по нескольким путям: нужно, чтобы кто-то "на той стороне"
> агрегата раскидывал обратные пакеты по разным трассам в твою сторону,
> а кто там этим будет заниматься?

Я как раз имел в виду что с другой стороны, в быстром проводном
интернете, стоит сервер, который собирает пакеты и пихает их в nat

Т.е. сервис диспетчер --- 2-3 канала LTE --- сервис сборщик -- nat


--- ifmail v.2.15dev5.4
Ответить с цитированием
  #4  
Старый 14.05.2020, 03:02
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: VPN с агрегацией 2-3 каналов

Eugene Grosbein написал(а) к Dmitry Dolzenko в May 20 05:51:28 по местному времени:

13 мая 2020, среда, в 23:08 NOVT, Dmitry Dolzenko написал(а):

DD> Я как раз имел в виду что с другой стороны, в быстром проводном
DD> интернете, стоит сервер, который собирает пакеты и пихает их в nat
DD> Т.е. сервис диспетчер --- 2-3 канала LTE --- сервис сборщик -- nat

Минус одна проблема. Но остальные проболемы никуда не делись.
Тебе придётся поднять несколько p2p-туннелей, по одному на линк LTE
и на стороне "диспетчера" использовать правила ipfw типа такого:

ipfw table vpngw create type addr
ipfw add 50000 fwd tablearg ip from 'table(vpngw)' to not $LAN out
ipfw table vpngw add 192.168.0.1/32 10.0.0.2
ipfw table vpngw add 192.168.0.2/32 10.0.0.2
ipfw table vpngw add 192.168.0.3/32 10.0.0.6
ipfw table vpngw add 192.168.0.4/32 10.0.0.6

Тут 10.0.0.2 - IP-адрес "сборщика" с первого туннеля,
10.0.0.6 - IP-адрес "сборщика" со второго туннеля,
и так далее, а 192.168.X.X - адреса пользователей.

Таблица vpngw (её можно динамически пополнять/чистить)
содежит соответствия для IP пользователя и туннеля,
который используется для его трафика, обозначаемого
по адресу удаленной стороны туннеля.

А на этой самой удаленной стороне (на сборщике) просто в таблицу
маршрутизации любым способом добавляешь маршруты до конкретных
IP-адресов юзеров /32 в соответствующий туннель, чтобы обратные
пакеты шли симметричным маршрутом. Если дружишь с протоколами
динамической маршрутизации, можешь поднять что-нибудь
между роутерами по туннелю, iBGP сойдёт, но можно заморочиться
и с OSPF и даже с RIPv2, чтобы маршруты распространялись автоматически.

Если не дружишь, можно вручную распространять маршруты
через ssh gw route add / ssh gw route delete.

Из-за того, что линки у тебя LTE и наверняка трафик идёт через
провайдерский NAT, тип VPN надо выбирать такой, что без проблем
пролазит через чужой NAT, то есть с инкапсуляцией в UDP.

Это может быть L2TP/MPPE (mpd5/ngX) или несколько копий openvpn (tunX),
или что тебе больше нравится.

Eugene
--- slrn/1.0.3 (FreeBSD)
Ответить с цитированием
  #5  
Старый 14.05.2020, 19:43
Victor Sudakov
Guest
 
Сообщений: n/a
По умолчанию VPN с агрегацией 2-3 каналов

Victor Sudakov написал(а) к eugen в May 20 22:12:02 по местному времени:

Dear eugen,

14 May 20 01:36, Eugene Grosbein wrote to Dmitry Dolzenko:
DD>> Есть эфирный LTE интернет с 2-3 каналами, с разной скоростью,
DD>> падениями канала итп. Посоветуйте, есть ли софт, который
DD>> позволяет сделать VPN с агрегацией 2-3 каналов и
DD>> отказоустойчивостью?

EG> Failover сделать проблем нет, но если под агрегацией каналов
EG> с разной пропускной способностью ты имеешь в виду ускорение прокачки,
EG> то сперва нужно осознать, что TCP устроен так, что каждый конкретный
EG> TCP-коннект поверх такого агрегата будет работать с минимальной
EG> из скоростей отдельных трасс и ускорения не будет независимо от софта,
EG> даже если тебе вообще удастся завести такую схему.

Но у Дмитрия речь вроде бы идет о VPN, а это значит

1. Есть контроль над обеими сторонами

2. Нужно организовать не ускорение доступа в Интернет через несколько каналов, а пропуск одного виртуального канала по нескольким реальным, типа бандлов в PPP.

Вдруг какой-то VPN-софт умеет так?

Victor Sudakov, VAS4-RIPE, VAS47-RIPN
--- GoldED+/BSD 1.1.5-b20170303-b20170303
Ответить с цитированием
  #6  
Старый 15.05.2020, 06:42
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: VPN с агрегацией 2-3 каналов

Eugene Grosbein написал(а) к Victor Sudakov в May 20 08:40:10 по местному времени:

14 мая 2020, четверг, в 22:12 NOVT, Victor Sudakov написал(а):

VS> Но у Дмитрия речь вроде бы идет о VPN, а это значит
VS> 1. Есть контроль над обеими сторонами
VS> 2. Нужно организовать не ускорение доступа в Интернет через несколько каналов,
VS> а пропуск одного виртуального канала по нескольким реальным, типа бандлов в PPP.
VS> Вдруг какой-то VPN-софт умеет так?

mpd5 умеет, но именно что несколько линков в одном бандле PPP,
а PPP рассчитан на линки одинаковой ширины плюс PPP по стандарту
не имеет права доставлять фреймы с нарушением порядка.
Если пакеты систематически приходят переупорядоченными,
то PPP их будет постоянно дропать и доля дропов может достигать
десятков процентов, а это смерть для современных приложений
типа НTTP(s) over TCP.

Я такое не так давно наблюдал вживую в LeaseWeb даже с единственным
PPtP-туннелем: сеть LW систематически переупорядочивала
доставляемые IP-пакеты GRE с PPP внутри. При нескольких независимых
линках LTE в агрегате любого вида такое переупорядочивание
неизбежно. Если в картинке будет PPP, схема будет практически
непригодна к использованию. Без PPP всё равно будут тормоза
на восстановлении порядка и какой-то процент дропов всё равно останется,
ведь это LTE с непредсказуемыми задержками, а ожидать припозднившиеся
пакеты вечно нельзя, нужен какой-то лимит.

Per-flow (а на практике per-IP) горяздо прямее.

Eugene
--- slrn/1.0.3 (FreeBSD)
Ответить с цитированием
  #7  
Старый 18.05.2020, 06:49
Sergei Podstrigailo
Guest
 
Сообщений: n/a
По умолчанию VPN с агрегацией 2-3 каналов

Sergei Podstrigailo написал(а) к Victor Sudakov в May 20 07:41:18 по местному времени:

Нello Victor!

14 May 20 22:12, Victor Sudakov wrote to eugen:

VS> о у Дмитрия речь вроде бы идет о VPN, а это значит

VS> 1. Есть контроль над обеими сторонами

VS> 2. ужно организовать не ускорение доступа в Интернет через несколько
VS> каналов, а пропуск одного виртуального канала по нескольким реальным,
VS> типа бандлов в PPP.

VS> Вдруг какой-то VPN-софт умеет так?

Ну tinc, в принципе, позволяет каждой ноде VPN-сети назначить несколько внешних IP-адресов и обещает как-то определять оптимальный маршрут.

И даже как-то действительно в такой конфигурации работает :-)


Sergei

--- GoldED/W32 3.0.1
Ответить с цитированием
  #8  
Старый 09.09.2020, 00:56
Stanislav Vlasov
Guest
 
Сообщений: n/a
По умолчанию VPN с агрегацией 2-3 каналов

Stanislav Vlasov написал(а) к Dmitry Dolzenko в May 20 17:36:18 по местному времени:

Привет, Dmitry!

13 May 20 14:30, Dmitry Dolzenko -> All:

DD> Есть эфирный LTE интернет с 2-3 каналами, с разной скоростью,
DD> падениями канала итп.

DD> Посоветуйте, есть ли софт, который позволяет сделать VPN с агрегацией
DD> 2-3 каналов и отказоустойчивостью?

При помощи ospf и какой-то матери делали лет 15 назад. На наземных каналах между центром и филиалами, но тут это не важно.
Основная идея - внутри выданных каналов делается впн/туннель, в котором при помощи ospf и какой-то матери делаются равноправные маршруты между двумя точками с разных концов каналов.
У вас второй точкой может быть какой-нибудь вдс.

С наилучшими пожеланиями, Stanislav.

--- -.-.-.-.-.-
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 17:03. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot