loop protect mikrotik что это
MikroTik RouterOS new feature – Loop Protect
‘Loop Protect’ – New feature in 6.37rc24
Long-time MikroTik users have been after better loop prevention mechanisms for quite a while now. Rapid STP within bridges was the only feature available up until Fall of 2016 and now MikroTik has released Rapid Spanning Tree in hardware for switched ports as well as a new Loop Protect feature that seems to serve the same function as Cisco’s Loop Guard but not utilize spanning tree to detect the loop. MikroTik’s version compares the source MAC of the loop protect frame with the MAC of the interface it is received on and if they match, it will disable the port until the timer expires and check again for the existence of a loop.
This feature was introduced in 6.37rc24 on August 31st, 2016.
Use cases for ‘Loop Protect’
Loop protect seems to be designed more as an edge port protocol since it physically disables the port upon detection of a loop, whereas STP will leave the port physically active but logically block traffic on that path. Some potential use cases for enabling this feature could include:
‘Loop Protect’ in the StubArea51 test lab
Below is an example lab we built to test the Loop protect feature. The idea was to intentionally create a loop between two Cisco 3750 switches that would propagate looped frames and broadcasts towards the ethernet port on a MikroTik CRS125 with Loop Protect enabled.
Click on the image for a larger version
Enabling the ‘Loop Protect’ feature in WinBox
By default, the feature is disabled. To enable it, you select the interface to enable it on –> navigate to the ‘Loop Protect’ tab –> select the first drop down menu and set it to on (some versions of 6.37 have a bug that show more than the three available settings of default,on and off). You can also adjust the ‘Send Interval’ which controls how frequently Loop Protect frames are sent out of the interface. There is a ‘Disable Time’ value that can be set which starts counting down as soon as a loop is detected and will bring the interface back online after the timer is expired and check again for the existence of a loop. This interface will cycle through disabling the interface and the disable timer so long as a loop is present.
Detecting a loop with ‘Loop Protect’ enabled
In the hardware lab above, we connected a second cable between two Cisco 3750 switches with spanning tree turned off and ‘Loop Protect’ detected the loop almost immediately as indicated by the message in red at the bottom of the picture below. The status has now been changed to disabled until the loop clears and the disable timer expires.
‘Loop Protect’ in the log
Like all good features, ‘Loop Protect” will add status messages to the log which show the following as the loop is detected and then cleared. If you send your log messages to an external syslog server, then you can create alerts to let you know when a port has gone down due to a loop.
Настройка Loop Protect в RouterOS на маршрутизаторах Mikrotik
В одной из предыдущих публикаций про обновление RouterOS 6.37 я уже упоминал про добавление функции Loop Protect. Если быть точнее, Loop Protect добавлен в RouterOS начиная с версии 6.37rc25. Несмотря на это, в сам Winbox эта опция была добавлена только с выходом обновления RouterOS 6.37.1. Тогда же был представлен обновленный Winbox 3.6. С выпуском обновленного Winbox 3.7 мелкие недочеты по прежнему не исправлены.
Что такое Loop Protect и зачем он нужен в RouterOS?
Loop Protect, как следует из названия, функция для защиты от образования петель на уровне Layer 2. Система поддерживает контроль интерфейсов ethernet, vlan, eoip и eoipv6.
Если функция активирована, роутер периодически отправляет специальный пакет и, если пакет приходит обратно на маршрутизатор, RouterOS сверяет MAC отправителя. В случае обнаружения петли, интерфейс, на который пришел пакет, отключается на заданное время, а в лог системы при этом записывается соответствующее уведомление.
Настройка Loop Protect в Winbox
Функция Loop Protect настраивается индивидуально для каждого интерфейса. Откроем, к примеру, интерфейс ether5-slave-local, как видите, функция имеет значение «default», по сути это «off», т.е. по-умолчанию функция отключена на всех интерфейсах.
При использовании командной строки, используется параметр
Разработчики по прежнему не пофиксили дублирование параметров, поэтому на повторяющиеся «on», «off» и остальные параметры в Winbox не стоит обращать внимания, это мелкий баг.
Есть важный нюанс, про который забывает упомянуть как производитель, так и люди, описывающие работу Loop Protect. Дело в том, что для работы функции, необходимо активировать опцию на всех (!) портах, на которых вы считаете возможным образование петель. Если вы активируете loop-protect=on только на одном сетевом интерфейсе, при образовании петли, все порты, находящиеся в одной сети (бридже), станут недоступными. В этом случае необходимо ликвидировать петлю и перезагрузить устройство.
Для того, чтобы воссоздать петлю, я соединил интерфейсы ether3-slave-local и ether5-slave-local патчкордом, сеть при этом «падает», так что заранее необходимо задать все параметры.
В нашем случае для ether3-slave-local и ether5-slave-local задан параметр loop-protect=on.
Как видите, система обнаружила петлю и отключила сетевой интерфейс.
Для того, чтобы правильно настроить функцию, давайте рассмотрим дополнительные параметры:
Казалось бы, реализовать цикличность и отключить интерфейс на 5 минут – хорошая идея. Если бы не одно большое но…
Дело в том, что при повторном включении сетевого интерфейса, повторно образуется петля, а все сетевые интерфейсы в локальной сети станут недоступными. Система обнаружит петлю и повторно отключит интерфейс на 5 минут.
В таблице интерфейсов над отключенным интерфейсом будет отображен комментарий красного цвета, с помощью которого можно определить с какого порта пришел loop-пакет и, соответственно, определить объединенные порты.
Если посмотреть логи, можно обнаружить, что при этом на несколько секунд «падают» все сетевые интерфейсы. Для соединений между маршрутизатором и коммутатором это не критично, а вот конечные клиенты должны повторно переподключиться к маршрутизатору и получить IP (для сетей с DHCP).
На стороне конечных клиентов это будет выглядеть так
Т.е. каждые 5 минут будет обрываться соединение. Чтобы этого избежать, на интерфейсах можно установить параметр loop-protect-disable-time=0, что приведет к полному отключению интерфейса, система не будет в дальнейшем пытаться активировать его самостоятельно и проверять на наличие петли.
Пока не ясно, будет ли Mikrotik дорабатывать этот функционал, к примеру, выводить (изолировать) порт в отдельный бридж или vlan, чтобы другие сетевые интерфейсы не падали при повторной активации порта.
Где может быть полезен Loop Protect? В первую очередь в больших сетях с большим количеством соединений. Никто не застрахован он подобных случаев, Loop Protection позволяет существенно сэкономить время и нервы, которые уйдут на поиск неисправности.
Видеокурс «Настройка оборудования MikroTik» (аналог MTCNA)
Учитесь работать с MikroTik? Рекомендую видеокурс «Настройка оборудования MikroTik». В курсе разобраны все темы из официальной учебной программы MTCNA и много дополнительного материала. Курс сочетает теоретическую часть и практику – настройку маршрутизатора по техническому заданию. Консультации по заданиям курса ведет его автор Дмитрий Скоромнов. Подойдет и для первого знакомства с оборудованием MikroTik, и для систематизации знаний опытным специалистам.
Loop Protect — защиты от петель на Микротике
Научиться настройке MikroTik можно на онлайн курсе по оборудованию этого производителя. Автор курса является сертифицированным тренером MikroTik. Подробней Вы можете прочитать в конце статьи.
Давние пользователи продуктов Микротик могут заметить, что им долгое время не были доступны варианты эффективных механизмов по профилактике защиты от образования петель (Loop Protect) на интерфейсах роутера MikroTik. В настоящее время в MikroTik встроена аппаратная обработка протокола Rapid Spanning Tree для коммутируемых портов. А также новая функция защиты от петель (Loop Protect), которая по видимому выполняет ту же функцию, что и Loop Guard Cisco, но не использует Spanning Tree для обнаружения петли.
Версия MikroTik сравнивает исходный MAC-адрес кадра с защитой от петли с MAC-адресом интерфейса, с которого он был получен, и если они совпадают, то порт выключается до тех пор, пока не истечет таймер, после чего производится повторная проверка.
Защита от петель (Loop Protect) – новая функция, доступная начиная с 6.37rc24
Сценарии использования функции защиты от петель (Loop Protect)
Защита от петель (Loop Protect) в испытательной лаборатории
Ниже приведен пример лаборатории, которую мы построили для тестирования функции защиты от петель. Идея состояла в том, чтобы намеренно создать цикл между двумя Cisco 3750, которые бы транслировали петельные кадры в направлении порта локальных сетей на MikroTik CRS125 с включенной функцией защиты от петель (Loop Protect).
Включение функции Защиты от Петель (Loop Protect) в WinBox
Определение петли с включенной функцией Обнаружения петли (Loop Protect)
Выше в нашей лаборатории, мы подключили второй кабель между двумя Cisco 3750 с отключенным проколом Spanning Tree. Функция защиты Loop Protect практически сразу же обнаружила данное событие. Красный цвет в нижней части интерфейса Winbox на рисунке указывает на это. Статус не изменится, пока не пройдет цикл и не истечет таймера.
Отображение служебной информации функции Защиты от петель (Loop Protect) в логах
Защита от образования петли (Loop Protect) выводит сообщения о состоянии в журнал об обнаружении петли. Также при ее пропадании вы увидете сообщение в логах. Если вы посылаете сообщения журнала на внешний сервер, то вы можете создать оповещения. Чтобы знать, когда порт отключается из-за обнаружения петли.
В своей заметке я написал о новой функции Защиты от петель (Loop Protect). Которая стала доступна на Микротиках начиная с версии 6.37rc24. Описал несколько сценариев использования и параметры, которые можно настроить. Если у вас есть дополнения или замечания, то буду рад их увидеть в комментариях.
MikroTik: куда нажать, чтобы заработало?
При всех своих достоинствах, есть у продукции компании MikroTik один минус – много разобщенной и далеко не всегда достоверной информации о ее настройке. Рекомендуем проверенный источник на русском языке, где все собрано, логично и структурировано – видеокурс « Настройка оборудования MikroTik ». В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект. Все материалы остаются у вас бессрочно. Начало курса можно посмотреть бесплатно, оставив заявку на странице курса. Автор курса является сертифицированным тренером MikroTik.
Loop protect mikrotik что это
Бесплатный чек-лист
по настройке RouterOS
на 28 пунктов
Порт ловит «кольцо» от самого себя.
Здравствуйте.
Прошу помощи
Есть CCR-1016-12G, с последней стабильной версией прошивки. Внутренняя сеть на бридже и 2 провайдера на двух соседних портах.
Несколько дней назад Провайдер 1 отключил мой порт у себя с формулировкой: От вас идет кольцо. Стали разбираться вместе с технарями провайдера, в чем дело, вот что удалось выяснить:
vlan mac address type learn age ports
——+—————-+———+——+———-+—————————
Module 8[FE 1]:
* 45 xxxx.xxxx.xxxx dynamic Yes 10 Gi8/43
Module 8[FE 2]:
* 45 xxxx.xxxx.xxxx dynamic Yes 5 Gi8/43
У себя я включил на всех WAN портах loopback protect с отключением порта на 1 минуту и вот что вижу за 3 дня:
(XX:XX:XX:XX:XX:45 и XX:XX:XX:XX:XX:46 MACи eth1 и eth2)
Mar/15/2019 13:42:04 interface,warning eth1-wan1 received loop protect packet originated from XX:XX:XX:XX:XX:45 (eth1-wan1)
Mar/15/2019 17:44:22 interface,warning eth1-wan1 received loop protect packet originated from XX:XX:XX:XX:XX:45 (eth1-wan1)
Mar/16/2019 15:25:35 interface,warning eth1-wan1 received loop protect packet originated from XX:XX:XX:XX:XX:45 (eth1-wan1)
Mar/16/2019 22:27:12 interface,warning eth1-wan1 received loop protect packet originated from XX:XX:XX:XX:XX:45 (eth1-wan1)
Mar/17/2019 14:14:36 interface,warning eth1-wan1 received loop protect packet originated from XX:XX:XX:XX:XX:45 (eth1-wan1)
Mar/18/2019 07:31:05 interface,warning eth1-wan1 received loop protect packet originated from XX:XX:XX:XX:XX:45 (eth1-wan1)
Mar/18/2019 09:12:46 interface,warning eth1-wan1 received loop protect packet originated from XX:XX:XX:XX:XX:45 (eth1-wan1)
Mar/18/2019 15:44:35 interface,warning eth1-wan1 received loop protect packet originated from XX:XX:XX:XX:XX:45 (eth1-wan1)
Mar/18/2019 18:33:47 interface,warning eth2-wan2 received loop protect packet originated from XX:XX:XX:XX:XX:46 (eth2-wan2)
Mar/19/2019 16:47:47 interface,warning eth1-wan1 received loop protect packet originated from XX:XX:XX:XX:XX:45 (eth1-wan1)
Mar/20/2019 08:59:14 interface,warning eth1-wan1 received loop protect packet originated from XX:XX:XX:XX:XX:45 (eth1-wan1)
Скажу так, всегда в логе о том, что есть кольцо = всегда будет присутствовать
МАК Вашего роутера. Это норма.
Кольцо (петля, так мне привычнее), это когда пакет(ы) лавинно пришли (бродкастом).
Защита от петель позволяет да, порт отключать/включать, видеть в логах, и прочее.
Главное что Вы видите откуда идёт петля.
Если у Вас идёт с порта1 и вдруг один раз пришло с порта2 = тогда надо понять,
у Вас порт1 и порт2 не соединены вместе (логически?) Бридж?
Или не могут где-то дальше соединяться.
Во вторых, если Вы у себя не меняли, не создавали бриджей новых, за этот момент,
пока была авария у них, значит проблема на их стороне.
Да и если мне провайдер посоветовал роутер профессиональный сменить,
претензия минимум что было в их адрес.
Скорее всего где-то после восстановления, они чего-то не прописали.
Ну и Вы не описали настройки Вашего роутера? Есть промежуточные линки,
сквозные/транзитные каналы?
P.S.(от себя лично)
а) За CCR1016-12G = плюс ставлю
б) а за стабильную последнюю прошивку = минус
в) опять же, если провайдеры приходят в общий роутер на здании, а провайдеры
врят ли стали так дружить, получается, что у здания есть админ, который их «собрал»
вместе, в Вы уже подключились к этому роутеру?
Схема очень странная. и малопонятная.
Конфиг моего роутера самый стандартный. 2 порта от провайдеров, оба с белыми адресами, в бридж они, конечно, не связаны (на самом деле, провайдеров 3, но с третим вообще никаких проблем нет). На каждом поднято по GRE тунелю, которые «едут» до удаленого роутера (резервирование канала между двумя офисами). Бридж в этом роутере смотрит в локалку, с портами провайдеров связан только маршрутами. МАСи на всех портах роутера проверены много раз, бридж имеет mac первого ethernet порта, который в этот самый бридж входит, ессна, отличается от МАСов портов, смотрящих на провайдеров.
В логах типа » interface,warning eth1-wan1 received loop protect packet originated from XX:XX:XX:XX:XX:45 ( eth1-wan1)» меня смущает то, что порт сам от себя ответ получает. Я бы понял, если порт1 поймал контрольный пакет от порта2, тогда было бы ясно, что где-то у двух провайдеров линки от меня «встречаются», а у меня же порт сам себе через провайдера ответил.
P.S. конфиг на этом микротике не менялся уже давно. Что там творится у провайдеров, мне не ведомо, но клянутся, что у них всё хорошо, говорят искать у себя 🙂
Доложите провайдеру, что на Вашем проф. роутере стоит защита от петель, бриджи Вы не используете,
объединяющих линков/узлов на WAN’ах нету.
Я просто хочу до Вас донести, если бы не микротик и его информирование, Вы и не знали что петля,
или всё в таком роде. И второе, петля может быть у другого клиента в этом здании, работающий
с циской поставленной в этом здании.
Пусть докажут (интересно только как) что петля идёт с Вашей стороны, и что Вы её породили?
Сеть у Вас работает, локальная сеть функционирует, сам роутер корректно сконфигурирован,
так что будьте настойчивым и заставляйте их проверять.
Manual:Loop Protect
Applies to RouterOS: v6.37+
Loop Protect
Loop protect feature can prevent Layer2 loops by sending loop protect protocol packets and shutting down interfaces in case they receive loop protect packets originated from themselves. The feature works by checking source MAC address of received loop protect packet against MAC addresses of loop protect enabled interfaces. If the match is found, loop protect disables the interface which received the loop protect packet. Log message warns about this event and interface is marked with a loop protect comment by system. RouterOS loop protect feature can be used on bridged interfaces as well as on ethernet interfaces which are set for switching in RouterBoard switch chips.
Loop Protect works on ethernet, vlan, eoip and eoipv6 interfaces and its packets are encapsulated with EtherType 0x9003.
There is support for adjusting loop protect packet sending interval and interface disable time. Configuration changes or expiration of disable time resets loop protection on interface.
Note: Even though loop-protect can work on interfaces that are added to a bridge, it is still recommended to use (R/M)STP rather than loop-protect since (R/M)STP is compatible with most switches STP variants provide much more configuration options to fine-tune your network.
Sub-menu: /interface ethernet /interface vlan /interface eoip /interface eoipv6