Jump to content

Recommended Posts

Posted

Добрый день.

Задумались о резервировании бриджей.

На ум пришла такая схема:

--свитч--бридж--свитч--
   |_____________|

Суть в том, чтобы трафик бежал в обход бриджа, в случае его выхода из строя.

Используем свитчи Dlink.

Первым делом попробовали настроить STP, но испытания на стенде каких-то положительных итогов не принесли. Попробовали поиграться с LACP - то же самое.

 

Интересует как вы резервируете свои бриджи? Поделитесь, пожалуйста, опытом.

Posted (edited)

RSTP, сходимость доли секунды.

Хм... Интересно...

Я настраивал так:

свитч 1 DGS362G:

config stp version rstp 
config stp maxage 20 maxhops 20 forwarddelay 15 txholdcount 6 fbpdu enable hellotime 2
config stp priority 36864 instance_id 0 
config stp mst_ports 21-24 instance_id 0 internalCost auto priority 128 
config stp ports 21-24 externalCost auto edge false p2p auto state enable
config stp ports 21-24 fbpdu enable 
config stp ports 21-24 restricted_role false 
config stp ports 21-24 restricted_tcn false

Свитч 2 DGS3612G:

config stp version rstp 
config stp maxage 20 maxhops 20 forwarddelay 15 txholdcount 6 fbpdu enable hellotime 2
config stp priority 36864 instance_id 0 
config stp mst_ports 9-12 instance_id 0 internalCost auto priority 128 
config stp ports 9-12 externalCost auto edge false p2p auto state enable
config stp ports 9-12 fbpdu enable 
config stp ports 9-12 restricted_role false 
config stp ports 9-12 restricted_tcn false

Свитч 1:

21 порт - бридж
23 порт - клиент 1

Свитч 2:

9 порт - бридж
11 порт - клиент 2

Доступ между клиентом 1 и клиентом 2 есть.

Как только соединяю свитчи:

Свитч 1 порт 24 <--> Свитч 2 порт 12

через секунд 20 начинается флуд, образуется кольцо, связь пропадает между "клиентами"...

 

Можете привести пример Вашей настройки?

Edited by nicol@s
Posted

Все-таки надо разрешить STP на портах

 

config stp ports 1-24 state enable

config stp ports 1-12 state disable

 

Прошу прощения, глупость написал :)

На самом деле этих двух команд не выполнял.

Пост выше отредактировал.

Posted (edited)

Я все никак не могу добиться 100% рабочей схемы...

Сегодня проводил очередные тесты. По совету Длинка выставил разные приоритеты на свитчах:

на одном свитче:

config stp priority 36864 instance_id 0

на втором:

config stp priority 1024 instance_id 0

Тест №1:

Трафик бежит через бридж. Свитчи соединены патчкордом. Вытыкаю оба линка от бриджа на каждом свитче, трафик через 1 сек начинает бежать в обход. root выбирается верно. Поднимаю линки от бриджа на свитчах, трафик бежит по бриджу...НО..Проходит примерно 2 минуты, и образуется кольцо, связь сразу теряется..

Тест №2:

Трафик бежит через бридж. Свитчи соединены патчкордом. Вытыкаю один линк от бриджа до любого свитча - и сразу как выше: кольцо, потеря связи.

Думал, может у меня бридж работает как ARP прокси, но

net.link.ether.inet.proxyall=0

Также выставил

net.link.ether.inet.max_age=1 (было 1500)

