10 июня 2016 в 12:07

Исследование коммутатора Dlink после грозы из песочницы

Статья, которую вы сейчас читаете, является расширением статьи "Настройка свитчей уровня доступа в сети провайдера". Я обосную правильность подхода автора скринами и своими наблюдениями. Итак, фото испытуемого.

image

Все как в фильме ДМБ, сюжет про суслика: я тоже не вижу кабелей, а линки есть. Настройки у коммутатора сброшены к заводским командой #reset system.

Для наглядности еще несколько скриншотов:

dlink_1

dlink_2

Линки поднялись, коммутатор работает, но чем он занят нам подскажет wireshark и видим удивительную картину:

wireshark_1

Представленный скриншот показывает большое количество ARP пакетов, которые генерирует сам коммутатор, предположительно в результате активности вышедших из строя портов. На основании этого включаем функцию Loop Detection, функция предназначается для формирования дерева коммутаторов, используя протокол STP, но работает и при выключенном STP:

enable loopdetect
config loopdetect mode vlan-based
config loopdetect recover_timer 1800
config loopdetect interval 10
config loopdetect ports 1-9 state enable

Вот как изменилась ситуация:

image

image

После применения настройки Loop Detection в логи коммутатора вносится запись об обнаруженном кольце на неисправном порту, сам порт переходит в режим err-disabled, что видно на приложенных выше скриншотах (mode vlan-based позволяет настраивать обнаружение кольца на транковых портах, в результате чего будет блокироваться только трафик из того vlan, в котором обнаружено кольцо, при этом остальные vlan будут работать в штатном режиме).

Изменился также тип трафика, пойманый wereshark. Теперь мы наблюдаем большое количество запросов dhcp (на подключенном компьютере настройка автоматического получения IP адреса).

image

Из этого следует, что ситуация с 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

image

image

Для чего это всё затевалось, и что получили в результате

Итак, после конфигурации мы имеем нормальный трафик на рабочем порту, малые всплески broadcast-трафика, так как вышедшие из строя порты периодически включаются по таймауту. Кроме того, в логах получаем строку вида «Port 1 VID 156 LBD recovered. Loop detection restarted», а при необходимости trap на сервер мониторинга.

Все усилия позволят методично работать над ликвидацией последствий грозы в условиях сети города (замены коммутаторов). Как показала практика (больше 5 лет в операторе связи на должности администратора сети) Dlink DES3200-series очень любит грозы.

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

P.S.
Цикл статей Конструктивная админская лень или как я конфиг автоматизировал целью которого является снижение нагрузки на всеми любимых компьютерщиков на должности администратор сети.
Жучков Анатолий Вадимович @mmblsc
карма
13,0
рейтинг 0,0
Администратор сети
Самое читаемое Администрирование

Комментарии (60)

  • +2
    А просто порты нельзя выключить? Или тут фишка в том, что это такое «динамическое» решению? Вроде один раз настроил, а при возможной грозе оставшиеся порты продолжат работать автоматом?
    • +1
      На «динамическое» не тянет т.к. все равно придется абонента «перетыкать» в живой порт.
      Проще заменить коммутатор, «длинки» завоевали свою популярность именно ценой.

      Но пост все равно годный, никогда бы не подумал что после грозы коммутатор может начать спамить пакетами в сеть.
      • +1
        Подобный конфиг даст полу-динамическое решение.
        Клиента из дохлого порта все же придется переключать в другой порт/менять коммутатор, но коммутатор не запетлит остальную сеть, ну и в живых портах клиенты продолжат работать(правда не всегда хорошо такие порты работают)
      • 0
        Ещё как может. Помнится, давно ещё у меня этим отличился пятипортовый неуправляемый Surecom. При его подключении вся сеть переставала работать в принципе.
  • 0
    Из-за грозы может модифицируется пакет, который приводит к такому, получается?
    Или почему так может влиять гроза?

    Просто ужасно получается последствия грозы так лечить в течение 5 лет.
    • +1
      надеюсь, это стёб?
      • 0
        Ответили, что я имел ввиду:)

        https://habrahabr.ru/post/303062/#comment_9651496
    • +2
      Гроза уничтожает порт коммутатора, физически. Обычно сгорают защитные резисторы на портах после трансформатора, а оборванный резистор начинает в порт выдавать мусор, который очень часто рассматривается как нормальный пакет наведённый с соседней линии.
      По нормальному, надо бы затерминировать нерабочий порт но для этого надо вскрывать коммутатор и пошарудеть там паяльником что во многих случаях является невозможным и/или неприемлемым.
      Частично решить проблему можно подключением к портам внешней грозозащиты, но опять же на уровне провайдера это будет ощутимо дорого и затратно по человеко-часам пройтись по всем точкам и поставить такую защиту если она ещё не установлена.
      • 0
        Спасибо за подробный ответ!
      • +2
        На самом деле, у поврежденного порта вход замыкается на выход (чаще пробой трансформатора, но бывает внутри чипа). В подсети возникает петля (loop), с которой автор собственно и борется. Петлю легко диагностировать наличием часто повторяющихся одинаковых ARP-запросов.
        • 0
          Верно, в роутерах с убитым портом от грозы, я обычно просто спаиваю проволочкой ножки порта, либо перерезаю дорожки.
      • 0
        В своё время бился над одной воздушкой с неэкранированным кабелем (от дома до дома, расстояние — метров 100-200).
        Покупал различные грозозащиты, заземлял их…
        без толку. горели иногда порты, иногда свитчи целиком.

        Забил, поставил оптику — проблемы снялись.
  • +6
    Как правило один чип отвечает не за один порт. После грозы в результате повреждения чипа кажется, что один порт только проблемны и как в анекдоте: «а остальные выглядели как живые». Но опыт показывает, что проблемы создаваемые этими почти живыми портами гораздо страшнее именно из-за своей скрытой природы. Убытки от недовольства клиентов + десяти поездок СТП для поиска проблемы стоят больше чем выкинуть данный коммутатор.

    Любите себя и своих клиентов. Не связывайтесь с поврежденным оборудованием.
    • 0
      Да пришел к такому же выводу администрируя ЛС, эти ошибки можно вылавливать до бесконечности, поэтому при малейшем подозрении на неисправность лучше менять оборудование.
      По поводу гроз имхо, лучше подготовиться заранее и заземлить порты, хотя это тоже не всегда помогает)
    • +3
      Спасибо за конструктивную критику.
      Видимо у меня не получилось передать основную мысль в статье.
      Мы любим своих клиентов, именно поэтому используем описанную конфигурацию. Она позволяет локализовать проблему до порта абонента, как следствие жаловаться будет только клиент у которого выгорел порт. Альтернатива в этом случае «оглушённая броадкастом сеть» и жалуются все.
      Мы любим себя, поэтому используем трапы на сервер мониторинга, в итоге тех.отдел получает список куда ехать чтоб менять железо. Альтернатива паника в тех.отделе, метание с криком что делать (особенно если админ напился и спит где нибудь на пляже в отпуске).
      Это решение позволяет без паники устранять последствия, а никак не «костыль» для использования неисправного железа.
  • 0
    Ждал потрошенку. Мы на своих беспроводные порты отрезали ножом между чипом и трансформатором. В грозу как правило в трансформатор пробивало.
    • 0
      Когда пробивает трансформатор, отрезание порта не поможет — пробивное напряжение изоляции трансформатора порядка 5 киловольт(2 киловольта в течении минуты), нужно будет убрать минимум 5-10мм дорожки чтобы не пробило(пробивное напряжение воздуха примерно 1кВ/мм) и вставить заземляющий проводник между ними, чтобы если пробило то заряд ушёл в землю а не на контакты порта.
      • 0
        Видимо, я непонятно выразился. После грозы отрезали порты, которые светились от трансформаторов. помогало. Но, конечно это было временное решение. при первой возможности меняли свитчи на новые
  • +3
    Давно в таких случаях используем, так сказать, аппаратное решение.
    Берется кусочек витой пары с одной стороны обжимается, с другой стороны оголяются жилы и скручиваются между собой. После включения такой штуки в глючный порт, линк гаснет и никакого левого трафика не наблюдается. Работает как на управляемых так и на неуправляемых свичах.
    • +2
      или шарик из фольги
      • 0
        +1, пять лет уже живу с шариком из фольги
        • 0
          О чем идет речь? Я в замешательстве.
          • 0
            Таким образом пары замыкаются и порт перестает создавать шум. Вернее, трансформаторы, стоящие на портах.
  • +4
    >Как показала практика (больше 5 лет в операторе связи на должности администратора сети)

    ПРАВДА??
    Больше 10 лет на той же должности подсказывает ровно одно решение — заменить коммутатор, а защиту от повреждения портов делать не настройками шторм контроля, а грозозащитами и заземлением…
    • +1
      А ещё по рукам бить неродивых монтеров надо.
    • +1
      А пока бригада будет искать оборудование на замену, ехать на другой конец города 2-3 часа в сети будет гулять шторм…
      • 0
        Спасибо! Именно это я имел в виду.
        • +1
          А у вас настройка LB и шторм контроля только в случае аварии выполняется? Тогда я вам подскажу — там еще dos защиты есть, их тоже повключать можно. А еще стоит нетбиос между абонентам запретить… а еще…
          Не, готовый конфиг коммутатора выкладывать не буду.

          Да, и еще — бригада ремонтников вполне может быть не в одном экземпляре ;)
          • 0
            Полностью с Вами согласен. К сожалению полный конфиг противоречит теме статьи.
  • +1
    А почему нельзя шкафы с домовыми коммутаторами ставить не на чердаках, а в подвалах? Лично я против воздушек, только вид портят. Сейчас еще не штрафуют за них?
    • 0
      Закон ома для участка цепи. Итак мы здесь. гроза прошла порты сгорели. Как быть?
      • +1
        Думать вчера. Поставить грозозащиты на все порты, сделать заземление шкафа, грозозащиты естественно заземлить тоже, иначе они бесполезны…

        Мне просто для себя понять. Вот у меня в сети к-во коммутаторов измеряется сотнями, двузначными числами. А у вас?
        • 0
          Вот у меня в сети к-во коммутаторов измеряется сотнями, двузначными числами.


          Великий и могучий :D Почему не «тысячами, единичными числами»? :D

          Вы извините конечно, но просто убило на месте, сижу теперь как дебил в офисе и лыбу давлю...)
          • –1
            ну вот так вот мысли сложились ;)
            лано, несколько тысяч у меня коммутаторов ;)
        • 0
          А у меня более 10000, причем серия DES-3200 ревизии C1 одна из самых живучих после 3526. Если нет возможности заземлять, то хотя бы вешайте оптику между домами, а не медь.
          ЗЫ Грозозащиты без земли больше вредят, поэтому там где есть земля они не нужны, а где нет они бесполезны.
        • 0
          Какие грозозащиты реально действуют?
        • 0
          Грозозащиты редко помогают. Молния DC но при ударе вторично получается AC, который в т.ч. совпадает по частоте с легитимным сигналом а по амплитуде в порядок(-и) и проходит мимо защиты и сквозь трансформатор, передавая «привет» логике
          • 0
            Нет, эта составляющая не проходит банально через трансформатор. У него обрыв обмоток раньше случится чем мощный сигнал пройдёт через него — сердечник войдёт в насыщение.
            Тут скорей линейным напряжением пробивает между обмотками трансформатора, а уже по электронике ток находит путь к земле.
            Может оказаться что грозозащита вообще не при делах — разряд придёт через питающую сеть, а грозозащита не выпустит смертельный разряд в кабель…
            • 0
              Согласен. Но видел и варианты, когда трансформаторы электрически не повреждены, нет межобмоточного к.з. или обрыва обмоток, но электроника за ними — мертвая. Вот в таких случаях грозозащита как пассивный наблюдатель
              • 0
                КЗ может и не быть — напряжение прошило диэлектрик и натворило делов. Хотя может быть другое — смертельный импульс пришел с другой стороны грозозащиты, поэтому электроника выгорела а защита в порядке.
                У меня однажды компьютер отключенный от розетки во время грозы сгорел — пробило микросхему COM-порта из-за торчащего в нём JDM-программатора на проводах длиной 20 сантиметров и при следующем включении компьютера сгорел чип и повредилась материнка(она таки 4 секунды ещё проработала). Все остальные провода были отключены.
                Другую схему просто разнесло в щепки, там был провод длиной 5 метров.
    • 0
      Коммутатор можно ставить хоть в подвале, однако все равно есть старые домовые сети в мелких населенных пунктах, у которых, например перекидка в соседний дом медная. Кроме того, есть многопарники в многоквартирных домах, идущие по фасаду (или крыше) дома…
    • 0
      Наши отказались ставить железо в подвалах. Бывает, их подтапливает. И нерадивые управляющие компании с этим ничего не делают.
    • 0
      А Вы готовы платить за интернет в 2-3 раза больше только за то, что воздушка пойдет по кабельной канализации, которая чаще всего принадлежит местному монополисту и который дерет за её использование три цены?

      На основании какого закона должны штрафовать, кстати? :) В Москве МГТС пытались лоббировать, уперлись в ФАС, к счастью…
      • 0
        Это из области благоустройства города, архитектура и все дела… типа портит внешний вид.
        У нас проблема была с элементарной покраской крыши — чтобы крышу красить НЕ КРАСНОЙ краской определённого оттенка нужно писать много бумаг в горадминистрацию и заполучить подпись главного архитектора города. Правда, в гугмапс потом еще лет 5 чётко красовалась наша ЗЕЛЁНАЯ крыша.

        Не думаю например что в историческом центре многих городов прокладка воздушных линий между домами будет уместна… а где-то в спальном районе вполне возможна.
        • 0
          Вместо красивого бла-бла-бла, ответьте на один заданный вопрос, потом будем обсуждать красоту :)
  • 0
    Наблюдал ровно тоже самое, только на des1210-28p, только там наоборот линк отсутствовал при наличии кабеля. А в самой сети такой же бред творился. И тоже после грозы.
  • +1
    А зачем вы тратите целый профиль и без того не резинового ACL, когда можно сделать тоже самое, но одной строкой
    config filter dhcp_server ports 1-8 state enable
    

    оно же DHCP Server Screening
    работает даже на A1 ревизии (на всяк случай проверил у себя)… ну и в целом на коммутаторах умеющих DHCP Snooping
    • +1
      там же настраивается и отправка в лог\трап
      show filter dhcp_server

      Enabled ports: 1-8
      Trap State: Enabled
      Log State: Enabled
      Illegal_Server_Log_Suppress_Duration: 5 Minutes
      • 0
        Спасибо!
        Пошел в своих изысканиях привычным для себя путём, попробую предложенный Вами.
  • +2
    Как бывший сотрудник D-Link открою Вам «тайну» — от грозы горят и флудят по портам все свитчи. Какие-то сильнее, какие-то слабее. И это я не только про D-Link, а вообще все. Всё ОЧЕНЬ сильно зависит от прокладки кабеля (особенно если его пускают по фасаду здания).
    А вообще у D-Link давно продаётся DES-3200/C1. А на фото явно DES-3200/A1. Разница в консольном порту, у С1 он RG45. А ещё разница в том, что у C1 в 6 с лишним раз лучше защита от статики на портах. В сервис на 10 битых А1 приходил 1-2 битый С1.
    То же самое и у других производителей.
    Вообще loopback detection включать на пользовательских портах ОБЯЗАТЕЛЬНО. Горят не только порты у свитчей, но и порты у компов и роутеров, что приводит к той же закольцовке на порту и флуду.
    • 0
      P.S. А включать «config traffic control 1-9 broadcast enable action drop» так же черевато… Выставишь не те значения и будет резаться полезный трафик, а не мусор.
      • 0
        По поводу трафика broadcast какой именно и в каком количестве он полезен, можно развернуть комментарий более подробно без посыла в мат.часть. В моём случае к примеру 4 пакета(не все brc) DHCP для получения локального IP, 1 пакет на запрос PPPoE сервера. исследовать сеть ARP пакетами, пользователю нет нужды, все сервисы доступны unicast-ом. Подведя итог 2-3 пакета в сек. при настройке дропать все что больше 64 нормальный запас.
    • 0
      принято несколько иное решение, не в пользу D-Link., по мере выгорания меняем на другого вендора.
      • 0
        На кого, если не секрет?
        • 0
          в пользу edge-core
          • 0
            ну это не освобождает от настройки коммутатора. У нас на аксессе давно ежики стоят, длинки на узлах остались, там где 10-ка нужна. А настройки те же — штормы, лупдетект, ддос протекты…
            • 0
              ещё бы, но живучесть у них существенно выше. на текущий момент соотношение ежей к длинкам 1:7 после грозы собрали 2 ежика и 37 вот и считайте каков процент выживаемости
    • +1
      Вот за что многие люто и бешено ненавидят Д-Линк, так это вот за эти вот ревизии, когда для модели с тем же номером, но другим номером ревизии, могут не только некоторые команды и фичи по-разному работать, а и прошивки заметно отличаться…
      • 0
        что мешает перепрошить каждый длинк одинаковой прошивкой? они аппаратно же не отличаются?
        • 0
          Так в том то и дело, что у дырлинка разные ревизии — это чаще всего разное железо, причем иногда настолько разные, что залить прошивку от другой — убить железку для восстановления программатором.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.