4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Усиление протокола STP с помощью функций защиты от петель и обнаружения отклонений BPDU

Содержание

Введение

Протокол STP разрешает физически избыточные топологии в древовидные топологии без петель. Самая большая проблема протокола STP заключается в том, что некоторые отказы оборудования могут вызывать сбой этого протокола. Такой сбой приводит к образованию петель пересылки (или петель STP). Петли STP вызывают серьезные перебои в работе сети.

В данном документе описана функция защиты от петель STP, предназначенная для повышения стабильности сетей уровня 2 (L2). Здесь также описывается функция обнаружения потери BPDU. Функция обнаружения потери BPDU представляет собой средство диагностики, которое создает сообщения системного журнала, если пакеты BPDU не получены в надлежащий срок.

Петля в локальной сети: характерные признаки

Сетевая петля обладает совершенно четкими признаками. Базой для трактовки этих признаков становится ряд параметров.

  • • Time to live (TTL) или время жизни пакета.
  • • IP ID — идентификатор IP-пакета.

Заголовок IP-протокола обладает набором полей полей. Выше перечисленные характеристики также являются составляющими этого заголовка.

IP-пакет, проследовав через роутер, в поле TTL получает значение, уменьшенное на единицу. Явным признаком «зацикленного» пакета становится слишком низкое значение TTL — на уровне единицы, после чего IP-пакет просто уничтожается роутером.

Столь низкий показатель этой характеристики свидетельствует, что пакетом пройдено слишком много маршрутизирующих устройств. При этом реальное значение хопов между роутерами для одного IP-пакета в глобальной сети не превышает 30. А при возникновении петли в локальной сети пакет «умирает» на зацикленном участке.

Другим характерным признаком наличия маршрутной петли представляется такое явление как широковещательный шторм. Как правило, в зацикленной сети появляется слишком много пакетов с одинаковым значением в поле IP ID — с одинаковым идентификатором. При этом таких пакетов одновременно может возникнуть несколько тысяч.

Какие основные фильтры существуют для отображения трафика?

Wireshark фильтр по протоколу

Достаточно в строке фильтра ввести название протокола и нажать ввод. На экране останутся пакеты, которые относятся к искомому протоколу. Таким образом, фильтр выглядит:

Если буфер захвата необходимо отфильтровать по нескольким протоколам, то необходимо перечислить все желаемые протоколы и разделить их знаком ||. Например:

arp || http || icmp

Wireshark фильтр по IP адресу и фильтр по MAC

В зависимости от направления трафика фильтр будет немного отличаться. Например, мы хотим отфильтровать по IP адресу отправителя 50.116.24.50:

По получателю фильтр будет выглядеть ip.dst == x.x.x.x, а если хотим увидеть пакеты в независимости от направления трафика, то достаточно ввести:

В случае если нам необходимо исключить какой то адрес из поля отбора, то необходимо добавить != . Пример:

Если мы анализируем трафик внутри локальной сети и знаем MAC адрес пользователя, то можно указать в качестве фильтра Wireshark его MAC адрес, например:

Wireshark фильтр по номеру порта

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

Так же как и с адресами IP и MAС мы можем отдельно фильтровать по портам получения или отправления tcp.srcport и tcp.dstport. Кроме указания номеров портов Wireshark дает отличную возможность отфильтровать буфер по флагам в TCP протоколе. Например, если мы хотим увидеть TCP пакеты с флагом SYN (установление соединения между устройствами), то вводим в строке поиска:

Популярные фильтры

В таблице ниже приведены наиболее популярные фильтры для отображения содержимого буфера захвата:

Сроки и стоимость проекта по модернизации ЛВС

  • Работаем на компьютерном рынке более 15 лет, хорошо знаем различные модификации старого и нового оборудования от разных производителей и изучили разные причины его несовместимости;
  • Постоянно общаемся с техническими службами многих вендоров (Microsoft, IBM, Dell, Microtik и др.) и можем получить спецификации на снятое с производства оборудование;
  • Обладаем большим штатом опытных системных инженеров и ИТ-экспертов, которые умеют быстро определять причины проблем и знают способы их решения;
  • В нашем тренинг-центре по сетевым решениям регулярно обучаются десятки ИТ-специалистов с предприятий СЗФО — мы владеем новейшими сетевыми технологиями.

Как начать работу?

Хотите узнать стоимость проекта?
Запросите предварительный расчет по вашему объекту:

