Инструкция по установке и настройке STP, RSTP, MSTP протоколов в роутерах iRZ серии R2 и R4

#роутеры #r2 #r4

В роутерах iRZ серий R2 и R4 изначально нет софта, отвечающего за протоколы STP, RSTP, MSTP. Для этого необходимо установить дополнительный программный пакет. Сделать это не сложно, так как необходимый функционал присутствует в web-интерфейсе роутера.

Настоятельно не рекомендуем применять данную инструкцию на прошивках роутеров старше 2020 года.

Установка пакета и предварительная настройка

По умолчанию при применении данного пакета будет использоваться протокол RSTP. Для применения другого протокола следует внести опцию с нужным протоколом в конфигурационный файл /etc/config/mstpd: option setforcevers rstp, где rstp может принимать значения [mstp|rstp|stp].

В меню настроек роутер Tools → Management → Install package необходимо указать программный пакет mstpd_X.X.X.-X_X.ipk (где под X подразумевается версия пакета и тип платформы, для которой собран пакет - R2 или R4, то есть ramips_24kec или kirkwood соответственно) и нажать клавишу Install. Будет произведена установка пакета, который необходимо будет активировать и настроить вручную из консоли роутера.

Если вы пользуетесь операционной системой Windows, то мы настоятельно не рекомендуем использовать для подключения по протоколам SSH или Telnet клоны и разновидности программы Putty, так как они некорректно работают.

Для настройки необходимо подключиться по telnet или ssh в консоль роутера и выполнить следующую последовательность действий:

  1. Включить STP протокол на LAN интерфейсе, но не применять изменения, то есть нельзя перезагружать сетевые интерфейсы, в противном случае произойдёт потеря управления роутером и придётся сбрасывать его к заводским настройкам. Для включения настройки необходимо выполнить команду:

    uci set network.lan.stp='1'
  2. Включить MSTPD, выполнив команду:

    uci set mstpd.lan.enable='1'
  3. Сохранить настройки, перезапустить сетевую подсистему и проверить, что настройки применились:

    uci commit
    
    /etc/init.d/network restart
    
    brctl show

Команда brctl show должна показать, что протокол STP включен, приблизительно так должен выглядеть вывод:

Protokol STP vklyuchen
Для назначения приоритета свитча необходима опция option treeprio 8 - это значение приоритета по умолчанию, значение изменяется в пределах от 0 до 15. Чем ниже число, тем выше приоритет свитча.

Настройка сетевой подсистемы

В данном разделе описано как настроить сетевую конфигурацию на роутерах iRZ для работы установленного в предыдущем пункте пакета.

Основной смысл настройки заключается в том, чтобы выделить каждый порт роутера в отдельный vlan и собрать их в один сетевой мост. Данная настройка необходима, так как пакет mstpd работает только на программном свитче, а все порты роутера по умолчанию включены в аппаратный свитч. Данную операцию необходимо проделать на всех задействованных роутерах iRZ.

Данную настройку невозможно произвести из web интерфейса роутера, необходимые действия следует выполнять из консоли роутера по протоколу SSH или Telnet. Подключившись в консоль роутера, выполнить команду на открытие и редактирование файла network:

vi /etc/config/network

Данная команда вызывает текстовый редактор vi, который открывает файл network по указанному адресу.

После проведённых манипуляций с конфигурационным файлом сетевых настроек роутера нельзя вносить исправления в настройки Local Network или Wired Internet из web интерфейса роутера. В противном случае произведённые настройки будут перезаписаны, что в свою очередь приведёт к нарушению работы протокола STP. Отображения произведённых настроек в web интерфейсе роутера не будет.
Если настраиваемый роутер должен подключаться к проводному доступу во внешнюю сеть, то настройки в разделе Wired Internet следует сделать до изменения конфигурации файла network.

В данном файле курсором необходимо переместиться в конец, где есть блоки данных (блоки разделены пустыми строками), начинающиеся со строк "config switch_vlan vlan_1".

Примеры

Пример 1

config switch_vlan 'vlan_1'
        option cpu_port '6'
        option ports '1 2 3 4 6t'
        option device 'switch0'
        option vid '1'
        option vlan '1'

Данный блок настроек говорит о том, что все 4 порта роутера (пример взят из конфигурации роутера серии R2) находятся в одном влане. Необходимо настроить для каждого порта свой влан и включить их в один интерфейс.

Примерно так:

config switch_vlan 'vlan_1'
        option cpu_port '6'
        option ports '1 6t'
        option device 'switch0'
        option vid '1'
        option vlan '1'

config switch_vlan 'vlan_1'
        option cpu_port '6'
        option ports '2 6t'
        option device 'switch0'
        option vid '2'
        option vlan '2'

config switch_vlan 'vlan_1'
        option cpu_port '6'
        option ports '3 6t'
        option device 'switch0'
        option vid '3'
        option vlan '3'

config switch_vlan 'vlan_1'
        option cpu_port '6'
        option ports '4 6t'
        option device 'switch0'
        option vid '4'
        option vlan '4'

Для того чтобы это сделать, необходимо:

  1. Перейти в режим редактирования нажатием клавиши i на клавиатуре

  2. Удалить блок данных (блоки разделены пустыми строками), начинающийся с "config switch_vlan vlan_1"

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

Пример 2

Следующий блок данных, который необходимо исправить, выглядит примерно так:

config interface 'lan'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option macaddr 'f0:81:af:00:94:9d'
        option auto '1'
        option ifname 'eth0.1'
        option proto 'static'
        option type 'bridge'
        option force_link '1'
        option stp '1'

Данный блок описывает сетевой мост между портами Lan сети роутера. Здесь необходимо исправить строку "option ifname eth0.1" и добавить туда интерфейсов. В итоге данный блок данных должен выглядеть приблизительно так:

config interface 'lan'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option macaddr 'f0:81:af:00:94:9d'
        option auto '1'
        option ifname 'eth0.1 eth0.2 eth0.3 eth0.4'
        option proto 'static'
        option type 'bridge'
        option force_link '1'
        option stp '1'

На этом настройка сетевой подсистемы закончена.

  1. Для выхода из режима редактирования нажать клавишу Esc на клавиатуре.

  2. Чтобы сохранить и выйти из текстового редактора, нажать сочетание клавиш Ctrl + : и набрать буквы "wq", а затем нажать Enter.

  3. Чтобы перезапустить сетевую подсистему роутера и пакета mstpd, ввести две команды:

    /etc/init.d/network restart
    
    /etc/init.d/mstpd restart
  4. Проверить работу пакета командами:

    mstpctl showport br-lan
    
    mstpctl showbridge

    Данные команды достаточно информативны для понимания того, какой порт в каком состоянии находится.