Jump to content
Калькуляторы

DES-3200-18 проблемы с MSTP (порт в state discarding)

Имеется следующая топология:
Cisco Catalyst 4503E (Root) ---> Cisco Catalyst 2960-48PST-S ---> DGS-1210-52MP/ME ---> DES-3200-52 -X-> DES-3200-18

Немного предыстории. Изначально, никакого STP настроено не было, за исключением оборудования Cisco. Затем, в следствии ремонта, возникли петли, которые долго разгребали, тут же вспомнили про Loopdetect, STP и так далее. В связи с мультивендорной сетью, было принято использовать MSTP. Cisco Catalyst 4503E является ядром сети. От него идёт несколько веток, решили настраивать постепенно, по одной ветке. Проблема возникла сразу же на первой ветке.

И всё в принципе настраивалось прекрасно, пока не дошла очередь до DES-3200-18. После настройки и включения, он просто перестал быть доступным, и всё ПК что были в него подключены, аналогично потеряли доступ до сети. В ходе диагностики, было выявлено, что на DES-3200-52, порт смотрящий в сторону DES-3200-18 state discarding role designated. На самом же 3200-18 порт forwarding.

Решили не мучать пользователей, отключили STP на DES-3200-18, и собрали следующую схему-стенд, в DGS-1210-52MP/ME (боевой коммутатор) воткнули последовательно два DGS-1210-52/ME, и затем такой же DES-3200-18, настроили аналогичным образом, и такая же ситуация что и в прошлый раз. Порт в discarding.

Cisco Catalyst 4503E (Root) ---> Cisco Catalyst 2960-48PST-S ---> DGS-1210-52MP/ME ---> DGS-1210-52/ME(стендовый) ---> DGS-1210-52/ME(стендовый) -X-> DES-3200-18(стендовый)

Заметили следующую особенность, если взять, и последний DGS-1210-52/ME отключить от его соседа, то есть оставить соединённые между собой только два коммутатора 1210-52 и 3200-18, то порт на 1210-52 тут же переходит в состояние forwarding.

Думал, что может где-то ошибся с конфигурацией, ещё что-то. Пересмотрел всё на много, раз, тайминги одинаковы, наименование конфигураций одинаково, все vlan в одной instance – 0, во всех коммутаторах, которые работают – root один, Designated Root Bridge – верные (то есть топология дерева соответствует задуманной).

 

Части конфигурации касающиеся STP, Loopdetect и BPDU Guard.

DGS-1210-52/ME:
 

Скрытый текст

 

# Loopback Detection
enable loopdetect
config loopdetect mode portbase
config loopdetect interval_time 10
config loopdetect lbd_recover_time 0
config loopdetect ports 1 state enable
config loopdetect ports 2 state enable
config loopdetect ports 3 state enable
config loopdetect ports 4 state enable
config loopdetect ports 5 state enable
config loopdetect ports 6 state enable
config loopdetect ports 7 state enable
config loopdetect ports 8 state enable
config loopdetect ports 9 state enable
config loopdetect ports 10 state enable
config loopdetect ports 11 state enable
config loopdetect ports 12 state enable
config loopdetect ports 13 state enable
config loopdetect ports 14 state enable
config loopdetect ports 15 state enable
config loopdetect ports 16 state enable
config loopdetect ports 17 state enable
config loopdetect ports 18 state enable
config loopdetect ports 19 state enable
config loopdetect ports 20 state enable
config loopdetect ports 21 state enable
config loopdetect ports 22 state enable
config loopdetect ports 23 state enable
config loopdetect ports 24 state enable
config loopdetect ports 25 state enable
config loopdetect ports 26 state enable
config loopdetect ports 27 state enable
config loopdetect ports 28 state enable
config loopdetect ports 29 state enable
config loopdetect ports 30 state enable
config loopdetect ports 31 state enable
config loopdetect ports 32 state enable
config loopdetect ports 33 state enable
config loopdetect ports 34 state enable
config loopdetect ports 35 state enable
config loopdetect ports 36 state enable
config loopdetect ports 37 state enable
config loopdetect ports 38 state enable
config loopdetect ports 39 state enable
config loopdetect ports 40 state enable
config loopdetect ports 41 state enable
config loopdetect ports 42 state enable
config loopdetect ports 43 state enable
config loopdetect ports 44 state enable
config loopdetect ports 45 state enable
config loopdetect ports 46 state enable

 

