Как сделать резервный интернет

Добавил пользователь Евгений Кузнецов
Обновлено: 04.10.2024

Резервирование каналов в Mikrotik при помощи рекурсивной маршрутизации

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

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

Теория

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

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

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

Прежде всего разберемся как заполняется таблица маршрутизации. Это может происходить несколькими способами:

  • Непосредственно присоединенные сети - в данном случае они имеют флаг С - connect - это сети к которым физически подключен маршрутизатор, они добавляются при подключении интерфейса и удаляются при его отключении.
  • Статические маршруты - добавляются системным администратором, либо динамически, при подключении коммутируемого соединения или получения сетевых параметров по DHCP. В этом случае к флагу S -static, добавляется флаг D - dynamic.
  • Динамические маршруты - маршруты добавляемые при помощи протоколов динамической маршрутизации, таких как OSPF, RIP и т.д. Не следует путать их с динамически добавляемыми статическими маршрутами и маршрутами непосредственно присоединенных сетей. Флаг D - dynamic в Mikroitk обозначает только то, что маршрут добавлен автоматически, без участия пользователя. А динамические маршруты обозначаются флагами r - rip, b - bgp, o - ospf, m - mme, однако их рассмотрение выходит за рамки данной статьи.

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

Теперь разберемся как все это работает. Допустим мы хотим обратиться к узлу 8.8.8.8, роутер берет таблицу маршрутизации и осуществляет в ней поиск наилучшего маршрута к запрашиваемому узлу. В нашем случае искать особо нечего и это будет "нулевой" маршрут со шлюзом 192.168.3.1. Но маршрутизаторы крупных сетевых узлов могут содержать тысячи и десятки тысяч маршрутов и поэтому поиск может оказаться совсем не простым и дешевым действием.

Здесь тоже следует дать краткие пояснения, если интерфейс выхода является сетью Ethernet, то роутер выполнит ARP-запрос для адреса шлюза и сформирует Ethernet-кадр, а если это туннельный интерфейс точка-точка (VPN, PPPoE), то выполнит инкапсуляцию IP-пакета и отправит его на другую сторону туннеля.

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

Для решения этой проблемы в Linux, а следовательно, и в RouterOS, введены понятия области маршрута - Scope, и области поиска - Target-scope. Теперь вернемся к нашей таблице маршрутизации, "нулевой" маршрут имеет область - 30 и область поиска - 10. Следовательно дальнейший поиск будет вестись только среди маршрутов с областью 10.

По умолчанию данные опции имеют следующее значение:

  • Непосредственно присоединенные сети: Scope - 10, Target Scope не имеет смысла, так как данный маршрут указывает на интерфейс выхода
  • Динамические маршруты - OSPF, RIP, MME: Scope - 20, Target Scope - 10
  • Статические маршруты: Scope - 30, Target Scope - 10

Таким образом область поиска существенно снижается и маршрут к шлюзу ищется только среди непосредственно присоединенных сетей. Теперь самое время перейти к рекурсивной маршрутизации.

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

Давайте рассмотрим следующую таблицу маршрутизации:

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

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

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

Итак, роутер находит адрес первого шлюза - 1.1.1.1 и начинает искать маршрут к нему с среди маршрутов с областью 10, там он находит второй маршрут и получает из него новое значение шлюза - 192.168.3.1 - который является шлюзом нашего провайдера, затем еще раз выполняет поиск и находит связанный с ним интерфейс выхода - ether5. После чего пакет отправляется провайдеру, а удаленный узел 1.1.1.1 используется нами только как способ проверки наличия интернета через данный канал. Это и есть рекурсивная маршрутизация.

Практика

Будем считать что на вашем роутере уже настроен доступ к двум провайдерам и мы не будем останавливаться на этапе базовой настройки, если вы испытываете затруднения с этим, то обратитесь к нашей статье: Базовая настройка роутера MikroTik.

