МКСЗ «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».
# 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>».
# 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»
# 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»
# 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»
# 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»
# 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»
# 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»
# 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