Но ничего не изменилось:(

 

Saab95, а у Вас RSTP на длинках?

У меня при выключении бриджа трафик начинает бежать в обход через 1 сек, примерно. При восстановлении линка от бриджа, трафик через бридж начинает бежать секунд через 20-30. Это, видимо, можно подтюнить...Но сначала завести бы эту схему...

 

Помогите найти ошибку.

Edited by nicol@s
Posted

Проходит примерно 2 минуты, и образуется кольцо, связь сразу теряется..

Бридж должен пропускать BPDU от свитчей безо всякой обработки.

 

При восстановлении линка от бриджа, трафик через бридж начинает бежать секунд через 20-30.

См. hello time.

  • 3 weeks later...
Posted

Добрый день.

 

У меня аналогичная задача, только бриждей 3 штуки.

Посему вопрос: такое резервирование можно сделать с помощью RSTP или нужно использовать MSTP?

Posted

Если отвечать "по форумному", то вам бы стоило прочитать про разницу между ними. ;)

 

Если нормально, то достаточно RSTP. Глобально MSTP отличается только тем, что может оперировать несколькими instance'ами с различными vlan'ами.

 

 

Posted (edited)

Спасибо.

Читал и продолжаю читать...

 

Но никак не могу понять, как с помощью RSTP реализовать эту схему, при которой бриджы независимы друг от друга.

Т.е. в случае пропалания линка между свитчем1 и бриджом1 трафик должен победать через свитч1-свитч2, при этом остальной трафик должен бежать через бридж2 и бридж3.

Edited by G@riK
Posted

Три раза прочитал вашу фразу, схема как-то всё равно не сложилась. Нарисовать можете?

Posted (edited)

     |---------бридж1----------|
     |                         |
     |---------бридж2----------|
свитч1|                         |свитч2
     |---------бридж3----------|
     |                         |
     |--линк1 между св1 и св2--|
     |--линк2 между св1 и св2--|
     |--линк3 между св1 и св2--|    

Т.е. изначально трафик должен пробегать через свитч1, затем через соответствубщий бридж, затем в свитч2.

В случае, если бридж1, например, упал, то трафик для этого бриджа должен побежать через "линк1 между св1 и св2" (либо через 1 общий линк меджу свитчами).

При этом трафик для остальных бриджей должен бегать как и положено через соответсвующие бриджы.

Edited by G@riK
Posted

RSTP на коммутаторах и бриджах, но! Активным всегда будет только один путь. В MSTP, если правильно настроите, можно будет пустить разные вланы по разным путям, путём существенного усложнения дебага при проблемах.

Posted

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

При падении одного из бриджей его траф перераспределится между существующими живыми, а прямой линк будет задействован только при падении всех бриджей...

И расширять дальше проще. Хоть 10 их ставьте...

Posted (edited)

Dyr

А если трафик в одном вилане, просто с разными default gateway, то возможно ли при MSTP обойтись только настройкой разных instance_id?

 

martin74

В ЧНН произойдет цепная реакция и все бриджы по очереди упадут, так что такой вариант нам не очень подходит.

Edited by G@riK
Posted

поставьте на один-два бриджа больше, чем надо, в чем проблема то?

 

PS. У меня из за этого стоит 40 впн серверов. И ничего, не жужжу.... ;)

Posted

поставьте на один-два бриджа больше, чем надо, в чем проблема то?

 

PS. У меня из за этого стоит 40 впн серверов. И ничего, не жужжу.... ;)

Какой смысл тогда в прямом линке STP?

Какова вероятность падения всех девайсов, если они ещё и загружены таким образом, что смогут выдержать нагрузку и от соседа?

Posted
А если трафик в одном вилане, просто с разными default gateway, то возможно ли при MSTP обойтись только настройкой разных instance_id?

 

Нет. MSTP оперирует vlan'ами (то есть чистый L2), про gateways (то есть L3) ему вообще ничего не известно. Используйте в этом случае динамическую маршрутизацию, она для этого и предназначена.

 

 

Posted

Ну я не знаю, как у ТС, у меня pptp используется. И впн сервера нормально работают, если упадет до 30% ;)

Такого не было еще ни разу, если и станет на пару часов одна впн-ка, то это никто не заметит. Разве что коннекты переподнимутся и все.

 

А для ТС прямой линк между свичами - если все совсем плохо...