В нашем примере будут использоваться два условных провайдера, основной и резервный, подключенные к интерфейсам ether5 и ether4, тип интерфейса и подключения в данном случае никакой роли не играют. Откроем таблицу маршрутизации IP - Routes, в простейшем виде она будет выглядеть приблизительно так:

mikrotik-recursive-routing-001.jpg

У нас есть два нулевых маршрута с разными административными дистанциями (1 для основного провайдера, 2 для резервного) и три маршрута для непосредственно присоединенных сетей, где 192.168.3.0/24 - сеть основного провайдера, а 192.168.16.0/24 - резервного.

Перед тем, как переходить к дальнейшим настройкам нам нужно выяснить и запомнить адреса шлюзов провайдеров, для этого можно заглянуть на закладку Nexthops, для коммутируемых подключений (VPN, PPPoE) следует проверить свойства соответствующего соединения.

mikrotik-recursive-routing-002.jpg

Внимание! Дальнейшие действия следует производить имея физический доступ к устройству!

Прежде всего отключим автоматическое создание нулевых маршрутов для сетей провайдеров, для этого следует снять флаг Add Default Route в свойствах подключения, либо установить одноименную опцию в значение - no.

mikrotik-recursive-routing-003.jpg

После этого доступ в интернет по обоим каналам пропадет. Имейте это ввиду при планировании работ.

Теперь начнем добавлять собственные маршруты, но сначала выберем два высокодоступных узла для первого и второго провайдера. Допустим это будут 1.1.1.1 (Cloudflare DNS) и 9.9.9.9 (Quad9 DNS). Каких-либо ограничений по их выбору нет, это могут быть как ваши собственные, так и публичные узлы, единственное условие - они не должны использоваться в вашей сети, потому как при отказе одного из провайдеров окажутся недоступными.

В первую очередь создадим маршруты к этим узлам. Для этого снова перейдем в IP - Routes и создадим новый маршрут:

mikrotik-recursive-routing-004.jpg

Где Dst. Address - 1.1.1.1 - узел для проверки первого провайдера, Gateway - 192.168.3.1 - шлюз первого провайдера, Distance - 1, Scope - 10. Обратите внимание на значение области (Scope), если вы оставите там значение по умолчанию - 30, то рекурсивная маршрутизация работать не будет! Затем добавим второй аналогичный маршрут, но уже к узлу 9.9.9.9 через шлюз второго провайдера.

Эти же действия через терминал:

Затем добавим два рекурсивных "нулевых" маршрута. Для первого провайдера:

mikrotik-recursive-routing-005.jpg

Dst. Address оставляем по умолчанию - 0.0.0.0/0, Gateway - 1.1.1.1 - высокодоступный узел для первого провайдера, Check Gateway - ping - указываем проверку доступности шлюза, Distance - 1.

Для второго провайдера:

mikrotik-recursive-routing-006.jpg

Dst. Address - 0.0.0.0/0, Gateway - 9.9.9.9, Check Gateway - ping , Distance - 2. Обратите внимание на значение административной дистанции второго маршрута, она должна быть больше, чем у основного провайдера, в нашем случае - 2.

То же самое быстро в терминале:

Теперь таблица маршрутизации будет выглядеть следующим образом:

mikrotik-recursive-routing-007.jpg

Наши маршруты добавились как рекурсивные и активным является маршрут через основного провайдера. Теперь имитируем аварию у первого провайдера, буквально через 10-20 секунд таблица маршрутизации изменится и рабочим станет маршрут через резервный канал:

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

Рекурсивная маршрутизация и PPPoE

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

Чтобы этого избежать используем одну небольшую хитрость. Вспомним, о чем мы говорили в теоретической части. При использовании PPPoE соединения адрес шлюза провайдера роутеру как таковой не нужен. Он используется только для определения интерфейса выхода. Для работы протокола PPP, который лежит в основе PPPoE, IP-адреса не требуются. Это дает возможность самостоятельно присвоить произвольный адрес для удаленного конца туннеля и использовать его в качестве шлюза.

