Настройка Mikrotik DualWAN на 2х модемах сотовой связи

3,3K прочитали

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

ВАЖНО! Речь в этой статье не идет об агрегации каналов сотовой связи, которую могут делать модемы 6 ( и выше ) категории Lte. Суммирование частот в этом случае происходит внутри модема в автоматическом режиме(или в ручном, если вы вмешались в процесс посредствам АТ команд). Мы же пытаемся объединить 2 модема в один канал, например МТС и Мегафон, что бы они работали одновременно - такая схема может применяться для повышения отказоустойчивости или увеличения пропускной способности.

На тесте я буду использовать два модема Quectel EP06 категории 6 lte. В идеальном случае каждый из модемов будет агрегировать 2 несущие сотового оператора, а материнская плата роутера будет обьединять трафик с 2х модемов в один канал связи.

Плата Микротик RBM33 с двумя модемами EP06
Плата Микротик RBM33 с двумя модемами EP06

Кстати сконфигурированную сборку можно приобрести у меня в магазине: ССЫЛКА ЗДЕСЬ

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

Для начала сделаем стандартную настройку Mikrotik RBM33G для выхода в интернет через модем:

  • Сбросим конфигурацию до чистой (reset configuration)
  • Объединим все LAN интерфейсы в бридж
  • Повесим на него адресное пространство 192.168.5.0/24
  • Настроим на бридже DHCP сервер
  • Сконфигурируем фаервол по желанию
  • Настроем NAT для выхода в интернет с нашей подсети

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

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

Первым делом входящий трафик от модемов нужно промаркировать (писать буду в командах для консоли, для тех кто любит WINBOX думаю не составит труда расшифровать):

  • ip firewall mangle add action=mark-connection chain=input in-interface=lte1 new-connection-mark=con_LTE1
  • ip firewall mangle add action=mark-connection chain=input in-interface=lte2 new-connection-mark=con_LTE2

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

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

  • ip firewall mangle add action=mark-routing chain=output connection-mark=con_LTE1 new-routing-mark=LTE1_rout
  • ip firewall mangle add action=mark-routing chain=output connection-mark=con_LTE2 new-routing-mark=LTE2_rout

Теперь необходимо добавить маршруты по умолчанию, в которых будут содержаться наши метки:

ip route add distance=1 gateway=lte1 routing-mark=LTE1_rout

ip route add distance=1 gateway=lte2 routing-mark=LTE2_rout

Отлично!!! Входящий трафик промаркирован, осталось придумать как делить исходящий трафик между модемами. Тут есть множество вариантов для фантазии:

  • Можно делить по принципу первый направо-второй налево
  • Можно привязать порты к разным интерфейсам, например http почта - lte1, все остальное lte2
  • Можно использовать встроенные в Mikrotik алгоритмы: ECMP, PPC, Nth

Для примера я взял разделение с помощью PPC (Per Connection Classifier) , в этом случае группы будут образовываться на основании адреса и порта в заголовке пакета TCP:

/ip firewall mangle add src-address=192.168.5.0/24 action=mark-routing chain=prerouting new-routing-mark=lan-to-LTE1 per-connection-classifier=src-address-and-port:2/0

/ip firewall mangle add src-address=192.168.5.0/24 action=mark-routing chain=prerouting new-routing-mark=lan-to-LTE2 per-connection-classifier=src-address-and-port:2/1

Далее нужно добавить два маршрута по умолчанию для маркированного выше трафика:

/ip route add distance=1 gateway=lte1 routing-mark=lan-to-LTE1

/ip route add distance=1 gateway=lte2 routing-mark=lan-to-LTE2

Вот в принципе и все... Дальше трафик ходит через 2 интерфейса, балансировка закончена...

тест скорости после настройки
тест скорости после настройки
результат спидтеста
результат спидтеста

А теперь немного дегтя в бочку меда... Микротик не знает какая пропускная способность у наших каналов связи, поэтому балансировку трафика нужно делать исходя из возможностей провайдера LTE, иначе может получиться ситуация, когда у Вас один модем выдает 100мбит, а вторая база висит и на ней всего 5 мбит, так вот после балансировки вы получите 10 мбит:) , потому что роутер будет раскидывать трафик пополам, и в результате просто удвоит скорость самого тормозного канала...

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