LINUX.ORG.RU
ФорумTalks

А почему так трудно реализовать балансировку интернет-соединения программно для домашнего роутера?

 , , ,


0

6

Допустим, роутер мониторит канал интернета А и канал интернета Б (через USB-модем). Если скорость на канале Б 10 Мбит/с, а на канале А 1 Мбит/с - переключает соединение на Б. Если наоборот - на А. Как мониторит? Ну, смотрит, что в данный момент сетевая активность юзера маленькая, и начинает торренты в /dev/null качать, то с А, то с Б, так и мониторит. Опять же, пока юзер сидит на канале А, то постоянно мониторит канал Б.

★★★★★
Ответ на: комментарий от vbr

В конечном счёте соединение к серверу будет сделано от публичного адреса провайдера.

Если соединяться по IPv4 и сидеть за провайдерским NAT, то да. Но в случае IPv6 ты пургу гонишь.

debugger ★★★★★
()
Последнее исправление: debugger (всего исправлений: 1)
Ответ на: комментарий от tiinn

Это не про домашний, а про мобильный, в нем вообще никто ничего не гарантирует. В моем районе много лет назад трактористы голос несколько месяцев чинили. И это внутри МКАД.

anc ★★★★★
()
Ответ на: комментарий от YAR

Проверка связи до google dns не показательна. Очень может быть, что он будет работать, а все остальное - нет. Лично сталкивался с подобным: доступ до dns есть, а сайты не грузятся. При том что маршрутизатор пинговал dns от трёх разных провайдеров, и критерий доступности был, чтобы минимум 2 отвечали.

Khnazile ★★★★★
()
Ответ на: комментарий от Khnazile

Проверка связи до google dns не показательна.

Два чая. Их много, в том числе это может быть и днс локального прова.

anc ★★★★★
()
Ответ на: комментарий от Toxo2

Не пробывал купить Starlink? спрятать внутри цветочной клумбы высокой, так чтобы со стороны не было видно, ну и для счастья кабель протащить домой и раздавать с домашнего роутера?

Nurmukh ★★★
()
Ответ на: комментарий от tiinn

Я пингую вполне определенный адрес, который 1) пингуется 2) пингуется отовсюду. То, что у каких-то ресурсов есть свои персональные блокировки - решается уже построением маршрутов персонально к этим ресурсам.

YAR ★★★★★
()
Ответ на: комментарий от Khnazile

Проверяй связь до удобного для тебя ресурса. Мне был удобен / достаточен гуглоДНС - я его и использовал.

YAR ★★★★★
()
Ответ на: комментарий от YAR

Я пингую вполне определенный адрес, который 1) пингуется 2) пингуется отовсюду. То, что у каких-то ресурсов есть свои персональные блокировки - решается уже построением маршрутов персонально к этим ресурсам.

Там выше написали, на хрена пинговать определённый адрес, если вы в тырнет ходите больше чем на один адрес? Это ни о чём не говорит.

tiinn ★★★★★
() автор топика
Ответ на: комментарий от YAR

Не, это нора еще глубже:

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

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

Это все к изначальному вопросу ТС, почему производители домашних маршрутизаторов даже простой failover делать не любят и готовых решений нет.

Khnazile ★★★★★
()
Ответ на: комментарий от Khnazile

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

В таком случае, оборудовать роутер PC-Speaker’ом и железным голосом говорить «да что за г..о ты ищешь в тырнете, Люк? Всем хватит голого гугла!!!»

tiinn ★★★★★
() автор топика
Ответ на: комментарий от Nurmukh

Не пробывал купить Starlink?

Нет, не пробовал.

Всё надеюсь, жду и верю, что когда-нибудь сюда провода дотянут.

Toxo2 ★★★★
()
Ответ на: комментарий от vbr

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от vbr

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Toxo2

Ничего нельзя сделать. Хоть замониторься.

В таких случаях ставят дальнобойную направленную антенну и цепляются к дальней вышке, до которой не добивают мобилки дачников.

Dimez ★★★★★
()
Ответ на: комментарий от Dimez