Для этого перейдем в PPP - Profiles и создадим новый профиль, укажем для него понятное имя и зададим параметр - Remote Address, адрес можно указать любой, единственное условие - он не должен пересекаться с вашими внутренними сетями, в нашем случае это 10.253.252.251. Также установите переключатель Change TCP MSS в положение yes.

mikrotik-recursive-routing-009.jpg

В терминале это можно сделать так:

После чего назначим этот профиль вашему PPPoE соединению:

mikrotik-recursive-routing-010.jpg

И после его перезапуска убедимся, что удаленный адрес соединения теперь соответствует назначенному нами:

mikrotik-recursive-routing-011.jpg

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

Рекурсивная маршрутизация и DHCP

Описанная выше проблема актуальна и для провайдеров, выдающих настройки по DHCР, в том случае если у клиента нет выделенного IP-адреса, текущий адрес может быть назначен из нескольких диапазонов, а следовательно, будет изменен и адрес шлюза. В отличие от PPPoE здесь мы не сможем задать произвольный адрес, поэтому нам на выручку придут скрипты.

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

mikrotik-recursive-routing-012.jpg

Затем перейдем в настройки DHCP-клиента - IP - DHCP Client - и на закладке Advanced внесем в соответствующее поле короткий скрипт:

mikrotik-recursive-routing-013.jpg

Теперь при каждом новом получении адреса по DHCP скрипт будет находить наш маршрут и изменять в нем значение шлюза на реально полученный адрес. Попробуем смоделировать данную ситуацию и выдадим нашему роутеру адрес первого провайдера из другого диапазона. Как видим, все автоматически изменилось согласно вновь полученных настроек:

mikrotik-recursive-routing-014.jpg

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

Отсутствие интернета в компании даже на 10 минут может повлечь серьезные убытки для бизнеса. Именно поэтому подавляющее большинство наших клиентов используют технологию резервирования интернет-канала.

В данной инструкции мы опишем пример базовой настройки резервирования интернет-канала на базе оборудования Mikrotik RB951G. Вариантов реализации данного решения в сети довольно много. Мы же опишем свою версию реализации используя утилиту Netwatch.

Состав тестового стенда:

  • Mikrotik RB951G. Версия OS 6.45.1
  • LTE-модем Yota

Этап 1. Подготовительные работы:

Предлагаем не углубляться в этап начальной настройки устройства. Подразумеваем, что базовая настройка устройства уже проведена, адреса получены, LTE-модем убран из вкладки Bridge.

вкладка Address List

Во вкладке Address List имеем:

  • Lte1 – получен адрес по DHCP (D – Dinamic) 10.0.0.10
  • WAN1 - получен адрес по DHCP (D – Dinamic) 172.17.0.51
  • Bridge1 ( наша локальная сеть) - 192.168.1.1 – адрес маршрутизатора.

создаём 2 правила

В данном окне создаём 2 правила. Как создать правила и базовую настройку смотрим в статье.

Мы сделали отдельной правило, разрешающее интернет для каждого интерфейса, но можно использовать Interface list и создать только одно правило (см. рисунок ниже).

можно создать только одно правило

Этап 2. Настройка маршрутов

Кратко опишем процесс работы по проверке работы канала и алгоритма переключения на резервный канал и обратно.

Выбираем IP-адрес в интернете с высокой степенью доступности. В качестве примера используем IP 8.8.8.8.

Создаем дополнительный маршрут основного канала (цифра 3 на рисунке ниже) и правило в таблице маршрутизации, которое жестко привязывает прохождение трафика через канал WAN1 в случае переключения на резервный канал, пакеты будут пытаться отправляться через новый маршрут по умолчанию.

Создаем дополнительный маршрут основного канала

