Jump to content
Калькуляторы

l2 туннель через два малонадежных мобильных канала

Подскажите 

есть задача прокинуть l2 туннель на микротиках через сети двух разных мобильных операторов на микротике

что я собрал в технологическом плане 

vpn l2tp  sstp 

eop bcp или vpls

ppp с mmru  чтобы влезли большие пакеты

bonding с режимом broadcast

 

теперь как все это объеденить или есть ли готовые маны на этот счет

Share this post


Link to post
Share on other sites

Схему нарисуйте, а то астрал сегодня отключен за неуплату. IP от сотовиков получаете фиксированные или серые?

Share this post


Link to post
Share on other sites
1 час назад, jffulcrum сказал:

Схему нарисуйте, а то астрал сегодня отключен за неуплату. IP от сотовиков получаете фиксированные или серые?

да потому что вторично.

тоже заморачивался этой темой.

главная задача - как сделать надежный канал из 2 нестабильных.

очевидно , что для этого нужно слать пакеты сразу 2-3-4 путями, на приеме удалять дубли.

в принципе , для варианта tcp  достаточно просто bonding c режимом broadcast , tcp сам проигнорирует дубли.

я так mp3 радиовещание дублировал.

 

для универсальности типа udp нужно пакетам какие-то id делать.

Ну или, как черезжопный вариант как раз поверх bonding broadcast сверху openvpn через tcp поднять чтоб он дедуплицировал все :-)

 

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

 

 

 

Share this post


Link to post
Share on other sites

то есть поднимаем два туннеля на tcp через разных опсосов например на sstp или том же openvpn

pptp на gre и не безопасен не подходит

l2tp на udp не подходит

соединяем их в bonding broadcast

и поверх бондинга поднимаем openvpn можно без шифрования

 

все верно?

вот нашел примерный ман 

https://www.lanmart.ru/blogs/Balansirovka-neskolkih-kanalov-po-sredstvam-O-VPN-i-Bonding-v-ROS/

он мне подойдет?

Edited by Smirnovi

Share this post


Link to post
Share on other sites

В мане приводится балансировка.

Вам балансировка нужна или отказоустойчивость?

 

если второе, то

 

поднимаем 2 ( но 2 мало, лучше 3 как минимум ) туннеля  EOIP.

категорически не tcp.

скорее всего вам придется делать какой-нибудь EOIP поверх l2tp даже, так как l2tp сам по себе вы в бондинг не добавите.

 

дальше 3 этих EOIP обьединяем в bonding c mode=broadcast

 

дальше через bonding интерфейс делаем туннель с транспортом tcp.  например opvn ( для дедупликации )

 

 

Share this post


Link to post
Share on other sites
25 минут назад, LostSoul сказал:

категорически не tcp.

скорее всего вам придется делать какой-нибудь EOIP поверх l2tp даже, так как l2tp сам по себе вы в бондинг не добавите.

да мне нужна отказоустойчивость

bonding rr будет только отключать недоступный канал через 6 секунд?

 

а что то кроме l2tp я могу выбрать?

sstp как понимаю на tcp

 

вобщем в туннеле операторов транспорт должен ходить в udp так?

например l2tp с ipsec

дальше поверх него или bcp или eoip или vpls

или мы только eoip можем в бондинг добавить?

 

далее поверх бондинга транспорт openvpn на tcp

 

Share this post


Link to post
Share on other sites
12 минут назад, Smirnovi сказал:

дальше поверх него или bcp или eoip или vpls

в целом вы верно поняли

с bcp и vpls не пробовал,  точнее пытался и вроде понял что не то и не подходит

vpls оно вообще вроде только поверх уже существующего l2 работает

 

 

Еще если вопрос скорости и трафика вас не очень беспокоит ( всего с запасом ) можно bfd посмотреть ( вместо bonding + openvpn сверху )  , там можно добится низкого времени переключения ( теоретически )

но это уже зависит от того, как умирает 4g

если оно может умирать ассиметрично то быстрого переключения не будет