В таких случаях ставят дальнобойную направленную антенну и цепляются к дальней вышке, до которой не добивают мобилки дачников.

Это при наличии такой вышки. А вообще, опсосы стремятся ставить вышки не в голом поле, а именно там, где они будут окружены мобилками дачников. Иначе, какой им смысл воздух излучением греть?

tiinn ★★★★★
() автор топика
Ответ на: комментарий от Iron_Bug

Это отдельный протокол, поддержку которого нужно отдельно встраивать (setsockopt MPTCP_ENABLED) или запускать программу через wrapper, подменяющий системные вызовы (mtcpize), причём с обоих сторон. Т.е. это можно использовать для какого-нибудь прокси-сервера, к которому открывать соединение через MPTCP, а он уже будет соединяться с целевым сервером.

В общем штука хорошая, но когда ты контролируешь и клиента и сервера.

А ещё всякие коробки посредине могут мешать, т.к. это расширение TCP, которое они не факт, что понимают.

vbr ★★★★★
()
Ответ на: комментарий от tiinn

Это понятно. Но это просто слова, на деле нужно исследовать расположение вышек в округе и рельеф местности до них.

Dimez ★★★★★
()
Ответ на: комментарий от Dimez

Так-то, да, лишним не будет. А то, товарищ, может, вообще на телефоне меряет, вместо того, чтобы комп поднять на шестиметровую мачту, и уже оттуда WiFi раздавать.

tiinn ★★★★★
() автор топика
Ответ на: комментарий от tiinn

комп поднять на шестиметровую мачту, и уже оттуда WiFi раздавать.

Фе, поручик, давно уже есть вменяемые варианты, раздающие с мачты ethernet (даже гигабитный), как уже готовые (да хоть бы микротиковый LHGG), так и наколенные (https://4pda.to/forum/index.php?showtopic=994474)

Dimez ★★★★★
()
Ответ на: комментарий от vbr

это я понимаю, но как вариант он очень интересен.

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 3)
Ответ на: комментарий от Dimez

Антенна на крыше дома, втыкается в USB-модем, который воткнут в Микротик.

Но антенну крутил действительно по силе сигнала. Попал в максимум. Отличный такой, сильный сигнал. Только это никак не влияет на 100 Кбит/с

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

Toxo2 ★★★★
()
Ответ на: комментарий от Toxo2

Попал в максимум. Отличный такой, сильный сигнал. Только это никак не влияет на 100 Кбит/с

Конечно. Апстрим у вышки не резиновый и когда клиентов много, каждому мало отдаётся. Если очень грубо - это аналог wifi.

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

Именно так. Вполне бывает, что сигнал ниже, но из-за того, что потребителей на порядок меньше, общая скорость намного выше.

Dimez ★★★★★
()

Роутер умеет в скрипты? Если да, то тебе нужно:

  1. Настроить две таблицы маршрутизации для двух каналов, настроить route mark для каждой таблички
  2. Настроить NAT для твоей схемы
  3. Написать правила маркировки пакетов. пакеты с маркировкой А улетают в таблицу маршрутизации 1 (присваивается route mark 1, улетает в первый канал), пакеты с маркировкой Б улетают в канал 2.
  4. Написать скрипт, который в зависимости от качества соединения ставил бы то одну маркировку на пакеты, то другую. Как я понял, каналы модемные - значит, скорость канала вытаскивай из модема. По идее, он отдает.
somemong
()
Ответ на: комментарий от vbr

у нас, например, его предославляет примерно один провайдер из десяти (и то ещё надо, чтобы такой провайдер был в доступе). а тот, что предоставляет, делает это через ж... через туннелировние и даёт только маску на 128 адресов. и не даёт белых адресов вообще.

Iron_Bug ★★★★★
()
Ответ на: комментарий от anc

Вроде даже здесь кто-то тему поднимал.

Я думал кто-то ворвется в тему с готовым решением, но пока что-то нет. Наверное все пишут свои компиляторы си или хотя бы аудиоплееры и не опускаются до такой мелочи)

goingUp ★★★★★
()
Ответ на: комментарий от YAR

Я пингую вполне определенный адрес, который 1) пингуется 2) пингуется отовсюду.