Обозначения на рисунке:

  1. Маршрут по умолчанию для основного провайдера с комментарием EFSOL.
  2. Маршрут по умолчанию для резервного провайдера с комментарием YOTA.
  3. Новый маршрут вне основной таблицы маршрутизации. Для него мы и делаем отдельное правило (см. рисунок ниже).

Новому правилу необходимо присвоить Routing mark. В нашем случаем мы назвали его - enternal.

маршрут по умолчанию для основного провайдера

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

В поле Gateway необходимо указывать IP-адрес шлюза. WInbox по умолчанию предлагает выбрать интерфейс. В данной версии прошивки данная функция работает некорректно. Если указать название интерфейса, маршрут не активируется.

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

Создаем правило

Создаем правило, которое говорит нам о том, что весь трафик, идущий на адрес 8.8.8.8 направлять только через таблицу enternal.

Сначала создается маршрут и в нем прописывается routing mark, и только потом мы найдем вновь созданный routing mark в поле Table.

Настройка таблицы маршрутизации завершена.

Этап 3. Настройка скрипта переключения

В качестве основного инструмента переключения мы будем использовать Netwatch. В качестве примера – интервал проверки мы сделали 15 секунд. В реальных условиях рекомендуем увеличить значение до 10 минут. Если основной канал будет активен, но работать нестабильно (потери пакетов), то роутер будет переключать интерфейсы. Соответственно, ни основной ни резервный канал корректно работать не будут.

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

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

    ;
  • Отправка отчетов; ;
  • Просмотр корпоративной почты и многое другое.

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

