Задать вопрос

Как оформить дополнительный интернет-канал в linux?

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

Задача

Ряд своих скриптов хочу перевести на домашний raspberry pi 2, который должен будет выступить как веб-сервер. Ничего критического, только простые и заменимые вещи. Доступ извне через DDNS, нужен только мне, ибо запросов от иных людей к моим скриптам не ожидается.

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

В качестве дублирующего канала рассматриваю 4g/3g в двух разрезах - либо роутер с доступом через wi-fi, либо модем с доступом по usb (дополнительный usb-разветвитель с отдельным питанием есть).

Вопросы.

1. Как бы Вы организовали переключение между соединениями в случае недоступности основного канала?..

Я предполагаю следующее:
а) Первый вариант - когда соединение не разорвано, но страницы не открываются - проверять через какой-то промежуток времени связь с интернетом. Но через какой промежуток?.. И есть ли какие уже существующие инструменты для этого?.. Хостинг-провайдеры явно что-то солидное используют.
б) Вариант второй - если соединение с домашним интернетом (основным каналом) все же разорвано, то каким образом сконфигурировать параметры network manager'а, чтобы он автоматом переключал на альтернативное соеднинение?..

2. В случае разрыва соединения (основного или альтернативного), мне должны все же лететь смс-ки о том, что домашная сеть недоступна. Как подобное реализовать на 4g/3g модеме я уже почитывал и примерно понимаю. Но вот возможно ли подобное на 4g/3g роутере?..
  • Вопрос задан
  • 664 просмотра
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
@azazelpw
Linux SA
Проблема доступности количеством каналов не решится.
Для веб сервиса, нужен нормальный фронт балансер.
Сначало все упрется в A запись DNS, по доменому имени же заходим.
1 решение. DynDNS будет менять запись в зависимости от рабочего канала.
2 решение. Свой собственный DNS сервер, который через Round Robin будет балансировать записи.
Но от кеша DNS пользователя все равно никуда не деться, активный пользователь наткнется на ошибку доступа к сайту.

Далее запрос идет на вебсервер, а значит правила и маршрутизация должны быть настроены отдавать пакеты на тот канал с которого пришли, решается маркировкой трафика. Таким образом одновременно могут работать 2 и более каналов.
Ответ написан
jamakasi666
@jamakasi666 Куратор тега Linux
Просто IT'шник.
Столкнулся со схожими проблемами, долго бился с wrt , потом колдовал собственными костылями. В конечном счете плюнул и купил микротиковский роутер. Убил сразу кучу зайцев. Во первых внутри роутеров микротика можно поднимать виртуалки с wrt прошивками, во вторых роутер работает просто как часы, в третьих запитал по poe от роутера 2 ip телефона и wifi в другой комнате. Сам роутер посадил на ибп и теперь проблем с доступностью вообще не бывает, все в своих vlan'ах, скорость даже с кучей торрентов не падает, все легко настраивается и вообще был первый опыт общения с оборудованием микротика и сказать что я доволен это ничего не сказать, хотя так же работал с цисками и кучей разных дешевых комутаторов\свичей и роутеров.
В общем почитай по этой теме я сильно уверен что RouterOS или маршрутизаторы\роутеры микротиковские больше всего под задачи доступности подойдут.
Ответ написан
littleguga
@littleguga
Не стыдно не знать, а стыдно не интересоваться.
1. Разве система сама не должны подхватывать?
Как вариант - написать скриптик, который будет в случае падения сетки переключать на другую.

2. Посмотрите это:
https://habrahabr.ru/post/133085/
https://xakep.ru/2015/04/07/195-sms/

или
как только поднялся интернет с модема - через сервис по типу smsaero.ru/sms.ru, ведь интернет то уже будет

Особо других вариантов не вижу.
Ответ написан
@kirdik
Написать bash скрипт, который пингует адрес в интернете в случае если ответ отрицательный прописывать новый маршрут route -G b далее по тексту. Скрипт сажается на cron и работает раз в минуту.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы