Digi AnywhereUSB 24 Plus : Настройка Ethernet bonding в режиме Active-Backup

Digi AnywhereUSB 24 Plus Configuring Ethernet network bonding in Active-Backup modeПервичная настройка и ввод в эксплуатацию USB-концентраторов Digi AnywhereUSB Plus может вызвать некоторые затруднения, так как официальная документация, предоставляемая вендором, оставляет желать лучшего с точки зрения полноты и однозначности трактовок. Поэтому мы сделаем ряд заметок, в которых будут освещены некоторые возможные проблемы и нюансы для данного типа устройств. В этой заметке мы поговорим про то, как настроить Ethernet bonding для повышения сетевой доступности на устройстве Digi AnywhereUSB 24 Plus.

Стоит отметить тот факт, что предыдущее поколение многопортовых концентраторов в виде модели AnywhereUSB/14 G2 тоже поддерживает избыточное подключение к сети через два физических сетевых порта, работающих в режиме Active-Backup. Однако, настройка такого подключения, на мой взгляд, была интуитивно понятной и не вызывала никаких вопросов даже без чтения документации на продукт. В новой же модели AnywhereUSB 24 Plus интерфейс управления полностью переработан и, несмотря на обилие новых возможностей и опций, довольно скудно и поверхностно документирован. Это не редко может приводить к ситуациям в духе "давайте включим/настроим/выключим эту опцию и посмотрим что произойдёт" или "хм ... так не работает ... а давайте попробуем так ... ой, всё вломалось".

Если говорить конкретно относительно настройки Ethernet bonding, то заглянув в заметки к выпускам версий Firmware, почитав официальный FAQ и полистав формы Digi, возникает впечатление, что с этим делом творится какая-то вакханалия. Написанная, по всей видимости, к старым релизам Firmware документация AnywhereUSB Plus User Guide (которая уже не походит к актуальной версии прошивки), как бы предполагает, что изначально bonding-функционал работал. Потом по свидетельствам очевидцев стало понятно, что этот механизм, так как он задумывался изначально, после очередного обновления работать перестал. При этом в базе знаний Digi добавили отдельную статью: After upgrading to DAL, is ETH bonding (Redundancy and Load Balance) lost for Anywhere USB 24 plus?, где предлагается некий "костыль" для тех, кто оказался на версиях Firmware от 19.11 до 20.8 – настраивать метрики на интерфейсах концентратора и включать автопоиск потерянного линка на стороне клиентского драйвера. Далее, с выходом более новых версий прошивки в KB появляется ещё одна статья Ethernet bonding configuration on Digi AWUSB Plus, где уже появляется некоторое прояснение. Здесь описаны 2 режима работы Ethernet bonding - Active-Backup и Round-robin. Режим Round-robin описан с небольшим энтузиазмом и без внятных рекомендаций по построению агрегированных линков на стороне сетевых коммутаторов с единственным замечанием о том, что LACP не поддерживается. На этом фоне более простым и внятным выглядит режим Active-Backup, который по сути был представлен и в предыдущей линейке устройств AnywhereUSB/14 G2. Именно этот режим мы и будем использовать в нашем примере.

Прежде, чем приступить к настройке устройства, обновляем Firmware до актуальной версии. На момент написания заметки это версия 21.8.24.129 (13.09.2021).

Подключаем оба физических Ethernet порта ETH1 и ETH2 к одному или двум разным сетевым коммутаторам (в нашем случае логичней подключить каждый из портов в отдельный коммутатор).

При первоначальной настройке подключать порты концентратора проще всего в те порты коммутаторов, где доступен сетевой обмен с DHCP сервером. В таком случае оба интерфейса ETH1 и ETH2 получат по отдельному адресу на DHCP-сервере. При регистрации аренды адреса в DHCP в качестве имени хоста будет фигурировать серийный номер концентратора вида AW24-001234.

Открываем в браузере любой из полученный на DHCP адресов по простой ссылке вида https://AW24-001234. Переходим в раздел изменения настроек, выбрав в верхнем меню System > Configuration - Device Configuration.

Digi AnywhereUSB 24 Plus - Device Configuration

Здесь перед нами откроется страница с разными разделами конфигурации. Каждый из разделов содержит вложенные подразделы и может иметь несколько уровней вложенности.

Чтобы в дальнейшем не "отрубить сук, на котором мы сидим", важно все описанные дальнейшие настройки изменения конфигурации сети выполнить от начала и до конца последовательно, и нажать кнопку сохранения конфигурации только в самом конце, когда всё будет готово.

Последовательность действий будет такой:

  1. Создаём новое виртуальное Bond-устройство с привязкой к нему физических портов ETH1 и ETH2;
  2. Создаём новый сетевой интерфейс с привязкой к Bond-устройству и настраиваем для него параметры IP;
  3. Отключаем настройки IP для интерфейсов, ассоциированных с портами ETH1 и ETH2;
  4. Сохраняем конфигурацию и проверяем работу Bond-а.

Пока я разбирался с тем, как правильней настроить Bond, прошёлся по одним неприятным "граблям", которые потом отняли дополнительное время на разбор ситуации. Замечено, что если сделать имя Bond-устройства в верхнем регистре, а также потом создать в верхнем регистре имя ассоциированного с ним интерфейса, то после применения настроек мы можем полностью потерять сетевой доступ к концентратору. То есть, по всей видимости, при использовании верхнего регистра конфигурация не может адекватно работать и это приводит к необходимости сброса настроек концентратора с помощью кнопки Reset (расположена на правой боковой части корпуса). Разумеется, в документации о регистрозависимости нет ни слова, а наличие устройств ETH1/ETH2 в верхнем регистре, как бы намекает на то, что это допустимо.

Итак, первым делом нам нужно создать новое виртуальное Bond-устройство. Для этого перейдём в Network > Ethernet bonding. В окно Add впишем имя Bond-устройства, например "vbond", и нажмём кнопку "+".

Digi AnywhereUSB 24 Plus - Create Network Bond

Выберем режим работы Bond-а, и ниже, во вложенном подразделе Devices с помощью кнопки Add Device добавим физические порты ETH1 и ETH2. В нашем примере используется режим Active-Backup, который не требует дополнительной настройки на стороне сетевых коммутаторов. При этом режиме один из интерфейсов всегда выполняет роль master-интерфейса и активен, а второй интерфейс выполняет роль slave-интерфейса и не используется для передачи данных. Как только master-интерфейс теряет соединение с сетью, slave-интерфейс пытается взять на себя роль master-интерфейса и возобновить передачу данных.

Digi AnywhereUSB 24 Plus - Add Bond Devices

Далее, сворачиваем раздел Ethernet bonding и переходим выше в раздел Network > Interfaces. В нижней части раздела вводим имя для вновь создаваемого сетевого интерфейса, например, "Bond" и нажимаем кнопку "+".

Digi AnywhereUSB 24 Plus - Add Bond Interface

Появится раздел настроек нового интерфейса, в котором нам, как минимум, в Device нужно выбрать ассоциированное Bond-устройство, которое мы создали ранее. Для созданного интерфейса появится возможность настроек IP, где мы сможем задать IP-адрес, который будет назначен на наш Bond-интерфейс.

Digi AnywhereUSB 24 Plus - Connect Bond Device to Bond Interface

Развернём настройки в подразделе IPv4 и зададим IP адрес с маской подсети, адрес шлюза. Если развернуть ещё один вложенный подраздел DNS servers, то здесь можно задать IP адресы DNS серверов, которые будут использоваться данным интерфейсом.

Digi AnywhereUSB 24 Plus - Bond Interface IPv4 Settings

Настройки протокола в подразделе IPv6 можно полностью выключить, если данный протокол у вас не используется.

Теперь нам осталось очистить текущие настройки IP для интерфейсов, ассоциированных с портами ETH1 и ETH2. Напомню, что в нашем случае в конфигурации по умолчанию оба интерфейса получили динамический IP адрес с DHCP и теперь нам нужно избавиться от этих настроек.

Чтобы не запутаться в дереве разделов, сворачиваем все разделы и по прядку переходим в Network > Interfaces > ETH1 > IPv4 и выключаем протокол IPv4 переключателем Enable. Здесь важно ничего не напутать, и не отключить сам интерфейс ETH1.

Digi AnywhereUSB 24 Plus - Disable IPv4 in Interface ETH1

Также можем отключить и протокол IPv6 для интерфейса ETH1.

Далее, сворачиваем настройки интерфейса ETH1, разворачиваем настройки интерфейса ETH2 в Network > Interfaces > ETH2 и по аналогии отключаем протоколы IPv4 и IPv6.

Digi AnywhereUSB 24 Plus - Disable IPv4 in Interface ETH2

Теперь настало время применить все сделанные сетевые настройки кнопкой Apply в правом верхнем углу веб-страницы.

Digi AnywhereUSB 24 Plus - Apply Device Configuration

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

Digi AnywhereUSB 24 Plus - Authetication - Idle timeout

После успешного применения настроек мы потеряем связь с веб-интерфейсом, так как концентратор переконфигурирует свои сетевые настройки с ранее полученного по DHCP IP-адреса на статический IP-адрес, который мы задали в свойствах Bond-интерфейса.

Если всё сделано правильно, то мы сможем повторно переподключиться к веб-интерфейсу управления по IP-адресу Bond-интерфейса и в Dashboard увидим, следующую картину:

Digi AnywhereUSB 24 Plus - Network Interfaces with Bond in Dashboard

Теперь нам только остаётся проверить работоспособность Bond-а, например, запустив непрерывный ping до IP адреса концентратора и затем поочерёдно попробовав отключать патч-корды на портах ETH1 и ETH2.

Добавить комментарий