Posted

Решил попробовать всё таки реализовать схему с mstp (для начала с одним бриджом).

     |--21-----бридж1-------9--|
свитч1|                         |свитч2
     |--24 порт-------12 порт--|

 

В качестве свитчей используются dlink 36xx

Бридж на freebsd 8.0-stable-201005

 

На свитчах настраиваю mstp так:

свитч1

disable stp
create vlan vlan101 tag 101
config vlan default delete 21,24
config vlan vlan101 add tagget 21,24
config stp version mstp 
config stp maxage 6 maxhops 20 forwarddelay 4 txholdcount 6 fbpdu enable lbd disable
create stp instance_id 1
config stp priority 8192 instance_id 1
config stp instance_id 1 add_vlan 101
config stp mst_config_id name priv revision_level 1
enable stp

 

свитч2

create vlan vlan101 tag 101
config vlan default delete 9,12
config vlan vlan101 add tagget 9,12
disable stp
config stp version mstp 
config stp maxage 6 maxhops 20 forwarddelay 4 txholdcount 6 fbpdu enable lbd disable
create stp instance_id 1
config stp priority 4096 instance_id 1
config stp instance_id 1 add_vlan 101
config stp mst_config_id name priv revision_level 1
enable stp

Т.е. настройки аналогичны, кроме приоритетов.

 

На бридже1 настроен интерфейс (с 0 приоритетом, т.е. должен выбираться рутовым):

ifconfig create bridge0
ifconfig bridge0 stp em0 stp em1
ifconfig bridge0 priority 0
ifconfig bridge0 fwddelay 4
ifconfig bridge0 maxage 6

 

В итоге рутовым выбирается свитч2 по прямому линку. На бридже (на bridge0) не вижу вообще никаких пакетов.

 

Предполагаю, что что-то не так делаю на бридже.

Может кто подскажет что именно?

Posted

Мучения продолжаются...

 

Исходные данные:

DGS3627G (FW 2.84-B25), DGS3612G (FW 2.84-B25), FreeBSD (8.0 stable 201105).

Схема как указано в предыдущем сообщении, к 3627 подключен "комп1", к 3612 "комп2".

 

Как я понимаю работу MSTP в данной схеме: трафик от "комп 1" попадает сначала на 3627, потом на бридж, потом на 3612, потом на "комп 2". Я предполагаю, что для 3627 рутовым бриджом должен быть "FreeBSD bridge". Если "FreeBSD bridge" выключится, то рутовым бриджом должен быть 3612. Согласно этому я должен дать приоритеты таким образом:

3627 - самый низкий приоритет
FreeBSD bridge - самый высокий приоритет
3612 - среднее между FreeBSD bridge и 3627

 

Настраиваю:

3627 (00-22-B0-26-C1-00):

config vlan default delete 1-27
create vlan bridge1 tag 101
config vlan bridge1 add unt 21-24
config stp version mstp
config stp mst_config_id name bridge1 revision_level 1
config stp priority 8192 instance_id 0
create stp instance_id 2
config stp instance_id 2 add_vlan 101
config stp priority 8192 instance_id 2
enable stp

3612 (00-1E-58-D9-13-00):

config vlan default delete 1-12
create vlan bridge1 tag 101
config vlan bridge1 add unt 9-12

config stp version mstp
config stp mst_config_id name bridge1 revision_level 1
config stp priority 4096 instance_id 0
create stp instance_id 2
config stp instance_id 2 add_vlan 101
config stp priority 4096 instance_id 2
enable stp

 

FreeBSD bridge:

ifconfig bridge0 stp em0 stp em1
ifconfig bridge0 priority 0
ifconfig bridge0 fwddelay 4
ifconfig bridge0 maxage 6

 

Начинаю тестирование:

1. Прямого линка между свитчами пока что нету:

3627:

