Настройка протокола STP (Spanning Tree Protocol)
МКСЗ «Diamond VPN/FW» поддерживает работу протокола STP (Spanning Tree Protocol). Протокол STP доступен на сетевых интерфейсах, которые работаю в режиме Bridge. Для настройки протокола STP необходимо подключиться к устройству по протоколу ssh и выполнить команду «brctl show». В консоли будет отображена информация о сетевом интерфейсе, который работает в режиме Bridge, а также информация о подчиненных сетевых интерфейсах. По умолчанию протокол STP выключен.
# brctl show bridge name bridge id STP enabled interfaces br 8000.00900b9414a4 no enp15s0 enp16s0
Для отображения всех доступных команд необходимо выполнить команду «brctl» (см. рисунок 22).
# brctl Usage: brctl [commands] commands: addbr <bridge> add bridge delbr <bridge> delete bridge addif <bridge> <device> add interface to bridge delif <bridge> <device> delete interface from bridge hairpin <bridge> <port> {on|off} turn hairpin on/off setageing <bridge> <time> set ageing time setbridgeprio <bridge> <prio> set bridge priority setfd <bridge> <time> set bridge forward delay sethello <bridge> <time> set hello time setmaxage <bridge> <time> set max message age setpathcost <bridge> <port> <cost> set path cost setportprio <bridge> <port> <prio> set port priority show [ <bridge> ] show a list of bridges showmacs <bridge> show a list of mac addrs showstp <bridge> show bridge stp info stp <bridge> {on|off} turn stp on/off
Для включения протокола STP на сетевом интерфейсе в режиме бридж необходимо выполнить команду «brctl stp <interface_bridge_name> on» (см. рисунок 23). При включении протокола STP на сетевом интерфейсе параметр «STP enabled» изменит значение с «no» на «yes».
# brctl show br bridge name bridge id STP enabled interfaces br 8000.00900b9414a4 no enp15s0 enp16s0 # brctl stp br on # brctl show br bridge name bridge id STP enabled interfaces br 8000.00900b9414a4 yes enp15s0 enp16s0
Для просмотра информации о текущих настройках протокола STP на сетевом интерфейсе необходимо ввести команду «brctl showstp <bridge_interface_name>» (см. рисунок 24).
# brctl showstp br br bridge id 8000.00900b9414a4 designated root 8000.00900b9414a4 root port 0 path cost 0 max age 20.00 bridge max age 20.00 hello time 2.00 bridge hello time 2.00 forward delay 15.00 bridge forward delay 15.00 ageing time 300.00 hello timer 0.92 tcn timer 0.00 topology change timer 0.00 gc timer 178.97 flags enp15s0 (1) port id 8001 state disabled designated root 8000.00900b9414a4 path cost 100 designated bridge 8000.00900b9414a4 message age timer 0.00 designated port 8001 forward delay timer 0.00 designated cost 0 hold timer 0.00 flags enp16s0 (2) port id 8002 state disabled designated root 8000.00900b9414a4 path cost 100 designated bridge 8000.00900b9414a4 message age timer 0.00 designated port 8002 forward delay timer 0.00 designated cost 0 hold timer 0.00 flags
Для изменения приоритета устройства «bridge id» необходимо ввести команду «brctl setbridgeprio <bridge_interface_name> 1» (см. рисунок 25).
# brctl showstp br br bridge id 8000.00900b9414a4 designated root 8000.00900b9414a4 ... ... ... # brctl showstp br br bridge id 0001.00900b9414a4 designated root 0001.00900b9414a4
Для изменения временного интервала «hello time» необходимо ввести команду «brctl sethello <bridge_interface_name> 3» (см. рисунок 26).
# brctl showstp br br bridge id 0001.00900b9414a4 designated root 0001.00900b9414a4 root port 0 path cost 0 max age 20.00 bridge max age 20.00 hello time 2.00 bridge hello time 2.00 forward delay 15.00 bridge forward delay 15.00 ... ... ... # brctl sethello br 5 # brctl showstp br br bridge id 0001.00900b9414a4 designated root 0001.00900b9414a4 root port 0 path cost 0 max age 20.00 bridge max age 20.00 hello time 5.00 bridge hello time 5.00 forward delay 15.00 bridge forward delay 15.00
Для изменения временного интервала «ageing time» необходимо ввести команду «brctl setageing <bridge_interface_name> 250» (см. рисунок 27)
# brctl showstp br br bridge id 0001.00900b9414a4 designated root 0001.00900b9414a4 root port 0 path cost 0 max age 20.00 bridge max age 20.00 hello time 5.00 bridge hello time 5.00 forward delay 15.00 bridge forward delay 15.00 ageing time 300.00 hello timer 0.26 tcn timer 0.00 topology change timer 0.00 gc timer 94.07 ... ... ... # brctl setageing br 250 # brctl showstp br br bridge id 0001.00900b9414a4 designated root 0001.00900b9414a4 root port 0 path cost 0 max age 20.00 bridge max age 20.00 hello time 5.00 bridge hello time 5.00 forward delay 15.00 bridge forward delay 15.00 ageing time 250.00 hello timer 0.61 tcn timer 0.00 topology change timer 0.00 gc timer 239.15
Для изменения временного интервала «max age time» необходимо ввести команду «brctl setmaxage <bridge_interface_name> 25» (см. рисунок 28).
# brctl showstp br br bridge id 0001.00900b9414a4 designated root 0001.00900b9414a4 root port 0 path cost 0 max age 20.00 bridge max age 20.00 hello time 5.00 bridge hello time 5.00 ... ... ... # brctl setmaxage br 25 # brctl showstp br br bridge id 0001.00900b9414a4 designated root 0001.00900b9414a4 root port 0 path cost 0 max age 25.00 bridge max age 25.00 hello time 5.00 bridge hello time 5.00
Для изменения параметра «path cost» необходимо ввести команду «brctl setpathcost <br_interface_name> <slave_interface_name> 90» (см. рисунок 29).
# brctl show bridge name bridge id STP enabled interfaces br 0001.00900b9414a4 yes enp15s0 enp16s0 # brctl showstp br br bridge id 0001.00900b9414a4 designated root 0001.00900b9414a4 enp15s0 (1) port id 8001 state disabled designated root 8000.00900b9414a4 path cost 100 designated bridge 8000.00900b9414a4 message age timer 0.00 designated port 8001 forward delay timer 0.00 designated cost 0 hold timer 0.00 flags ... ... ... # brctl setpathcost br enp15s0 90 # # brctl showstp br br bridge id 0001.00900b9414a4 designated root 0001.00900b9414a4 enp15s0 (1) port id 8001 state disabled designated root 8000.00900b9414a4 path cost 90 designated bridge 8000.00900b9414a4 message age timer 0.00 designated port 8001 forward delay timer 0.00 designated cost 0 hold timer 0.00
Для изменения параметра «port priority» необходимо ввести команду «brctl setportprio <br_interface_name> <slave_interface_name> 50» (см. рисунок 30).
# brctl showstp br br bridge id 0001.00900b9414a4 designated root 0001.00900b9414a4 enp15s0 (1) port id **8001** state disabled designated root 8000.00900b9414a4 path cost 90 designated bridge 8000.00900b9414a4 message age timer 0.00 designated port 8001 forward delay timer 0.00 designated cost 0 hold timer 0.00 ... ... ... # brctl setportprio br enp15s0 10 # brctl showstp br br bridge id 0001.00900b9414a4 designated root 0001.00900b9414a4 enp15s0 (1) port id **2801** state disabled designated root 8000.00900b9414a4 path cost 90 designated bridge 8000.00900b9414a4 message age timer 0.00 designated port 8001 forward delay timer 0.00 designated cost 0 hold timer 0.00