Настройка Mikrotik DualWAN на 2х модемах сотовой связи
В одной из моих публикаций было описание материнской платы Mikrotik RBM33G способной работать одновременно с двумя модемами сотовой связи. Ниже я сделаю краткое описание того, как сконфигурировать RouterOS для распределения трафика между двумя lte интерфейсами.
ВАЖНО! Речь в этой статье не идет об агрегации каналов сотовой связи, которую могут делать модемы 6 ( и выше ) категории Lte. Суммирование частот в этом случае происходит внутри модема в автоматическом режиме(или в ручном, если вы вмешались в процесс посредствам АТ команд). Мы же пытаемся объединить 2 модема в один канал, например МТС и Мегафон, что бы они работали одновременно — такая схема может применяться для повышения отказоустойчивости или увеличения пропускной способности.
На тесте я буду использовать два модема Quectel EP06 категории 6 lte . В идеальном случае каждый из модемов будет агрегировать 2 несущие сотового оператора, а материнская плата роутера будет обьединять трафик с 2х модемов в один канал связи.
Кстати сконфигурированную сборку можно приобрести у меня в магазине: ССЫЛКА ЗДЕСЬ
Микротик Роутер ОС очень гибкая операционная система и имеет огромное количество настроек, предложенная мной конфигурация является одной из возможных, но далеко не единственной. Вообще ситуация использования двух шлюзов одновременно для выхода в интернет не является стандартной и имеет множество реализаций, при этом в любом случае будут какие либо костыли, так или иначе портящие общую картину. Но пока не будем о плохом.
Для начала сделаем стандартную настройку 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 интерфейса, балансировка закончена.