STP Instance Settings
---------------------------
Instance Type          : CIST
Instance Status        : Enabled
Instance Priority      : 8192 (Bridge Priority : 8192 , SYS ID Ext : 0 )

STP Instance Operational Status
--------------------------------
Designated Root Bridge : 0    /00-15-17-8E-E7-EE
External Root Cost     : 20000
Regional Root Bridge   : 8192 /00-22-B0-26-C1-00
Internal Root Cost     : 0
Designated Bridge      : 0    /00-15-17-8E-E7-EE
Root Port              : 21
Max Age                : 6
Forward Delay          : 4
Last Topology Change   : 145
Topology Changes Count : 27
STP Instance Settings
---------------------------
Instance Type          : MSTI(2)
Instance Status        : Enabled
Instance Priority      : 8194 (Bridge Priority : 8192 , SYS ID Ext : 2 )

STP Instance Operational Status
--------------------------------
Regional Root Bridge   : 8194 /00-22-B0-26-C1-00
Internal Root Cost     : 0
Designated Bridge      : 8194 /00-22-B0-26-C1-00
Root Port              : None
Remaining Hops         : 20
Last Topology Change   : 101
Topology Changes Count : 27

Command: show stp ports 21

MSTP Port Information
----------------------
Port Index     : 21    , Hello Time: 2 /2 , Port STP : Enabled  , LBD : No
External PathCost : Auto/20000    , Edge Port : False/No , P2P : Auto /Yes
Port RestrictedRole : False,  Port RestrictedTCN : False
Port Forward BPDU : Enabled
MSTI   Designated Bridge   Internal PathCost  Prio  Status      Role
-----  ------------------  -----------------  ----  ----------  ----------
0      0000/0015178EE7EE   20000              128   Forwarding  Root
2      2002/0022B026C100   20000              128   Forwarding  Master