( это не дублирование пакетов уже будет а просто оч быстрая смена канала по факту не прихода контрольного пакета через равные промежутки времени ( милисекунды )

 

 

Share this post


Link to post
Share on other sites

Решение с l2tp на ненадежном транспорте все равно криво априори , так как для летающих туда сюда каналов нужен connection less туннель и без всякого шифрования.

шифрование наложите в конце, на том уровне где будут устранены проблемы нестабильности

 

Share this post


Link to post
Share on other sites
14 минут назад, LostSoul сказал:

Еще если вопрос скорости и трафика вас не очень беспокоит ( всего с запасом ) можно bfd посмотреть ( вместо bonding + openvpn сверху )  , там можно добится низкого времени переключения ( теоретически )

bfd я так понял работает в связке с ospf и bgp и только быстро переключает каналы а не обеспечивает их полную загрузку одновременно

тогда оно ничем лучше чем bonding broadcact

 

я хочу гонять upnp dlna траффик 

выходит схема такая 

 

потребитель -> openvpn c шифрованием -> bonding broadcast -> eoip -> l2tp с nat-t без шифрования -> опсос -> далее обратный порядок -> мой сервак

Share this post


Link to post
Share on other sites

у вас с обоих сторон 4g что ли?

 

Работоспособность зависит от того как глючит 4g - разовые это затыки или полный треш.

на полном треше l2tp покажет себя плохо

 

 

если "с той стороны" сервак , то я бы сразу рассмотрел eoip от nuclearcat  и поднимать eoip без всякого l2tp

4g подобрать тех с кем будет работать через nat

 

Share this post


Link to post
Share on other sites
8 часов назад, LostSoul сказал:

у вас с обоих сторон 4g что ли?

 

только с одной стороны 4g и серые адреса 

с другой стац интернет с белым динамич айпи

 

разовые затыки у 4g 

надеюсь они у операторов будут разнесены по времени

8 часов назад, LostSoul сказал:

на полном треше l2tp покажет себя плохо

а что выбрать та?

больше нет ничего на udp

кроме только снова openvpn 

я смогу вобще создать несколько разных openvpn серваков в одной конфигурации микротика 

и из условия выходит что мне надо будет поднимать несколько туннелей l2tp до одной точки 

чем их раскидывать vrf ?

 

 

4g подобрать тех с кем будет работать через nat

будет мтс и мегафон

 

 

 

и как быть с этим 

Спасибо за советы 

к сожалению у меня вероятно стоит запрет на пост 

могу только редактировать

кто поставил и за что хз

Edited by Smirnovi

Share this post


Link to post
Share on other sites
7 часов назад, Smirnovi сказал:

кроме только снова openvpn 

mikrotik не умеет openvpn по udp

хотя фичреквест об этом висит уже много лет

 

 

7 часов назад, Smirnovi сказал:

и как быть с этим 

Денис ответил по контексту той ситуации.

l2tp на микротике нельзя добавить в бридж.

Если вы задали бы ему вопрос по текущему примеру, то вероятно и ответ был бы другим.

 

Да, сейчас модные течения что все надо делать на L3 , исходя из этого тренда он и написал.

Хотите - делайте.  3шт l2tp , ospf , bfd.

Но минимум 1 потерянный пакет у вас будет при отвале линка.

 

 

По поводу проблем с NAT на l2tp - это проблема вроде бы была решена многие годы назад.

Но вас она в любом случае коснутся не должна.

Хотя бы потому что у вас l2tp будет без ipsec.

Но даже если с ipsec - проблема заключается в том, что при узел , который l2tp сервер, поднимая сессии ipsec сопоставляет ключи шифрования с внешними nat ip клиентов.  И если к одному и тому же серверу l2tp цепляется 2 и более клиента с одного и того-же внешнего NAT IP ,  то серверная сторона с точки зрения ipsec второго клиента воспринимает как первого с недействительными ключами сессии.

Лечилось это соответствующими патчами nat-t  , внедренными по моему уже давно  и везде, который добавляет чтоб  при создании ассоциаций ipsec учитывался и внешний и внутренний IP клиента.

 

повторю, вас это коснутся не должно.

потому что 1) не будет ipsec как такового 2 ) так как операторы разные, то и внешние NAT IP будут разные.  Ну если вы конечно не планируете масштабировать эту схему на N клиентских подключений.

 

Share this post


Link to post
Share on other sites
20 hours ago, LostSoul said:

очевидно , что для этого нужно слать пакеты сразу 2-3-4 путями, на приеме удалять дубли.

Осталось сделать шлюз, который будет отслеживать весь траффик и вычищать дубли.

Share this post


Link to post
Share on other sites
2 часа назад, ShyLion сказал:

Осталось сделать шлюз, который будет отслеживать весь траффик и вычищать дубли.

вы всю тему бы прочитали, дальше первого ответа.

таким "шлюзом" является любой туннель, работающий через tcp.

нагрузка на cpu при этом будет выше обычной,   но тут уже зависит от нагрузки на такой канал.

