nicol@s Posted December 22, 2011 Posted December 22, 2011 Добрый день. Задумались о резервировании бриджей. На ум пришла такая схема: --свитч--бридж--свитч-- |_____________| Суть в том, чтобы трафик бежал в обход бриджа, в случае его выхода из строя. Используем свитчи Dlink. Первым делом попробовали настроить STP, но испытания на стенде каких-то положительных итогов не принесли. Попробовали поиграться с LACP - то же самое. Интересует как вы резервируете свои бриджи? Поделитесь, пожалуйста, опытом. Вставить ник Quote
Saab95 Posted December 22, 2011 Posted December 22, 2011 RSTP, сходимость доли секунды. Вставить ник Quote
nicol@s Posted December 22, 2011 Author Posted December 22, 2011 (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 December 22, 2011 by nicol@s Вставить ник Quote
gibbon Posted December 22, 2011 Posted December 22, 2011 Все-таки надо разрешить STP на портах config stp ports 1-24 state enable config stp ports 1-12 state disable Вставить ник Quote
nicol@s Posted December 22, 2011 Author Posted December 22, 2011 Все-таки надо разрешить STP на портах config stp ports 1-24 state enable config stp ports 1-12 state disable Прошу прощения, глупость написал :) На самом деле этих двух команд не выполнял. Пост выше отредактировал. Вставить ник Quote
nicol@s Posted December 28, 2011 Author Posted December 28, 2011 (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 December 28, 2011 by nicol@s Вставить ник Quote
Deac Posted December 28, 2011 Posted December 28, 2011 Проходит примерно 2 минуты, и образуется кольцо, связь сразу теряется.. Бридж должен пропускать BPDU от свитчей безо всякой обработки. При восстановлении линка от бриджа, трафик через бридж начинает бежать секунд через 20-30. См. hello time. Вставить ник Quote
G@riK Posted January 13, 2012 Posted January 13, 2012 Добрый день. У меня аналогичная задача, только бриждей 3 штуки. Посему вопрос: такое резервирование можно сделать с помощью RSTP или нужно использовать MSTP? Вставить ник Quote
Dyr Posted January 13, 2012 Posted January 13, 2012 Если отвечать "по форумному", то вам бы стоило прочитать про разницу между ними. ;) Если нормально, то достаточно RSTP. Глобально MSTP отличается только тем, что может оперировать несколькими instance'ами с различными vlan'ами. Вставить ник Quote
G@riK Posted January 13, 2012 Posted January 13, 2012 (edited) Спасибо. Читал и продолжаю читать... Но никак не могу понять, как с помощью RSTP реализовать эту схему, при которой бриджы независимы друг от друга. Т.е. в случае пропалания линка между свитчем1 и бриджом1 трафик должен победать через свитч1-свитч2, при этом остальной трафик должен бежать через бридж2 и бридж3. Edited January 13, 2012 by G@riK Вставить ник Quote
Dyr Posted January 13, 2012 Posted January 13, 2012 Три раза прочитал вашу фразу, схема как-то всё равно не сложилась. Нарисовать можете? Вставить ник Quote
G@riK Posted January 13, 2012 Posted January 13, 2012 (edited) |---------бридж1----------| | | |---------бридж2----------| свитч1| |свитч2 |---------бридж3----------| | | |--линк1 между св1 и св2--| |--линк2 между св1 и св2--| |--линк3 между св1 и св2--| Т.е. изначально трафик должен пробегать через свитч1, затем через соответствубщий бридж, затем в свитч2. В случае, если бридж1, например, упал, то трафик для этого бриджа должен побежать через "линк1 между св1 и св2" (либо через 1 общий линк меджу свитчами). При этом трафик для остальных бриджей должен бегать как и положено через соответсвующие бриджы. Edited January 13, 2012 by G@riK Вставить ник Quote
Dyr Posted January 13, 2012 Posted January 13, 2012 RSTP на коммутаторах и бриджах, но! Активным всегда будет только один путь. В MSTP, если правильно настроите, можно будет пустить разные вланы по разным путям, путём существенного усложнения дебага при проблемах. Вставить ник Quote
martin74 Posted January 13, 2012 Posted January 13, 2012 ммм... а зачем так сложно? оставляем между свичами один прямой линк, остальные через бриджи, поднимаем RSTP, на прямом линке минимальный приоритет. При падении одного из бриджей его траф перераспределится между существующими живыми, а прямой линк будет задействован только при падении всех бриджей... И расширять дальше проще. Хоть 10 их ставьте... Вставить ник Quote
G@riK Posted January 13, 2012 Posted January 13, 2012 (edited) Dyr А если трафик в одном вилане, просто с разными default gateway, то возможно ли при MSTP обойтись только настройкой разных instance_id? martin74 В ЧНН произойдет цепная реакция и все бриджы по очереди упадут, так что такой вариант нам не очень подходит. Edited January 13, 2012 by G@riK Вставить ник Quote
martin74 Posted January 13, 2012 Posted January 13, 2012 поставьте на один-два бриджа больше, чем надо, в чем проблема то? PS. У меня из за этого стоит 40 впн серверов. И ничего, не жужжу.... ;) Вставить ник Quote
kapa Posted January 13, 2012 Posted January 13, 2012 поставьте на один-два бриджа больше, чем надо, в чем проблема то? PS. У меня из за этого стоит 40 впн серверов. И ничего, не жужжу.... ;) Какой смысл тогда в прямом линке STP? Какова вероятность падения всех девайсов, если они ещё и загружены таким образом, что смогут выдержать нагрузку и от соседа? Вставить ник Quote
Dyr Posted January 13, 2012 Posted January 13, 2012 А если трафик в одном вилане, просто с разными default gateway, то возможно ли при MSTP обойтись только настройкой разных instance_id? Нет. MSTP оперирует vlan'ами (то есть чистый L2), про gateways (то есть L3) ему вообще ничего не известно. Используйте в этом случае динамическую маршрутизацию, она для этого и предназначена. Вставить ник Quote
martin74 Posted January 13, 2012 Posted January 13, 2012 Ну я не знаю, как у ТС, у меня pptp используется. И впн сервера нормально работают, если упадет до 30% ;) Такого не было еще ни разу, если и станет на пару часов одна впн-ка, то это никто не заметит. Разве что коннекты переподнимутся и все. А для ТС прямой линк между свичами - если все совсем плохо... Вставить ник Quote
G@riK Posted January 16, 2012 Posted January 16, 2012 Решил попробовать всё таки реализовать схему с 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) не вижу вообще никаких пакетов. Предполагаю, что что-то не так делаю на бридже. Может кто подскажет что именно? Вставить ник Quote
G@riK Posted January 20, 2012 Posted January 20, 2012 Мучения продолжаются... Исходные данные: 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 И соотвественно трафик бежит напрямую между коммутаторами. При такой настройке схема работает наоборот. Не могу найти ошибку в настройке. Может кто увидит в чём тут проблема... Вставить ник Quote
Shiva Posted January 20, 2012 Posted January 20, 2012 А зачем Вам фря в качестве ещё одного устройства? пусть пропускает тупо пакеты... Прямому линку надо поставить Cost больший, чем суммарно св1 + фря + св2. Вставить ник Quote
G@riK Posted January 20, 2012 Posted January 20, 2012 (edited) А зачем Вам фря в качестве ещё одного устройства? пусть пропускает тупо пакеты... Прямому линку надо поставить Cost больший, чем суммарно св1 + фря + св2. Правильно ли я понял, что на фре делаем просто бридж без STP, при этом прямому линку между свитчами делаем больший Cost? Но как заставить freebsd без STP пропускать bpdu-пакеты? Edited January 20, 2012 by G@riK Вставить ник Quote
s.lobanov Posted January 20, 2012 Posted January 20, 2012 Но как заставить freebsd без STP пропускать bpdu-пакеты? А они разве дропаются при выключенном stp? Вставить ник Quote
Shiva Posted January 20, 2012 Posted January 20, 2012 G@riK, если нету фильтров, то пропустит всё, на то он и бридж. В остальном правильно. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.