127.0.0.1 ? Или начинающийся с fe80:: ?

anc ★★★★★
()
Ответ на: комментарий от tiinn

Там выше написали, на хрена пинговать определённый адрес, если вы в тырнет ходите больше чем на один адрес? Это ни о чём не говорит.

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

anc ★★★★★
()
Ответ на: комментарий от Toxo2

Ничего нельзя сделать. Хоть замониторься.

Посмотри на каких частотах вещает вышка, возможно, что вещание идёт одновременно на нескольких частотах и телефоны соединяются на одну из них, например, 800MHz, а другая, например, 2100MHz свободна. Шанс не велик, но вдруг

Jurik_Phys ★★★★★
()
Ответ на: комментарий от anc

Его же вроде закопали.

А чёрт, и правда. Закрыт для новых подключений

tiinn ★★★★★
() автор топика

С какой целью? Нормальные люди вместо 2-х плохих каналов покупают один хороший и не занимаются ерундой.

next_time ★★★★★
()
Ответ на: комментарий от next_time

С какой целью? Нормальные люди вместо 2-х плохих каналов покупают один хороший и не занимаются ерундой.

Денях нету. Не у всех в Нигерии дядя умер.

tiinn ★★★★★
() автор топика
Ответ на: комментарий от next_time

С хрена ли? В Мск есть провайдеры за 300 р/мес. К этому архивный тариф в модем - безлимитный тырнет ещё за 300 р. Ну, и много ли хороших провайдеров за 600 р? Кто гарантирует их качество? Опять же, качество качеством, но вот у меня, например Дом.ру при непревзойдённом качестве за 100 Мбит/с поднял цены с 650 р в январе до почти 1300 в мае. На хрена мне такое качество?

Опять же, есть места в нашей России где тырнет по проводу - это только Ростелеком по лапше через ADSL и… сотовая связь. Да, можно протянуть оптику от 200 тыс.р.

tiinn ★★★★★
() автор топика
Последнее исправление: tiinn (всего исправлений: 1)
Ответ на: комментарий от tiinn

В МСК качество связи зависит от vpn, а не от провайдера. Так-то, все* провайдеры обеспечивают достойное качество, по крайней мере, в пределах МКАДа. Вот только из-за тупости роскомпозора, который может блокировать любой сайт, не только из чёрного списка, их (провайдеров) усилия обнуляются.

Как пример, яндекс.маркет, который у меня как-то раз еле ползал напрямую, но летал из-под vpn.

P.s.

*все, кроме особо одарённых: в некоторых отдельных ЖК есть практика самозахвата мелкими провайдерами дома целиком с потрохами и недопуска туда нормальных провайдеров

next_time ★★★★★
()
Ответ на: комментарий от next_time

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

tiinn ★★★★★
() автор топика

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

imul ★★★★★
()

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

yu-boot ★★★★★
()
Последнее исправление: yu-boot (всего исправлений: 1)
Ответ на: комментарий от anc

Его же вроде закопали.

Да какая разница, переформировали, теперь на месте скайлинка ростелекомовский t2. Дело в LTE-450, который хоть и не блещет высокой скоростью (хотя пишут, что до 30MBps, это прям очень неплохо), но имеет бОльшую дальность, чем LTE-2600.

Dimez ★★★★★
()
Ответ на: комментарий от next_time

*все, кроме особо одарённых: в некоторых отдельных ЖК есть практика самозахвата мелкими провайдерами дома целиком с потрохами и недопуска туда нормальных провайдеров

Вот жителям этих домов куда деваться прикажете?

tiinn ★★★★★
() автор топика
Ответ на: комментарий от Dimez

Да какая разница, переформировали, теперь на месте скайлинка ростелекомовский t2.

Понял. Спасибо. Не следил за дальнейшей судьбой скайлинка.

но имеет бОльшую дальность

Это да. Тут даже говорить нечего.

anc ★★★★★
()
Ответ на: комментарий от tiinn

у жителей этих домов принципиально одно соединение для ПК: либо проводное, либо мобильное

какие ещё варианты?

next_time ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)