в моем случае это было mp3 в битрейте 160KBps

 

Share this post


Link to post
Share on other sites
13 часов назад, LostSoul сказал:

Хотите - делайте.  3шт l2tp , ospf , bfd.

Но минимум 1 потерянный пакет у вас будет при отвале линка.

Это делать вместе с бондингом броадкаст? 

Или просто в туннеле l2tp ? 

Динамическая маршрутизация будет выставлять ведь только один путь

А второй канал будет стоять

Или с режимом bonding rr что мне более симпатично

 

Хотелось по аналогии с raid иметь не 1 раид а например 5 или 10 о 6 или 60 и не мечтаю

Хватит и 1 или 5 рейда если в сетевой терминологии нет аналогов

А при проблемных каналах показан только 1 райд

 

Пакет пропадёт в UDP траффик на  l2tp уровне? 

Меня устроит

 

По скорости меня устроит битрейт чуть выше чем для 1920*1080 x264 и многоканальный звук ac3

 Главное стабильность

 

Этот огород горожу из-за того что андроид ни upnp dlna ни smb не может через l3

Юпнп тут понятно не роутийшийся 

А вот смб

Edited by Smirnovi

Share this post


Link to post
Share on other sites
2 часа назад, Smirnovi сказал:

Динамическая маршрутизация будет выставлять ведь только один путь

А второй канал будет стоять

Или с режимом bonding rr что мне более симпатично

 

да, один путь.

это альтернатива broadcast.

про rr на неусточивых линках забудьте

( что не мешает сделать по ospf равновесные маршруты с bfd ,   но уже на L3 естественно )

 

Почитал последний абзац, автор вы заниметесь какой-то хренью , простите.

Конечная цель проекта какая?

Табло с изображением или рекламой?

 

 

2 часа назад, Smirnovi сказал:

Хотелось по аналогии с raid иметь не 1 раид а например 5 или 10 о 6 или 60 и не мечтаю

RAID5 даже в дисковой аналогии оправдан только при наличии 5 и более дисков.

У вас будет 5 каналов?

 

Единственное что может улучшить ситуацию в вашем случае это какие-то хитрые алгоритмы прогнозирования сбоев и перехода между RR и broadcast по мере изменения обстановки.

А еще есть всякие адаптивные алогоритмы ACK и прочее.

Но на микротике про это забудьте , это только openwrt и там пилить.

 

Если ваше 1080 буферизируется то вам пофигу должно быть на 1-2 потерянных эпизодически пакета, можете смело l3 с равновесными маршрутами и bfd делать.

если же это реалтайм типа телеконференции с минимальной задержкой , то дублирование трафика only.

 

Вы в целом чрезвычайный оптимист, если ждете надежного 1080P через 4G

 

Share this post


Link to post
Share on other sites
23 часа назад, LostSoul сказал:

nuclearcat

Как понимаю линукс онли и на юзерспейс

А мне нужно в микротик

Уже приобрёл коробочку map

Оно маленькое и с питанием 5 вольт под повербанк

Пока не видел линукс маршрутизатор таких

Буду рад узнать если не прав 

Как вариант только ксиоми но его на заказ из Китая и с прошивкой падавана

И он без усб порта

Можно только сделать одну статион и одну виртуалаапи

 

Bfd неподойдет у меня на второй стороне пока будет микрот виртуализированный на вмваре

А ему нужны аппаратные коунтеры 

 

Спасибо за дельные советы и конструктивную критику

Теперь буду думать над реализацией этого и искать кеширующий смб клиент под андроид

Edited by Smirnovi

Share this post


Link to post
Share on other sites
6 часов назад, Smirnovi сказал:

По скорости меня устроит битрейт чуть выше чем для 1920*1080 x264 и многоканальный звук ac3

Как бы сильно дохрена чтобы дублить на два канала.

 

6 часов назад, Smirnovi сказал:

Этот огород горожу из-за того что андроид ни upnp dlna ни smb не может через l3

Юпнп тут понятно не роутийшийся 

UPnP/DLNA отдаёт только по TCP контент.

Для сетей с потерями нужно тюнить tcp на сервере и клиенте. Хотя бы на сервере.

UPnP состоит из SSDP который мультикаст юзает и HTTP обычный.

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

Можно в нужной сеткет поставить локально SSDP анонсер, который будет что надо анонсить, а уже хттп может из другой сетки браться.

У самбы не будет видно компов в сетевом окружении но по адресу шары будут открываться.