Ваша компьютерная сеть работает не так, как нужно?
Получите рекомендации нашего ИТ-эксперта:

К двум коммутаторам D-link DES-1016C и TP-Link TL-SG-108T подключаем 24-портовый коммутатор фирмы D-link и имитируем к ол ьцо. Но кольцо у нас образуется через два коммутатора (типичная ситуация) подключенных последовательно.

Читать еще:  Хаб для локальной сети

Снова управляемый коммутатор определяет петлю и отключает порт.

Таким образом, следует заключить, что технология отключения портов на управляемых коммутаторах фирмы TP-Link работает исправно, вместе с тем, если пользователям необходимо настроить плоскую сеть, то достаточно неуправляемого коммутатора фирмы D-Link.

Рассмотрим, создадим и заюзаем аппаратную петлю на порте коммутатора

Если взять кусок патч-корда и воткнуть оба хвоста в один коммутатор, то получится петля. И в целом петля на порте коммутатора или сетевой карты — зло. Но если постараться, то и этому явлению можно найти полезное применение, например сделать сигнализацию с тревожной кнопкой.

  • Rx и Tx — обозначения Receive и Transmit на схемах (приём и передача).
  • Loop — англ. петля, контур, шлейф, виток, спираль.

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

Коммутаторы являются основными компонентами большинства проводных сетей. Управляемые коммутаторы делят сеть на отдельные логические подсети, ограничивают доступ из одной подсети в другую и устраняют ошибки в сети (коллизии).

Петли, штормы и порты — это не только морские термины. Петлей называют ситуацию, когда устройство получает тот же самый сигнал, который отправляет. Представь, что устройство «кричит» себе в порт: «Я здесь!» — слушает и получает в ответ: «Я здесь!». Оно по-детски наивно радуется: есть соседи! Потом оно кричит: «Привет! Лови пакет данных!» — «Поймал?» — «Поймал!» — «И ты лови пакет данных! Поймал?» — «Конечно, дружище!»

Вот такой сумасшедший разговор с самим собой может начаться из-за петли на порте коммутатора.

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

Меня удивил случай, когда установщик цифрового телевидения вот так подсоединил патч-корд (рис. 1). «Куда-то же он должен быть воткнут. » — беспомощно лепетал он.

Рис. 1. Синий свитч с петлей на борту

Хакер #156. Взлом XML Encryption

  • Содержание выпуска
  • Подписка на «Хакер»

Однако не всё так страшно. Почти в каждом приличном коммутаторе есть функция loop_detection, которая защищает устройство и его порт от перегрузок в случае возникновения петли.

Настраиваем коммутаторы

Перед тем как начинать настройку, необходимо установить физическое соединение между коммутатором и рабочей станцией.

Существует два типа кабельных соединений для управления коммутатором: соединение через консольный порт (если он имеется у устройства) и через порт Ethernet (по протоколу Telnet или через web-интерфейс). Консольный порт используется для первоначального конфигурирования коммутатора и обычно не требует настройки. Для того чтобы получить доступ к коммутатору через порт Ethernet, устройству необходимо назначить IP-адрес.

Web-интерфейс является альтернативой командной строке и отображает в режиме реального времени подробную информацию о состоянии портов, модулей, их типе и т. д. Как правило, web-интерфейс живет на 80 HTTP-порте IP-коммутатора.

Настройка DLink DES-3200

Для того чтобы подключиться к НТТР-серверу, необходимо выполнить перечисленные ниже действия с использованием интерфейса командной строки.

    Назначить коммутатору IP-адрес из диапазона адресов твоей сети с помощью следующей команды:

