Перейти к основному содержимому

Настройка MLAG на коммутаторах MikroTik

·1151 слово·6 минут
DevOps • Networks • Security • Infrastructure
Автор
DevOps • Networks • Security • Infrastructure
DevOps/Network/Infra Engineer, CyberSecurity Expert

Рано или поздно любой администратор сталкивается с задачей повышения надёжности сетевой инфраструктуры. Один коммутатор — это единая точка отказа, а узкий канал между оборудованием может стать бутылочным горлышком. Для решения первой проблемы обычно используют резервирование на уровне 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;
  • оба линка одновременно передают трафик;
  • отказ одного из коммутаторов не приводит к потере связи;
  • обслуживание одного устройства можно выполнять без остановки сети.

Related

Быстрый дебаг OpenVPN на MikroTik
·345 слов·2 минут
Настройка Policy Based Routing (PBR)
·1624 слов·8 минут
Как обновить прошивку на MikroTik
·425 слов·2 минут