Share this post


Link to post
Share on other sites

Если на другом берегу тоже микротик, то:

/ip route
add distance=1 gateway=опсос1 routing-mark=4g1
add distance=1 gateway=опсос2 routing-mark=4g2

/ip firewall mangle
add action=mark-routing chain=output dst-address=другой берег dst-port=443 new-routing-mark=4g1
add action=mark-routing chain=output dst-address=другой берег dst-port=444 new-routing-mark=4g2

/interface sstp-client
add port=443 name=tun1 pfs=yes user=tun1 verify-server-address-from-certificate=no connect-to=другой берег
add port=444 name=tun2 pfs=yes user=tun2 verify-server-address-from-certificate=no connect-to=другой берег

/interface eoip
add name=eoip1 local-address=tun1-L remote-address=tun1-R
add name=eoip2 local-address=tun2-L remote-address=tun2-R

/interface bonding
add slaves=eoip1,eoip2 mode=broadcast

если не взлетит по L2, то ovpn поверх bonding пробовать

 

L2TP имхо будет хуже, ибо MTU

 

на дальнем микротике редирект 444->443

 

/ip firewall nat
add action=redirect chain=dstnat dst-port=444 protocol=tcp to-ports=443 dst-address=

 

 

Edited by DAF

Share this post


Link to post
Share on other sites

Я тут нашёл способ питать микротик коробочку и одновременно подключить до 4 модемов или роутеров от одного источника 5вольт. Возможно повербанк

Будет удобное решение в дорогу

Или для мобильного удалённого офиса

Обращайтесь кому надо

 

5 часов назад, DAF сказал:

L2TP имхо будет хуже, ибо MTU

Про него не переживаю 

Есть mmru

И сам openvpn может разбирать а потом собирать пакетики

Share this post


Link to post
Share on other sites
2 hours ago, jffulcrum said:

@DAF Откуда у него статические IP возьмутся для EOIP?

С "того берега" SSTP Server Binding назначмт (в PPP/Secret прописать нужно x.x.x.x/32 для tun1&2)

 

А для самого ЕоИП ip-шники с обеих сторон - ручками.....

Edited by DAF

Share this post


Link to post
Share on other sites
В 01.10.2018 в 14:34, Smirnovi сказал:

Как понимаю линукс онли и на юзерспейс

А мне нужно в микротик

оно замечательно работает как userspace.

могу подкинуть вам init-script для редхата чтоб конфиги поддерживать ifcfg-eoip-name1

 

а на микротике то вам зачем eoip? Он там есть от производителя в прошивке исходно.

Вы не понимаете что ли?

eoip от nuclearcat это реализация микротиковского eoip на линукс с рядом полезных функций типа работоспособности через nat и с динамическим ip. ( со стороны микротика )

 

 

18 часов назад, DAF сказал:

С "того берега" SSTP Server Binding назначмт (в PPP/Secret прописать нужно x.x.x.x/32 для tun1&2)

Никакой sstp в описанной ситуации ( потери на каналах ) использовать нельзя.

До того уровня на котором пакеты начнут дублироваться - только датаграммы.   eoip или udp

 

Share this post


Link to post
Share on other sites
36 минут назад, LostSoul сказал:

eoip от nuclearcat это реализация микротиковского eoip на линукс с рядом полезных функций типа работоспособности через nat и с динамическим ip. ( со стороны микротика )

у меня микротик будет на за натом сотового оператора 

а на стороне с белым айпи будет возможно линукс

ваш вариант мне подойдет?

 

у меня asus merlin прошивка 

нужна сборка пакета под него

entware http://bin.entware.net/armv7sf-k2.6/

 

я и так безмерно благодарен Вам за советы 

если еще и бинарник найдется будет совсем хорошо

также возможна установка на него дебиана 

но с тем же ядром разумееца

и скрипт под мерлина не помешал бы

 

ps eoip ведь на gre 

его должны сети пропускать?

Edited by Smirnovi

Share this post


Link to post
Share on other sites
4 минуты назад, Smirnovi сказал:

у меня микротик будет на за натом сотового оператора 

а на стороне с белым айпи будет возможно линукс

ваш вариант мне подойдет?

 

надо пробовать

пробовать совместим ли nat можно и на обычном линукс сервере ( x86 )

в сборке самого eoip от nucleart cat  никаких проблем нету - я собирал его и для iptv приставок и для ip-камер.

главное чтоб в ядре уже был tun/tap модуль собран, через который он работает

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now