Здесь xxx.xxx.xxx.xxx — IP-адрес, yyy.yyy.yyy.yyy. — маска подсети.

  • Проверить, правильно ли задан IP-адрес коммутатора, с помощью следующей команды:
  • Запустить на рабочей станции web-браузер и ввести в его командной строке IP- адрес коммутатора.
  • Управляемые коммутаторы D-Link имеют консольный порт, который с помощью кабеля RS-232, входящего в комплект поставки, подключается к последовательному порту компьютера. Подключение по консоли иногда называют подключением Out-of-Band. Его можно использовать для установки коммутатора и управления им, даже если нет подключения к сети.

    После подключения к консольному порту следует запустить эмулятор терминала (например, программу HyperTerminal в Windows). В программе необходимо задать следующие параметры:

    При соединении коммутатора с консолью появится окно командной строки. Если оно не появилось, нажми Ctrl+r , чтобы обновить окно.

    Коммутатор предложит ввести пароль. Первоначально имя пользователя и пароль не заданы, поэтому смело жми клавишу Enter два раза. После этого в командной строке появится приглашение, например DES-3200#. Теперь можно вводить команды. Команды бывают сложными, многоуровневыми, с множеством параметров, и простыми, для которых требуется всего один параметр.Введи «?» в командной строке, чтобы вывести на экран список всех команд данного уровня или узнать параметры команды.

    Например, если надо узнать синтаксис команды config, введи в командной строке:

    Далее можно ввести «?» или нажать кнопку Enter. На экране появится список всех возможных способов завершения команды. Лично я для вывода этого списка на экран пользуюсь клавишей TAB.

    Loopback-тест

    Базовая конфигурация коммутатора

    При создании конфигурации коммутатора прежде всего необходимо обеспечить защиту от доступа к нему неавторизованных пользователей. Самый простой способ обеспечения безопасности — создание учетных записей для пользователей с соответствующими правами. Для учетной записи пользователя можно задать один из двух уровней привилегий: Admin или User. Учетная запись Admin имеет наивысший уровень привилегий. Создать учетную запись пользователя можно с помощью следующих команд CLI:

    После этого на экране появится приглашение для ввода пароля и его подтверждения: «Enter a case-sensitive new password». Максимальная длина имени пользователя и пароля составляет 15 символов. После успешного создания учетной записи на экране появится слово Success. Ниже приведен пример создания учетной записи с уровнем привилегий Admin:

    Читать еще:  Гостевая сеть Wifi что это?

    Изменить пароль для существующей учетной записи пользователя можно с помощью следующей команды: DES-3200# config account Ниже приведен пример установки нового пароля для учетной записи dlink:

    Проверка созданной учетной записи выполняется с помощью следующей команды: DES-3200# show account. Для удаления учетной записи используется команда delete account .

    Шаг второй. Чтобы коммутатором можно было удаленно управлять через web-интерфейс или Telnet, коммутатору необходимо назначить IP-адрес из адресного пространства сети, в которой планируется использовать устройство. IP-адрес задается автоматически с помощью протоколов DHCP или BOOTP или статически с помощью следующих команд CLI:

    Здесь xxx.xxx.xxx.xxx — IP-адрес, yyy.yyy.yyy.yyy. — маска подсети, System — имя управляющего интерфейса коммутатора.

    Шаг третий. Теперь нужно настроить параметры портов коммутатора. По умолчанию порты всех коммутаторов D-Link поддерживают автоматическое определение скорости и режима работы (дуплекса). Но иногда автоопределение производится некорректно, в результате чего требуется устанавливать скорость и режим вручную.

    Для установки параметров портов на коммутаторе D-Link служит команда config ports. Ниже я привел пример, в котором показано, как установить скорость 10 Мбит/с, дуплексный режим работы и состояние для портов коммутатора 1–3 и перевести их в режим обучения.

    Команда show ports выводит на экран информацию о настройках портов коммутатора.

    Шаг четвертый. Сохранение текущей конфигурации коммутатора в энергонезависимой памяти NVRAM. Для этого необходимо выполнить команду save:

    Шаг пятый. Перезагрузка коммутатора с помощью команды reboot:

    Будь внимателен! Восстановление заводских настроек коммутатора выполняется с помощью команды reset.

    А то я знал одного горе-админа, который перезагружал коммутаторы командой reset, тем самым стирая все настройки.

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

    Но сегодня мы хотим применить loopback во благо. У такого включения есть замечательное свойство. Если на порте коммутатора имеется петля, устройство считает, что к нему что-то подключено, и переходит в UP-состояние, или, как еще говорят, «порт поднимается». Вот эта-то фишка нам с тобой и нужна.

    Loopback

    Loop — это аппаратный или программный метод, который позволяет направлять полученный сигнал или данные обратно отправителю. На этом методе основан тест, который называется loopback-тест. Для его выполнения необходимо соединить выход устройства с его же входом. Смотри фото «loopback-тест». Если устройство получает свой собственный сигнал обратно, это означает, что цепь функционирует, то есть приемник, передатчик и линия связи исправны.

    Устраиваем аппаратную петлю

    Устроить обратную связь очень просто: соединяется канал приема и передачи, вход с выходом (Rx и Tx).

    Таблица 1. Распиновка RJ45

    Обожми один конец кабеля стандартно, а при обжиме второго замкни жилы 2 и 6, а также 1 и 3. Если жилы имеют стандартную расцветку, надо замкнуть оранжевую с зеленой, а бело-оранжевую с бело-зеленой. Смотри рис. 3.

    Нумерация контактов RJ-45

    Теперь, если воткнешь такой «хвостик» в порт коммутатора или в свою же сетевую карту, загорится зелёненький сигнал link. Ура! Порт определил наше «устройство»!

    Красная кнопка, или Hello world

    Ну куда же без Hello world? Каждый должен хоть раз в жизни вывести эти слова на экран монитора! Сейчас мы с тобой напишем простейший обработчик событий, который будет срабатывать при замыкании красной кнопки. Для этого нам понадобятся только кнопка с двумя парами контактов, работающих на замыкание, витая пара и коннектор. На всякий случай приведу схему красной кнопки (рис. 4).

    Схема красной кнопки

    Паяльник в руках держать умеешь? Соединяем так, чтобы одна пара контактов замыкала оранжевую жилу с зеленой, а другая — бело-оранжевую с бело-зеленой. На всяких случай прозвони соединение мультиметром.

    Все, теперь можно тестировать. Вставь обжатую часть в порт сетевой карты или в порт коммутатора. Ничего не произошло? Хорошо. Нажми кнопку. Линк поднялся? Замечательно!

    Сама красная кнопка

    Вот листинг простейшего обработчика Hello World на Cshell:

    Скрипт запускается с помощью следующей строки:

    Что привязать к обработчику событий, зависит уже от твоей фантазии. Может, это будет счетчик гостей, или тревожная кнопка, рассылающая сообщения в аське, или кнопка для отключения всех юзеров в сети — решать тебе!

    Сигнализация обрыва витой пары

    Я решил собрать аппаратную петлю после того, как в моей локальной сети украли несколько мешков витой пары. Встал серьезный вопрос: как мониторить витую пару?

    Идея проста: надо проложить витую пару от коммутатора до подъезда и на конце замкнуть её в петлю. Это будет «растяжка», при обрыве которой исчезнет линк на порте коммутатора. Останется написать обработчик, который бы «трубил во все трубы», что линк исчез, то есть витую пару кто-то разрезал.

    Чуть не забыл! В конфигурации коммутатора необходимо снять защиту loop_detection с порта, на котором установлена «растяжка».

    Впрочем, ты можешь придумать петле и другое применение. Удачи!

    Выводы

    Отталкиваясь от реальных задач, выполняемых среднестатистическим системным администратором ежедневно, можно с уверенностью сказать, что самые частые из них это:

    Прозвонка соответствия розетки и гнезда патч-панели.

    Проверка правильности обжима коннекторов RJ45 на обоих концах патч-корда.

    Проверка контакта в розетках, проверка контакта обжатых патч-кордов, проверка каждой жилы в трассе витой пары от розетки до коммутационного шкафа на прохождение сигнала.

    Протяжка кабелей на новые рабочие места с расшивкой панелей, розеток и их маркированием.

    Читать еще:  Как сделать диск системным Windows 7?

    Остальные задачи администратор решает обычно с помощью ноутбука и множества различных утилит. Пропинговать сервер, рабочую станцию или протестировать скорость передачи данных в своей организации администратор может без применения дорогостоящего оборудования. Конечно, оптимально, если оно есть в наличии, но как правило, основное «оружие» администратора — это простые кабельные тестеры низкого и среднего ценового диапазонов, обеспечивающие быстрое решение горящих задач.

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

    Настройка прокси сервера на PfSense

    В инструкции описан процесс настройки прокси сервера Squid и программы-анализатора Lightsquid на маршрутизаторе PfSense внутри локальной сети.

    Что это такое?

    Частное облако от 1cloud.ru

    • Любые конфигурации виртуальных серверов
    • Бесплатные частные сети
    • Полная автоматизация управления

    Squid представляет собой прокси-сервер со стандартным набором функционала. Lightsquid является программой-анализатором файлов генерируемых прокси-сервером Squid и предоставляющей данные в понятном табличном виде.

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

    Первоначальные требования

    У вас должна быть настроена локальная сеть, о том как это сделать читайте в нашей инструкции: Маршрутизация внутри локальной сети на pfSense.

    Установка пакетов

    Подключитесь к web-based интерфейсу pfSense, данные для входа на сервер находятся в панели управления.

    В горизонтальном меню выберете System -> Package Manager -> Available Packages.

    Найдите и установите пакеты Squid и Lightsquid с помощью кнопки Install.

    В результате они появятся в окне Installed Packages.

    Настройка прокси сервера Squid

    Перейдем к настройке прокси сервера. В горизонтальном меню выберете Services -> Squid Proxy Server. Зайдите во вкладку Local Cache, в поле External Cache-Managers запишите локальную петлю сервера 127.0.0.1, нажмите Save внизу страницы, во избежании дальнейших ошибок.

    Далее перейдите во вкладку General. Отмечаем галочкой Enable Squid Proxy. Интерфейс на котором будет работать прокси — локальный, в поле Proxy Interface(s) — выбираем LAN. Отмечаем галочкой Allow Users on Interface, Transparent HTTP proxy, Enable Access Logging (для отображения статистики прокси). В поле Rotate Logs введите число, соответствующее количеству дней, по истечению которых лог переносится в архив.

    Примечание: статистика берется из актуального, а не архивного файла.

    Нажмите Save.

    Настройка Lightsquid

    Перед настройкой Lightsquid необходимо открыть порт сервера на котором работает данный сервис для возможности просмотра статистики прокси. О том как это можно сделать написано в нашей инструкции.

    Примечание: порт Lightsquid по умолчанию 7445.

    Для того, чтобы в отчете отображались человеко-понятные адреса и имена в конфигурационном файле Lightsquid нужно сопоставить ip-адреса локальной сети с именами пользователей. Для этого подключитесь к вашему серверу по SSH.

    Выберете опцию 8, чтобы войти в shell:

    Enter an option: 8

    В приглашении командной строки введите:

    В открывшемся окне введите строки в формате:
    Например:

    10.0.1.3 Anastasia
    10.0.1.4 Ivan
    10.0.1.6 Bob

    В горизонтальном меню выберете Status -> Squid Proxy Reports. В качестве языка Language выберете Russian. В поле IP Resolve Method выберете IP. Установите значение поля Refresh Scheduler в удобное для вас значение, это величина периодичности обновления статистики. Далее нажмите Save -> Refresh full.

    Чтобы посмотреть статистику прокси, нажмите на кнопку Open Lightsquid.

    В открывшемся окне можно анализировать статистику Lightsquid.

    Обнаружение потери BPDU

    Описание функции

    Работа протокола STP сильно зависит от своевременного получение пакетов BPDU. При каждом сообщении hello_time message (по умолчанию каждые 2 секунды) корневой мост отправляет пакеты BPDU. Некорневые мосты не создают пакеты BPDU заново для каждого сообщения hello_time, а принимают пакеты BPDU, ретранслированные от корневого моста. Поэтому каждый некорневой мост должен получать пакеты BPDU в каждой VLAN для каждого сообщения hello_time. В некоторых случаях пакеты BPDU теряются или ЦП моста слишком занят, чтобы своевременно ретранслировать пакеты BPDU. Такие или другие проблемы могут вызвать запаздывание пакетов BPDU (если они вообще получаются). Эта проблема может нарушить стабильность топологии STP.

    Обнаружение потери BPDU позволяет коммутатору отслеживать запаздывающие пакеты BPDU и уведомлять администратора с помощью сообщений системного журнала. Для каждого порта, для которого когда-либо было зафиксировано запаздывание (или искажение) пакета BPDU, функция обнаружения задержки сообщит о самой последней задержке с указанием ее длительности. Она также указывает максимальную длительность задержки блока BPDU для этого конкретного порта.

    Чтобы защитить ЦП моста от перегрузки, сообщение системного журнала создается не при каждой задержке пакета BPDU. Частота создания сообщений ограничивается одним сообщением каждые 60 секунд. Однако если задержка BPDU превышает значение max_age, деленное на 2 (что по умолчанию равно 10 с), сообщение печатается немедленно.

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

    Пример сообщения системного журнала, созданного функцией обнаружения потери BPDU:

    Замечания по настройке

    Обнаружение потери BPDU настраивается для каждого коммутатора по отдельности. По умолчанию эта функция отключена. Чтобы включить обнаружение потери BPDU, выполните следующую команду:

    Чтобы просмотреть сведения об обнаружении задержки пакетов BPDU, воспользуйтесь командой show spantree bpdu-skewing | как показано в следующем примере:

    Ссылка на основную публикацию
    Статьи c упоминанием слов:
    Adblock
    detector