Рано или поздно любой администратор сталкивается с задачей повышения надёжности сетевой инфраструктуры. Один коммутатор — это единая точка отказа, а узкий канал между оборудованием может стать бутылочным горлышком. Для решения первой проблемы обычно используют резервирование на уровне L2 с помощью STP, а для второй — агрегацию каналов по технологии LACP (Link Aggregation Control Protocol), которая позволяет динамически объединять несколько физических интерфейсов в один логический канал (LAG), обеспечивая балансировку нагрузки и отказоустойчивость. Однако у LACP есть ограничение: все порты в группе должны принадлежать одному коммутатору.
Что делать, если нужно зарезервировать сам коммутатор?
Решение есть — MLAG (Multi-Chassis Link Aggregation). Эта технология позволяет объединить два коммутатора в один логический, обеспечивая резервирование и балансировку нагрузки на уровне L2, при этом LACP-группа распределяется между двумя физическими устройствами. В этой статье я покажу, как настроить MLAG на коммутаторах MikroTik, чтобы вы могли получить отказоустойчивую и высокопроизводительную сеть без покупки дорогого оборудования корпоративного класса.
Технология объединения двух коммутаторов в один логический у разных производителей называется по-разному. Вот краткая сводка:
| Вендор | Название технологии |
|---|---|
| MikroTik | MLAG (Multi-Chassis Link Aggregation) |
| Cisco | VSS (Virtual Switching System) — для Catalyst, или vPC (Virtual Port-Channel) — для Nexus |
| Arista | MLAG (Multi-Chassis Link Aggregation) |
| Juniper | MC-LAG (Multi-Chassis Link Aggregation) |
| Huawei | M-LAG (Multi-Chassis Link Aggregation) |
| HPE / Aruba | VSX (Virtual Switching Extension) |
| Extreme Networks | MLAG (Multi-Chassis Link Aggregation) |
Важно: независимо от названия, суть технологии одна — два физических коммутатора представляются подключённым устройствам как единый логический коммутатор, что позволяет строить отказоустойчивые LACP-связки с распределением портов между устройствами. При этом MAC-адрес и LACP System ID должны быть синхронизированы между MLAG-узлами.
Особенности реализации MLAG #
Раздельный control plane #
В отличие от стековых решений (например, Cisco StackWise или HPE IRF (на базе Comware) / VSF (на базе ArubaOS)), где коммутаторы образуют единый управляющий модуль, в MLAG каждый коммутатор сохраняет собственный control plane. Это означает, что:
- У каждого устройства свой процессор, своя операционная система и свои таблицы маршрутизации / коммутации.
- Коммутаторы обмениваются только служебной информацией по выделенному каналу (ICL — Inter-Chassis Link / peer-link), но не синхронизируют всё состояние полностью.
- При отказе одного из коммутаторов второй продолжает работать автономно, что даёт высокую отказоустойчивость.
Настройка выполняется на каждом коммутаторе #
Из-за раздельного control plane все изменения конфигурации не синхронизируются автоматически между устройствами. Это ключевое отличие от стеков, где достаточно сконфигурировать мастер и изменения применяются ко всем участникам.
При настройке MLAG на MikroTik (и большинстве других вендоров) нужно помнить:
- Каждый коммутатор настраивается отдельно — через CLI, WinBox или WebFig.
- Если вы меняете параметры MLAG-домена, peer-link, LACP-интерфейсы или VLAN-ы, изменения нужно вносить на обоих коммутаторах.
- Адреса управления, системные ID, приоритеты MLAG, настройки ICL и параметры LACP-групп — всё это конфигурируется индивидуально.
Совет: выработайте привычку вести конфигурацию обоих коммутаторов параллельно или использовать систему управления конфигурациями (Ansible, Terraform и т.п.), чтобы избежать рассинхронизации и человеческих ошибок.
Настройка MLAG на коммутаторах MikroTik CRS326-4C+20G+2Q+ #
Рассмотрим настройку MLAG на двух коммутаторах MikroTik CRS326-4C+20G+2Q+ под управлением RouterOS v7.23.1.
В качестве примера будет использоваться следующая схема:
- два коммутатора объединены между собой через Peer Link;
- к ним подключен один коммутатор доступа;
- аплинк от коммутатора доступа реализован с помощью LACP (802.3ad);
- оба физических линка одновременно активны.
MLAG позволяет двум физическим коммутаторам предоставлять подключенному устройству единый логический LACP-интерфейс. При этом каждый коммутатор сохраняет собственный control plane и независимо управляет своей частью сети.
Без MLAG коммутатор доступа может создать агрегированный канал только до одного устройства. При подключении двух линков к разным коммутаторам возникнет петля, и один из каналов будет заблокирован протоколом STP.
Использование MLAG позволяет:
- увеличить пропускную способность;
- обеспечить отказоустойчивость;
- избежать блокировки одного из каналов;
- выполнять обслуживание одного из коммутаторов без потери соединения.
Что потребуется #
Перед началом настройки необходимо:
- два коммутатора MikroTik CRS326-4C+20G+2Q+;
- RouterOS v7 с поддержкой MLAG;
- настроенный Bridge с аппаратным offload;
- отдельный интерфейс или агрегированный канал для Peer Link;
- включенный MSTP на Bridge;
- одинаковые VLAN на обоих коммутаторах.
Принцип работы #
MLAG состоит из нескольких основных компонентов:
- Peer Link — канал между двумя коммутаторами, по которому передаются служебные данные MLAG и трафик при необходимости;
- MLAG ID — идентификатор агрегированного интерфейса, который должен совпадать на обоих коммутаторах;
- LACP — используется для согласования агрегированного канала с подключенным устройством;
- Bridge — единая точка коммутации, через которую работает MLAG.
Во время работы каждый коммутатор независимо обрабатывает локальный трафик, а при отказе одного из устройств второй автоматически принимает обслуживание всех подключенных интерфейсов.
Итоговая схема #
После настройки получится следующая топология:
Peer Link
+=======================+
combo3||combo4 combo3||combo4
+-------++-------+ +-------++-------+
| CRS326-1 | | CRS326-2 |
| MLAG Primary | | MLAG Secondary |
+-------+--------+ +-------+--------+
|combo1 |combo1
| LACP |
++====================++
||
+--------++--------+
| Access Switch |
+------------------+
В результате:
- оба линка одновременно работают;
- суммарная пропускная способность увеличивается;
- при отказе одного из коммутаторов связь сохраняется;
- переключение происходит автоматически без изменения конфигурации на коммутаторе доступа.
Далее рассмотрим пошаговую настройку MLAG на обоих коммутаторах, создание Peer Link, настройку LACP и проверку работоспособности.
📌 Настройки на обоих коммутаторах одинаковые.
Используемые интерфейсы: #
| Назначение | Порты |
|---|---|
| Peer Link между MLAG-коммутаторами | combo3 + combo4 |
| Подключение Access Switch | combo1 |
| Протокол защиты от петель | MSTP |
Шаг 1. Создаем Bridge #
Создаём единый Bridge и включаем MSTP.
/interface bridge
add name=bridgeLAN protocol-mode=mstp vlan-filtering=yes
Шаг 2. Создаем Peer Link #
Для соединения между двумя коммутаторами используем агрегированный канал из портов combo3 и combo4.
Создаем LACP Bond.
/interface bonding
add name=MLAG_PeerLink mode=802.3ad slaves=combo3,combo4 transmit-hash-policy=layer-2-and-3
Добавляем Bond в Bridge.
/interface bridge port
add bridge=bridgeLAN interface=MLAG_PeerLink
Шаг 3. Создаем LACP для коммутатора доступа #
В данном примере коммутатор доступа подключается к обоим MLAG-коммутаторам через интерфейс combo1.
Для подключения создается bonding-интерфейс в режиме 802.3ad (LACP). Именно bonding выступает в роли LACP endpoint, а количество физических портов в нем зависит от используемой схемы подключения.
Создаем интерфейс:
/interface bonding
add name=combo1_po1 mlag-id=1 mode=802.3ad slaves=combo1 transmit-hash-policy=layer-2-and-3
Добавляем его в Bridge.
/interface bridge port
add bridge=bridgeLAN interface=combo1_po1
Параметр mlag-id должен иметь одинаковое значение на обоих MLAG-коммутаторах. Именно по нему RouterOS определяет, что два bonding-интерфейса являются одной логической LACP-группой и представляют единый MLAG для подключенного устройства.
Шаг 4. Включаем MLAG #
/interface bridge
set bridgeLAN mlag-peer-port=MLAG_PeerLink
Шаг 6. Настройка коммутатора доступа #
На коммутаторе доступа создается обычный LACP Bond.
Два физических коммутатора предоставляют подключенному устройству единый логический LACP endpoint.
Шаг 7. Проверка состояния MLAG #
Проверяем состояние Peer Link.
/interface bonding monitor MLAG_PeerLink
Проверяем состояние LACP.
/interface bonding monitor combo1_po1
Проверяем Bridge.
/interface bridge port print
/interface bridge port print detai
Проверяем MLAG.
/interface bridge monitor bridgeLAN
Проверка отказоустойчивости #
После завершения настройки рекомендуется проверить работу MLAG.
Проверка 1 #
Отключить питание одного из CRS326.
Ожидаемый результат:
- связь не теряется;
- LACP остается активным;
- трафик продолжает передаваться через второй коммутатор.
Проверка 2 #
Отключить один из линков Peer Link.
Ожидаемый результат:
- агрегированный канал остается работоспособным;
- MLAG продолжает функционировать.
Проверка 3 #
Отключить один из интерфейсов LACP к коммутатору доступа.
Ожидаемый результат:
- трафик продолжает передаваться через оставшийся линк;
- потеря соединения отсутствует.
Итог #
После выполнения всех шагов будет получена отказоустойчивая MLAG-конфигурация, в которой:
- два CRS326 работают как единый логический коммутатор;
- коммутатор доступа использует стандартный LACP;
- оба линка одновременно передают трафик;
- отказ одного из коммутаторов не приводит к потере связи;
- обслуживание одного устройства можно выполнять без остановки сети.