# STP
enable stp
config stp version mstp
config stp priority 12288 instance_id 0
config stp txholdcount 6 maxage 20 forwarddelay 15 maxhops 20
config stp nni_bpdu_addr dot1d
config stp fbpdu enable
config stp ports 1-46 externalcost auto edge auto restricted_tcn false restricted_role false p2p auto state disable priority 128 hellotime 2 fbpdu disable
config stp ports 1-46 loop_guard disable
config stp ports 47-52 externalcost auto edge auto restricted_tcn false restricted_role false p2p auto state enable priority 128 hellotime 2 fbpdu enable
config stp ports 47-52 loop_guard enable
config stp mst_config_id name BGKB revision_level 0
config stp mst_ports 1 instance_id 0 internalCost auto priority 128
config stp mst_ports 2 instance_id 0 internalCost auto priority 128
config stp mst_ports 3 instance_id 0 internalCost auto priority 128
config stp mst_ports 4 instance_id 0 internalCost auto priority 128
config stp mst_ports 5 instance_id 0 internalCost auto priority 128
config stp mst_ports 6 instance_id 0 internalCost auto priority 128
config stp mst_ports 7 instance_id 0 internalCost auto priority 128
config stp mst_ports 8 instance_id 0 internalCost auto priority 128
config stp mst_ports 9 instance_id 0 internalCost auto priority 128
config stp mst_ports 10 instance_id 0 internalCost auto priority 128
config stp mst_ports 11 instance_id 0 internalCost auto priority 128
config stp mst_ports 12 instance_id 0 internalCost auto priority 128
config stp mst_ports 13 instance_id 0 internalCost auto priority 128
config stp mst_ports 14 instance_id 0 internalCost auto priority 128
config stp mst_ports 15 instance_id 0 internalCost auto priority 128
config stp mst_ports 16 instance_id 0 internalCost auto priority 128
config stp mst_ports 17 instance_id 0 internalCost auto priority 128
config stp mst_ports 18 instance_id 0 internalCost auto priority 128
config stp mst_ports 19 instance_id 0 internalCost auto priority 128
config stp mst_ports 20 instance_id 0 internalCost auto priority 128
config stp mst_ports 21 instance_id 0 internalCost auto priority 128
config stp mst_ports 22 instance_id 0 internalCost auto priority 128
config stp mst_ports 23 instance_id 0 internalCost auto priority 128
config stp mst_ports 24 instance_id 0 internalCost auto priority 128
config stp mst_ports 25 instance_id 0 internalCost auto priority 128
config stp mst_ports 26 instance_id 0 internalCost auto priority 128
config stp mst_ports 27 instance_id 0 internalCost auto priority 128
config stp mst_ports 28 instance_id 0 internalCost auto priority 128
config stp mst_ports 29 instance_id 0 internalCost auto priority 128
config stp mst_ports 30 instance_id 0 internalCost auto priority 128
config stp mst_ports 31 instance_id 0 internalCost auto priority 128
config stp mst_ports 32 instance_id 0 internalCost auto priority 128
config stp mst_ports 33 instance_id 0 internalCost auto priority 128
config stp mst_ports 34 instance_id 0 internalCost auto priority 128
config stp mst_ports 35 instance_id 0 internalCost auto priority 128
config stp mst_ports 36 instance_id 0 internalCost auto priority 128
config stp mst_ports 37 instance_id 0 internalCost auto priority 128
config stp mst_ports 38 instance_id 0 internalCost auto priority 128
config stp mst_ports 39 instance_id 0 internalCost auto priority 128
config stp mst_ports 40 instance_id 0 internalCost auto priority 128
config stp mst_ports 41 instance_id 0 internalCost auto priority 128
config stp mst_ports 42 instance_id 0 internalCost auto priority 128
config stp mst_ports 43 instance_id 0 internalCost auto priority 128
config stp mst_ports 44 instance_id 0 internalCost auto priority 128
config stp mst_ports 45 instance_id 0 internalCost auto priority 128
config stp mst_ports 46 instance_id 0 internalCost auto priority 128
config stp mst_ports 47 instance_id 0 internalCost auto priority 128
config stp mst_ports 48 instance_id 0 internalCost auto priority 128
config stp mst_ports 49 instance_id 0 internalCost auto priority 128
config stp mst_ports 50 instance_id 0 internalCost auto priority 128
config stp mst_ports 51 instance_id 0 internalCost auto priority 128
config stp mst_ports 52 instance_id 0 internalCost auto priority 128
config stp trap new_root disable
config stp trap topo_change disable