Виды резервного соединения

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

    Инструкция настройки автоматического переподключения на USB-модем

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

    Дальнейшая инструкция носит скорее ознакомительный характер, т.к. подходит только для роутеров D-Link. У сетевого оборудования других производителей принцип подключения отличается.

    Примечание! До того, как покупать USB-модем, убедитесь, что он совместим с вашей моделью маршрутизатора.

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

    Далее следует проверить, переключился ли шлюз по умолчанию. Если нет, делаете это вручную.

    Остается только проверить, корректно ли работает настроенное резервное подключение на практике. Для этого отключаете кабель порта WAN на маршрутизаторе и обновляете страницу. 3G-сеть должна выбраться по умолчанию.

    При повторном подключении кабеля WAN вновь выбирается основным шлюзом.

    На этом инструкция заканчивается. Несмотря на визуальную простоту настройки, лучше доверить ее профессионалу. Ведь в силу неопытности можно ошибиться еще на этапе подбора USB-модема, купив модель, несовместимую с роутером.

    Думаю, что вряд-ли кто-то тут поможет, но тем не менее. Фермы стоят в помещении, где нет возможности провести нормальный интернет, приходится пользоваться Wifi 4G роутером (но ловит только 3G и тот очень плохо), который периодически пропадает. Написал утилиту, которая при отвале инета ребутит роутер, но это не помогает. Из всех вариантов решения, я вижу только один: купить еще один роутер, посадить туда другого оператора и использовать его как резервный канал, при отвале первого. И тут я офигел, в наш 2017 год совершенно нет готовых решений переключения между wifi, при отсутствии пинга! Может кто уже решал такую задачу?

    Свой человек

    kNigga

    Бывалый
    Свой человек

    а что мешает от одного роутера воткнуть в сетевуху кабель а на другой роутер посадить USB wi-fi ? раз уж богатые на роутеры)
    И почему вы не используете роутеры от микротика . все ж в одном, настраивается под любые задачи.

    kNigga

    Бывалый

    а что мешает от одного роутера воткнуть в сетевуху кабель а на другой роутер посадить USB wi-fi ? раз уж богатые на роутеры)

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

    Если бы я знал ЧЕТКО и СТАБИЛЬНО, что я могу в микротике такую реализацию сделать и ее будет сделать на 5000рублей проще, чем из-под винды, я бы давно так и поступил.

    dukhoome

    Свой человек

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


    Если бы я знал ЧЕТКО и СТАБИЛЬНО, что я могу в микротике такую реализацию сделать и ее будет сделать на 5000рублей проще, чем из-под винды, я бы давно так и поступил.


    Если у Вас не работает микротик, значит Вы не правильно его настроили. мануалов в интернете полно как и что настроить. 1 раз настроил, сделал бэкап и забыл о нем, современные 3/4G модемы работают с ним стабильно, в нем же есть возможность написать скрипт который будет пинговать интернет и при отвале перезапускать подключение.

    Свой человек

    Mazahaka

    Бывалый

    kNigga

    Бывалый

    И вообще, зачем мне покупать свисток-модем за 700р, микротик за 3к, если могу за 3200 взять роутер от оператора и из-под винды переподключать при отвале одного из роутеров?

    Свой человек

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

    kNigga

    Бывалый

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

    Я спрашивал как из-под винды переподключаться к другой WIFi, при отсутствии пинга у основной, а мне советуют купить свисток, микротик и любить мозги гиковскими Sh)

    greydjin

    Свой человек

    Я спрашивал как из-под винды переподключаться к другой WIFi, при отсутствии пинга у основной, а мне советуют купить свисток, микротик и любить мозги гиковскими Sh)

    Понимаете, вы озвучили проблему - риги не получают интернет. Люди пишут решение этой проблемы. Решать отсутствие интернета автоматическим переключением wi-fi в windows - очень странно. Люди пытаются подсказать вам иное решение, которое на их взгляд проще и дешевле. Windows очень плохо подходит для такой автоматизации. Я свои офисы переключаю на разные интернет каналы роутерами на linux и даже там, где много специальных инструментов нужно следить за множеством факторов. Windows просто не предназначена для такого.

    Salatik_cn

    Бывалый

    Думаю, что вряд-ли кто-то тут поможет, но тем не менее. Фермы стоят в помещении, где нет возможности провести нормальный интернет, приходится пользоваться Wifi 4G роутером (но ловит только 3G и тот очень плохо), который периодически пропадает. Написал утилиту, которая при отвале инета ребутит роутер, но это не помогает. Из всех вариантов решения, я вижу только один: купить еще один роутер, посадить туда другого оператора и использовать его как резервный канал, при отвале первого. И тут я офигел, в наш 2017 год совершенно нет готовых решений переключения между wifi, при отсутствии пинга! Может кто уже решал такую задачу?

    возможно если роутер прошить с помощью DD-WRT то там можно будет реализовать подобное. "Но это не точно." (с)

    Aleks03

    Бывалый

    Я спрашивал как из-под винды переподключаться к другой WIFi, при отсутствии пинга у основной, а мне советуют купить свисток, микротик и любить мозги гиковскими Sh)

    Hocok_B_kapMaHe

    Друг форума

    А че это вы за велосипед придумали с вай-фаем и сменой шлюза на риге? Вы на каждый риг по 2 модема будете покупать? Невыгодно и неудобно.
    Можно купить микротик, и настроить, как сказано выше.
    Кстати он умеет и распаралеливать запросы (получите скорость сразу 2х) а также резервный канал.

    Скажу сразу ПРОЩЕ не получится.

    Я свою проблему с рез. каналом буду решать так:
    Беру старенький комп, ставлю на него дебиан.
    Втыкаю модем, втыкаю кабель проводного интернета, а также PCI-E сетевую карту.
    В сет. карту PCI-E вставляем кабель который идет на свитч в локальную сеть.
    Настраиваем локальную сеть, на этом стареньком уже сервере )
    И правила, которые пропускают пакеты извне в лок. сеть и наоборот.
    Один скрипт следит чтобы модем был всегда подключен (wvdial в цикле)
    Второй телнетится куда нибудь на гугл, и если неудачно, меняет шлюз (чтобы пакеты через модем шли) посредством route

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

    Читайте также: