Все как в фильме ДМБ, сюжет про суслика: я тоже не вижу кабелей, а линки есть. Настройки у коммутатора сброшены к заводским командой #reset system.
Для наглядности еще несколько скриншотов:
Линки поднялись, коммутатор работает, но чем он занят нам подскажет wireshark и видим удивительную картину:
Представленный скриншот показывает большое количество ARP пакетов, которые генерирует сам коммутатор, предположительно в результате активности вышедших из строя портов. На основании этого включаем функцию Loop Detection, функция предназначается для формирования дерева коммутаторов, используя протокол STP, но работает и при выключенном STP:
enable loopdetect
config loopdetect mode vlan-basedconfig loopdetect recover_timer 1800
config loopdetect interval 10
config loopdetect ports 1-9 state enable
Вот как изменилась ситуация:
После применения настройки Loop Detection в логи коммутатора вносится запись об обнаруженном кольце на неисправном порту, сам порт переходит в режим err-disabled, что видно на приложенных выше скриншотах (mode vlan-based позволяет настраивать обнаружение кольца на транковых портах, в результате чего будет блокироваться только трафик из того vlan, в котором обнаружено кольцо, при этом остальные vlan будут работать в штатном режиме).
Изменился также тип трафика, пойманый wereshark. Теперь мы наблюдаем большое количество запросов dhcp (на подключенном компьютере настройка автоматического получения IP адреса).
Из этого следует, что ситуация с broadcast трафиком не изменилась. Это пагубно влияет на функционирование сети, так Broadcast пакеты клонируются коммутаторами, и это приводит к такому явлению как броадкаст-шторм. На основании этого принято решение ограничить количество broadcast тарфика посредством команды (если количество пакетов превысило уровень, то пакеты отбрасываются):
config traffic control 1-9 broadcast enable action drop threshold 64 countdown 5 time_interval 30
Кроме того запретим коммутатору пропускать ответы на DHCP запрос со всех портов кроме Uplink. Помимо ограничения трафика мы получаем возможность блокировать абонентские dhcp-server Пример конфигурации через CLI — настройка ACL, который разрешает передавать ответы DHCP с порта 10 и запрещает со всех остальных портов:
create access_profile ip udp src_port_mask 0xFFFF profile_id 1
config access_profile profile_id 1 add access_id 1 ip udp src_port 67 port 10 permit
config access_profile profile_id 1 add access_id 2 ip udp src_port 67 port 1-9 deny
Для чего это всё затевалось, и что получили в результате
Итак, после конфигурации мы имеем нормальный трафик на рабочем порту, малые всплески broadcast-трафика, так как вышедшие из строя порты периодически включаются по таймауту. Кроме того, в логах получаем строку вида «Port 1 VID 156 LBD recovered. Loop detection restarted», а при необходимости trap на сервер мониторинга.
Все усилия позволят методично работать над ликвидацией последствий грозы в условиях сети города (замены коммутаторов). Как показала практика (больше 5 лет в операторе связи на должности администратора сети) Dlink DES3200-series очень любит грозы.
Спасибо за потраченное время на прочтение. Отдельное спасибо коллегам за Ваши комментарии и рекомендации, а так же интерес к данному исследованию.
P.S.
Цикл статей Конструктивная админская лень или как я конфиг автоматизировал целью которого является снижение нагрузки на всеми любимых компьютерщиков на должности администратор сети.
Комментарии (60)
brate1nikoff
10.06.2016 12:53Из-за грозы может модифицируется пакет, который приводит к такому, получается?
Или почему так может влиять гроза?
Просто ужасно получается последствия грозы так лечить в течение 5 лет.shtirlitsus
10.06.2016 13:23+1надеюсь, это стёб?
brate1nikoff
10.06.2016 14:07Ответили, что я имел ввиду:)
https://habrahabr.ru/post/303062/#comment_9651496
Alexeyslav
10.06.2016 15:28+2Гроза уничтожает порт коммутатора, физически. Обычно сгорают защитные резисторы на портах после трансформатора, а оборванный резистор начинает в порт выдавать мусор, который очень часто рассматривается как нормальный пакет наведённый с соседней линии.
По нормальному, надо бы затерминировать нерабочий порт но для этого надо вскрывать коммутатор и пошарудеть там паяльником что во многих случаях является невозможным и/или неприемлемым.
Частично решить проблему можно подключением к портам внешней грозозащиты, но опять же на уровне провайдера это будет ощутимо дорого и затратно по человеко-часам пройтись по всем точкам и поставить такую защиту если она ещё не установлена.shtirlitsus
10.06.2016 15:48+2На самом деле, у поврежденного порта вход замыкается на выход (чаще пробой трансформатора, но бывает внутри чипа). В подсети возникает петля (loop), с которой автор собственно и борется. Петлю легко диагностировать наличием часто повторяющихся одинаковых ARP-запросов.
Watcover3396
13.06.2016 12:22Верно, в роутерах с убитым портом от грозы, я обычно просто спаиваю проволочкой ножки порта, либо перерезаю дорожки.
Ghool
13.06.2016 01:52В своё время бился над одной воздушкой с неэкранированным кабелем (от дома до дома, расстояние — метров 100-200).
Покупал различные грозозащиты, заземлял их…
без толку. горели иногда порты, иногда свитчи целиком.
Забил, поставил оптику — проблемы снялись.
avallac
10.06.2016 13:03+6Как правило один чип отвечает не за один порт. После грозы в результате повреждения чипа кажется, что один порт только проблемны и как в анекдоте: «а остальные выглядели как живые». Но опыт показывает, что проблемы создаваемые этими почти живыми портами гораздо страшнее именно из-за своей скрытой природы. Убытки от недовольства клиентов + десяти поездок СТП для поиска проблемы стоят больше чем выкинуть данный коммутатор.
Любите себя и своих клиентов. Не связывайтесь с поврежденным оборудованием.gmixo
10.06.2016 13:13Да пришел к такому же выводу администрируя ЛС, эти ошибки можно вылавливать до бесконечности, поэтому при малейшем подозрении на неисправность лучше менять оборудование.
По поводу гроз имхо, лучше подготовиться заранее и заземлить порты, хотя это тоже не всегда помогает)
mmblsc
10.06.2016 14:11+3Спасибо за конструктивную критику.
Видимо у меня не получилось передать основную мысль в статье.
Мы любим своих клиентов, именно поэтому используем описанную конфигурацию. Она позволяет локализовать проблему до порта абонента, как следствие жаловаться будет только клиент у которого выгорел порт. Альтернатива в этом случае «оглушённая броадкастом сеть» и жалуются все.
Мы любим себя, поэтому используем трапы на сервер мониторинга, в итоге тех.отдел получает список куда ехать чтоб менять железо. Альтернатива паника в тех.отделе, метание с криком что делать (особенно если админ напился и спит где нибудь на пляже в отпуске).
Это решение позволяет без паники устранять последствия, а никак не «костыль» для использования неисправного железа.
shtirlitsus
10.06.2016 13:22Ждал потрошенку. Мы на своих беспроводные порты отрезали ножом между чипом и трансформатором. В грозу как правило в трансформатор пробивало.
Alexeyslav
10.06.2016 15:34Когда пробивает трансформатор, отрезание порта не поможет — пробивное напряжение изоляции трансформатора порядка 5 киловольт(2 киловольта в течении минуты), нужно будет убрать минимум 5-10мм дорожки чтобы не пробило(пробивное напряжение воздуха примерно 1кВ/мм) и вставить заземляющий проводник между ними, чтобы если пробило то заряд ушёл в землю а не на контакты порта.
shtirlitsus
10.06.2016 15:40Видимо, я непонятно выразился. После грозы отрезали порты, которые светились от трансформаторов. помогало. Но, конечно это было временное решение. при первой возможности меняли свитчи на новые
orca
10.06.2016 13:45+3Давно в таких случаях используем, так сказать, аппаратное решение.
Берется кусочек витой пары с одной стороны обжимается, с другой стороны оголяются жилы и скручиваются между собой. После включения такой штуки в глючный порт, линк гаснет и никакого левого трафика не наблюдается. Работает как на управляемых так и на неуправляемых свичах.
martin74ua
10.06.2016 13:58+4>Как показала практика (больше 5 лет в операторе связи на должности администратора сети)
ПРАВДА??
Больше 10 лет на той же должности подсказывает ровно одно решение — заменить коммутатор, а защиту от повреждения портов делать не настройками шторм контроля, а грозозащитами и заземлением…Alexeyslav
10.06.2016 15:38+1А пока бригада будет искать оборудование на замену, ехать на другой конец города 2-3 часа в сети будет гулять шторм…
mmblsc
10.06.2016 16:19Спасибо! Именно это я имел в виду.
martin74ua
10.06.2016 16:25+1А у вас настройка LB и шторм контроля только в случае аварии выполняется? Тогда я вам подскажу — там еще dos защиты есть, их тоже повключать можно. А еще стоит нетбиос между абонентам запретить… а еще…
Не, готовый конфиг коммутатора выкладывать не буду.
Да, и еще — бригада ремонтников вполне может быть не в одном экземпляре ;)mmblsc
10.06.2016 23:17Полностью с Вами согласен. К сожалению полный конфиг противоречит теме статьи.
miron36357
10.06.2016 16:19+1А почему нельзя шкафы с домовыми коммутаторами ставить не на чердаках, а в подвалах? Лично я против воздушек, только вид портят. Сейчас еще не штрафуют за них?
mmblsc
10.06.2016 16:21Закон ома для участка цепи. Итак мы здесь. гроза прошла порты сгорели. Как быть?
martin74ua
10.06.2016 16:27+1Думать вчера. Поставить грозозащиты на все порты, сделать заземление шкафа, грозозащиты естественно заземлить тоже, иначе они бесполезны…
Мне просто для себя понять. Вот у меня в сети к-во коммутаторов измеряется сотнями, двузначными числами. А у вас?ayurtaykin
10.06.2016 17:16Вот у меня в сети к-во коммутаторов измеряется сотнями, двузначными числами.
Великий и могучий :D Почему не «тысячами, единичными числами»? :D
Вы извините конечно, но просто убило на месте, сижу теперь как дебил в офисе и лыбу давлю...)martin74ua
10.06.2016 17:18-1ну вот так вот мысли сложились ;)
лано, несколько тысяч у меня коммутаторов ;)
Magnum72
10.06.2016 20:55А у меня более 10000, причем серия DES-3200 ревизии C1 одна из самых живучих после 3526. Если нет возможности заземлять, то хотя бы вешайте оптику между домами, а не медь.
ЗЫ Грозозащиты без земли больше вредят, поэтому там где есть земля они не нужны, а где нет они бесполезны.
electronus
13.06.2016 12:22Грозозащиты редко помогают. Молния DC но при ударе вторично получается AC, который в т.ч. совпадает по частоте с легитимным сигналом а по амплитуде в порядок(-и) и проходит мимо защиты и сквозь трансформатор, передавая «привет» логике
Alexeyslav
13.06.2016 13:44Нет, эта составляющая не проходит банально через трансформатор. У него обрыв обмоток раньше случится чем мощный сигнал пройдёт через него — сердечник войдёт в насыщение.
Тут скорей линейным напряжением пробивает между обмотками трансформатора, а уже по электронике ток находит путь к земле.
Может оказаться что грозозащита вообще не при делах — разряд придёт через питающую сеть, а грозозащита не выпустит смертельный разряд в кабель…electronus
13.06.2016 20:20Согласен. Но видел и варианты, когда трансформаторы электрически не повреждены, нет межобмоточного к.з. или обрыва обмоток, но электроника за ними — мертвая. Вот в таких случаях грозозащита как пассивный наблюдатель
Alexeyslav
13.06.2016 21:43КЗ может и не быть — напряжение прошило диэлектрик и натворило делов. Хотя может быть другое — смертельный импульс пришел с другой стороны грозозащиты, поэтому электроника выгорела а защита в порядке.
У меня однажды компьютер отключенный от розетки во время грозы сгорел — пробило микросхему COM-порта из-за торчащего в нём JDM-программатора на проводах длиной 20 сантиметров и при следующем включении компьютера сгорел чип и повредилась материнка(она таки 4 секунды ещё проработала). Все остальные провода были отключены.
Другую схему просто разнесло в щепки, там был провод длиной 5 метров.
vvpoloskin
10.06.2016 16:46Коммутатор можно ставить хоть в подвале, однако все равно есть старые домовые сети в мелких населенных пунктах, у которых, например перекидка в соседний дом медная. Кроме того, есть многопарники в многоквартирных домах, идущие по фасаду (или крыше) дома…
bukovki
10.06.2016 17:22Наши отказались ставить железо в подвалах. Бывает, их подтапливает. И нерадивые управляющие компании с этим ничего не делают.
dimas
14.06.2016 16:31А Вы готовы платить за интернет в 2-3 раза больше только за то, что воздушка пойдет по кабельной канализации, которая чаще всего принадлежит местному монополисту и который дерет за её использование три цены?
На основании какого закона должны штрафовать, кстати? :) В Москве МГТС пытались лоббировать, уперлись в ФАС, к счастью…Alexeyslav
15.06.2016 16:29Это из области благоустройства города, архитектура и все дела… типа портит внешний вид.
У нас проблема была с элементарной покраской крыши — чтобы крышу красить НЕ КРАСНОЙ краской определённого оттенка нужно писать много бумаг в горадминистрацию и заполучить подпись главного архитектора города. Правда, в гугмапс потом еще лет 5 чётко красовалась наша ЗЕЛЁНАЯ крыша.
Не думаю например что в историческом центре многих городов прокладка воздушных линий между домами будет уместна… а где-то в спальном районе вполне возможна.dimas
15.06.2016 16:41Вместо красивого бла-бла-бла, ответьте на один заданный вопрос, потом будем обсуждать красоту :)
maxbelyanin
10.06.2016 22:16Наблюдал ровно тоже самое, только на des1210-28p, только там наоборот линк отсутствовал при наличии кабеля. А в самой сети такой же бред творился. И тоже после грозы.
alexdob
11.06.2016 19:20+1А зачем вы тратите целый профиль и без того не резинового ACL, когда можно сделать тоже самое, но одной строкой
config filter dhcp_server ports 1-8 state enable
оно же DHCP Server Screening
работает даже на A1 ревизии (на всяк случай проверил у себя)… ну и в целом на коммутаторах умеющих DHCP Snoopingalexdob
11.06.2016 19:26+1там же настраивается и отправка в лог\трап
show filter dhcp_server
Enabled ports: 1-8
Trap State: Enabled
Log State: Enabled
Illegal_Server_Log_Suppress_Duration: 5 Minutes
mmblsc
13.06.2016 13:06Спасибо!
Пошел в своих изысканиях привычным для себя путём, попробую предложенный Вами.
Ptica79
12.06.2016 23:01+2Как бывший сотрудник D-Link открою Вам «тайну» — от грозы горят и флудят по портам все свитчи. Какие-то сильнее, какие-то слабее. И это я не только про D-Link, а вообще все. Всё ОЧЕНЬ сильно зависит от прокладки кабеля (особенно если его пускают по фасаду здания).
А вообще у D-Link давно продаётся DES-3200/C1. А на фото явно DES-3200/A1. Разница в консольном порту, у С1 он RG45. А ещё разница в том, что у C1 в 6 с лишним раз лучше защита от статики на портах. В сервис на 10 битых А1 приходил 1-2 битый С1.
То же самое и у других производителей.
Вообще loopback detection включать на пользовательских портах ОБЯЗАТЕЛЬНО. Горят не только порты у свитчей, но и порты у компов и роутеров, что приводит к той же закольцовке на порту и флуду.Ptica79
12.06.2016 23:04P.S. А включать «config traffic control 1-9 broadcast enable action drop» так же черевато… Выставишь не те значения и будет резаться полезный трафик, а не мусор.
mmblsc
13.06.2016 13:19По поводу трафика broadcast какой именно и в каком количестве он полезен, можно развернуть комментарий более подробно без посыла в мат.часть. В моём случае к примеру 4 пакета(не все brc) DHCP для получения локального IP, 1 пакет на запрос PPPoE сервера. исследовать сеть ARP пакетами, пользователю нет нужды, все сервисы доступны unicast-ом. Подведя итог 2-3 пакета в сек. при настройке дропать все что больше 64 нормальный запас.
mmblsc
13.06.2016 13:09принято несколько иное решение, не в пользу D-Link., по мере выгорания меняем на другого вендора.
electronus
13.06.2016 20:22На кого, если не секрет?
mmblsc
13.06.2016 21:57в пользу edge-core
martin74ua
14.06.2016 13:03ну это не освобождает от настройки коммутатора. У нас на аксессе давно ежики стоят, длинки на узлах остались, там где 10-ка нужна. А настройки те же — штормы, лупдетект, ддос протекты…
mmblsc
14.06.2016 14:30ещё бы, но живучесть у них существенно выше. на текущий момент соотношение ежей к длинкам 1:7 после грозы собрали 2 ежика и 37 вот и считайте каков процент выживаемости
dimas
14.06.2016 16:34+1Вот за что многие люто и бешено ненавидят Д-Линк, так это вот за эти вот ревизии, когда для модели с тем же номером, но другим номером ревизии, могут не только некоторые команды и фичи по-разному работать, а и прошивки заметно отличаться…
shtirlitsus
15.06.2016 11:59что мешает перепрошить каждый длинк одинаковой прошивкой? они аппаратно же не отличаются?
dimas
15.06.2016 12:08Так в том то и дело, что у дырлинка разные ревизии — это чаще всего разное железо, причем иногда настолько разные, что залить прошивку от другой — убить железку для восстановления программатором.
Prototik
А просто порты нельзя выключить? Или тут фишка в том, что это такое «динамическое» решению? Вроде один раз настроил, а при возможной грозе оставшиеся порты продолжат работать автоматом?
ayurtaykin
На «динамическое» не тянет т.к. все равно придется абонента «перетыкать» в живой порт.
Проще заменить коммутатор, «длинки» завоевали свою популярность именно ценой.
Но пост все равно годный, никогда бы не подумал что после грозы коммутатор может начать спамить пакетами в сеть.
b2ron
Подобный конфиг даст полу-динамическое решение.
Клиента из дохлого порта все же придется переключать в другой порт/менять коммутатор, но коммутатор не запетлит остальную сеть, ну и в живых портах клиенты продолжат работать(правда не всегда хорошо такие порты работают)
lubezniy
Ещё как может. Помнится, давно ещё у меня этим отличился пятипортовый неуправляемый Surecom. При его подключении вся сеть переставала работать в принципе.