# BPDU Attack Protection
enable bpdu_protection
config bpdu_protection recovery_timer 1000000
config bpdu_protection ports 1-46 state enable mode shutdown
config bpdu_protection ports 1-46 state enable non_stp_bpdu disable
config bpdu_protection ports 47-52 state disable mode shutdown
config bpdu_protection ports 47-52 state disable non_stp_bpdu disable
config bpdu_protection trap none
config bpdu_protection log both

 

 

DES-3200-18:
 

Скрытый текст

 

# LOOP_DETECT

enable loopdetect
config loopdetect recover_timer 0
config loopdetect interval 10
config loopdetect mode port-based
config loopdetect trap none
config loopdetect ports 1-16 state enabled
config loopdetect ports 17-18 state disabled

 

# STP

config stp version mstp
config stp maxage 20 maxhops 20 forwarddelay 15 txholdcount 6 fbpdu enable
config stp nni_bpdu_addr dot1d
config stp priority 12288 instance_id 0
config stp mst_config_id name BGKB revision_level 0
config stp ports 1-16 externalCost auto hellotime 2 edge true p2p auto state disable
config stp ports 1-18 hellotime 2
config stp mst_ports 1-18 instance_id 0 internalCost auto priority 128
config stp ports 1-16 fbpdu disable
config stp ports 1-18 restricted_role false
config stp ports 1-18 restricted_tcn false
config stp loop_guard ports 1-16 state disable
config stp ports 17-18 externalCost auto hellotime 2 edge true p2p auto state enable
config stp ports 17-18 fbpdu enable
config stp loop_guard ports 17-18 state enable
enable stp

 

# BPDU_TUNNEL

config bpdu_tunnel ports all type none
disable bpdu_tunnel

# BPDU_PROTECTION

enable bpdu_protection
config bpdu_protection recovery_timer infinite
config bpdu_protection ports 1-16 state enable
config bpdu_protection ports 1-18 mode shutdown

 

 

Share this post


Link to post
Share on other sites

Знаете, почему на форуме д-линка первый вопрос о прошивках? Потому что в них всё дело и заводские прошивки у них традиционнно полное ... , а отдельной сильнораздражающей кучкой выделяются прошивки для свитчей серии 1210.

 

И кстати, зачем вам mstp с одним instance? rstp не проще использовать?

Share this post


Link to post
Share on other sites

Cisco, Dlink, WiTek вендоры сетевого оборудования. И скоро чувствую будет ещё Eltex.

 

Прошивки самые последние установлены.

Edited by Axen

Share this post


Link to post
Share on other sites

Если версии прошивок сообщить не можете или не желаете, то попробуйте обратиться к производителю .

P.S. На D-Link DES-3200 начиная с древнейших прошивок 1.5x (не существенна уже точная версия),  для адекватной работы stp на транковом порту pvid должен совпадать с существующим на этом свитче vlan, по-моему, вендор рекомендовал ставить pvid==managment vlan

Share this post


Link to post
Share on other sites

@Axen , я что-то никак не соображу, а для чего вам вообще MSTP? Задача-то у вас какая?

Построить кольцо, или просто блокировать петли? Если второе, то чем не устраивает Loopdetect?

Не знаю насчет DGS-1210 (я их принципиально не использую - ну очень неудачная серия!), на 3200 Loopdetect работает без претензий.

 

P.S. 

9 часов назад, Axen сказал:

Cisco, Dlink, WiTek вендоры сетевого оборудования. И скоро чувствую будет ещё Eltex.

Роскошный зоопарк! Но я не завидую.. ;-)

Share this post


Link to post
Share on other sites