На "FreeBSD bridge" tcpdump`ом вижу трафик. Тут мне непонятно, почему в Instance Type: CIST я вижу рутовый портв, а в Instance Type : MSTI(2) - нет.

 

2. Подключаю прямой линк:

3627:

STP Instance Settings
---------------------------
Instance Type          : CIST
Instance Status        : Enabled
Instance Priority      : 8192 (Bridge Priority : 8192 , SYS ID Ext : 0 )

STP Instance Operational Status
--------------------------------
Designated Root Bridge : 0    /00-15-17-8E-E7-EE
External Root Cost     : 20000
Regional Root Bridge   : 4096 /00-1E-58-D9-13-00
Internal Root Cost     : 20000
Designated Bridge      : 4096 /00-1E-58-D9-13-00
Root Port              : 24
Max Age                : 6
Forward Delay          : 4
Last Topology Change   : 387
Topology Changes Count : 26

STP Instance Settings
---------------------------
Instance Type          : MSTI(2)
Instance Status        : Enabled
Instance Priority      : 8194 (Bridge Priority : 8192 , SYS ID Ext : 2 )

STP Instance Operational Status
--------------------------------
Regional Root Bridge   : 4098 /00-1E-58-D9-13-00
Internal Root Cost     : 20000
Designated Bridge      : 4098 /00-1E-58-D9-13-00
Root Port              : 24
Remaining Hops         : 19
Last Topology Change   : 473
Topology Changes Count : 26

Command: show stp ports 24

MSTP Port Information
----------------------
Port Index     : 24    , Hello Time: 2 /2 , Port STP : Enabled  , LBD : No
External PathCost : Auto/20000    , Edge Port : False/No , P2P : Auto /Yes
Port RestrictedRole : False,  Port RestrictedTCN : False
Port Forward BPDU : Enabled
MSTI   Designated Bridge   Internal PathCost  Prio  Status      Role
-----  ------------------  -----------------  ----  ----------  ----------
0      1000/001E58D91300   20000              128   Forwarding  Root
2      1002/001E58D91300   20000              128   Forwarding  Root

Command: show stp ports 21

MSTP Port Information
----------------------
Port Index     : 21    , Hello Time: 2 /2 , Port STP : Enabled  , LBD : No
External PathCost : Auto/20000    , Edge Port : False/No , P2P : Auto /Yes
Port RestrictedRole : False,  Port RestrictedTCN : False
Port Forward BPDU : Enabled
MSTI   Designated Bridge   Internal PathCost  Prio  Status      Role
-----  ------------------  -----------------  ----  ----------  ----------
0      0000/0015178EE7EE   20000              128   Discarding  Alternate
2      2002/0022B026C100   20000              128   Discarding  Alternate

3612:

STP Instance Settings
---------------------------
Instance Type          : CIST
Instance Status        : Enabled
Instance Priority      : 4096 (Bridge Priority : 4096 , SYS ID Ext : 0 )

STP Instance Operational Status
--------------------------------
Designated Root Bridge : 0    /00-15-17-8E-E7-EE
External Root Cost     : 20000
Regional Root Bridge   : 4096 /00-1E-58-D9-13-00
Internal Root Cost     : 0
Designated Bridge      : 0    /00-15-17-8E-E7-EE
Root Port              : 9
Max Age                : 6
Forward Delay          : 4
Last Topology Change   : 510
Topology Changes Count : 11

STP Instance Settings
---------------------------
Instance Type          : MSTI(2)
Instance Status        : Enabled
Instance Priority      : 4098 (Bridge Priority : 4096 , SYS ID Ext : 2 )

STP Instance Operational Status
--------------------------------
Regional Root Bridge   : 4098 /00-1E-58-D9-13-00
Internal Root Cost     : 0
Designated Bridge      : 4098 /00-1E-58-D9-13-00
Root Port              : None
Remaining Hops         : 20
Last Topology Change   : 532
Topology Changes Count : 11


Command: show stp ports 9

MSTP Port Information
----------------------
Port Index     : 9     , Hello Time: 2 /2 , Port STP : Enabled  , LBD : No
External PathCost : Auto/20000    , Edge Port : False/No , P2P : Auto /Yes
Port RestrictedRole : False,  Port RestrictedTCN : False
Port Forward BPDU : Enabled
MSTI   Designated Bridge   Internal PathCost  Prio  Status      Role
-----  ------------------  -----------------  ----  ----------  ----------
0      0000/0015178EE7EE   20000              128   Forwarding  Root
2      1002/001E58D91300   20000              128   Forwarding  Master


Command: show stp ports 12

MSTP Port Information
----------------------
Port Index     : 12    , Hello Time: 2 /2 , Port STP : Enabled  , LBD : No
External PathCost : Auto/20000    , Edge Port : False/No , P2P : Auto /Yes
Port RestrictedRole : False,  Port RestrictedTCN : False
Port Forward BPDU : Enabled
MSTI   Designated Bridge   Internal PathCost  Prio  Status      Role
-----  ------------------  -----------------  ----  ----------  ----------
0      1000/001E58D91300   20000              128   Forwarding  Designated
2      1002/001E58D91300   20000              128   Forwarding  Designated

И соотвественно трафик бежит напрямую между коммутаторами.

При такой настройке схема работает наоборот. Не могу найти ошибку в настройке.

Может кто увидит в чём тут проблема...

Posted

А зачем Вам фря в качестве ещё одного устройства? пусть пропускает тупо пакеты... Прямому линку надо поставить Cost больший, чем суммарно св1 + фря + св2.

Posted (edited)

А зачем Вам фря в качестве ещё одного устройства? пусть пропускает тупо пакеты... Прямому линку надо поставить Cost больший, чем суммарно св1 + фря + св2.

 

Правильно ли я понял, что на фре делаем просто бридж без STP, при этом прямому линку между свитчами делаем больший Cost?

Но как заставить freebsd без STP пропускать bpdu-пакеты?

Edited by G@riK

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.