Вообще, в чем тайный смысл поднятия stp на всех коммутаторах в кольце?

Не проще ли поднять на главном, а на остальных включить forwarding bpdu?

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

Share this post


Link to post
Share on other sites

@passerДля 1210 7.03.B030. Для DES-3200-18 1.91.B004, могу ошибаться с последней цифрой.

@AlKov На самом деле, изначально случилось то, что по некоторым причинам, соединили две "ветки" от ядра между собой, в нескольких местах и через не управляемые коммутаторы, мыльницы и т.п. (постарались пользователи). Можете не говорить что это какой то пи.., сами знаем. Сейчас когда всё по убирали, восстановили работу, успокоились, поняли, что можно с умом использовать "кольцо", решили проработать вопрос. Но по факту да, если не делать кольца, то можно обойтись банальным Loopdetect.

По зоопарку, сами себе не завидуем, "наследие" как говорится.

@[anp/hsw] Не думали в этом направлении, спасибо за идею.

 

Сегодня попробовали поменять местами последний в цепочке 1210 и 3200, получили DGS-1210-52-->DES-3200-18-->DGS-1210-52. И, в итоге 1210 перед 3200, заблокировал порт... Поняли что не в конфигурации дело. Решил эксперимента ради, загрузить 3200-18 с очень старой прошивки, 1.28.009. И не поверите, заработало. Дело в том, что у нас DES-3200-18 ревизии B1, старенький очень.

 

@passer Спасибо за совет, по поводу PVID, будем пробовать.

Edited by Axen

Share this post


Link to post
Share on other sites
1 час назад, Axen сказал:

3200-18 с очень старой прошивки, 1.28.009. И не поверите, заработало. Дело в том, что у нас DES-3200-18 ревизии B1

Не помню, конкретно эту, ибо из-за одного бага быстро перешли на 1.80.b006, а потом дальше, но на des-3200/а1 прошивки до 1.33 были со сломанным stp.

 

Кстати, когда-то давно отловил баг rstp сочетания des-3200 и des-1210-28/b2/me. Поскольку сроки горели, то после перебора прошивок, просто декретом постановили не смешивать эти свитчи в одних кольцах.

Share this post


Link to post
Share on other sites
21 час назад, passer сказал:

Не помню, конкретно эту, ибо из-за одного бага быстро перешли на 1.80.b006, а потом дальше, но на des-3200/а1 прошивки до 1.33 были со сломанным stp.

 

Кстати, когда-то давно отловил баг rstp сочетания des-3200 и des-1210-28/b2/me. Поскольку сроки горели, то после перебора прошивок, просто декретом постановили не смешивать эти свитчи в одних кольцах.

Чувствую хорошенько подумаем, и наверное откажемся от STP, по крайней мере на D-Link. А будем использовать просто Loopdetect...

 

А не подскажите, чем можно заменить D-Link, по схожей цене, но что бы не было такого количества "волшебства" в прошивках? Да и синтаксис CLI меняющийся от версии к версии прошивки и между коммутаторами, честно говоря уже начал надоедать...

Share this post


Link to post
Share on other sites
1 час назад, Axen сказал:

А не подскажите, чем можно заменить D-Link, по схожей цене, но что бы не было такого количества "волшебства" в прошивках?

Нет там никакого волшебства, просто прошейтес до самой свежей. des3200 - отличная серия, stp уж там точно проблем не имеет.

Share this post


Link to post
Share on other sites

Да в том то и дело, DES-3200-18 прошит последней прошивкой, и ради эксперимента пробовали чуть постарше, то есть 1.91.B004 - 1.91.B007.

В конечном итоге хорошенько подумали, и решили отказаться от STP, а использовать только loopdetect.

Share this post


Link to post
Share on other sites

Это же букварь, stp - rfc, а остальное - от вендоров. На киске построить  rstp- пара строк в конфиге. и говорят что на блинке тоже можно, с ихними рстп/мстп. Но строить кольцо на разных вендоров - почти памятник посмертный, как достоевскому=чапаеву,  Не успеете утонуть. При некоторых условиях - ваш коммутатор такие bpdu будет слать, что коллеги по порту станут раком и кирпичем

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this