Mikrotik RB2011iLM, настроил в бридже на порту фильтр, запрет всех мак адресов + разрешение нескольких нужных мак адресов. Тоесть есть 2 правила, когда подключен какой-либо из разрешенных маков, капают пакеты в правило на разрешение, когда подключается левый мак адрес, вижу в админке что трафик капает в правило запрета.
Могу ли я как-то написать скрипт и поставить его в schelude, чтобы он каждую секунду проверял не активировалось ли правило запрета?
То есть как только кто-то втыкает в микротик или стоящий за ним свитч, неразрешенное по маку оборудование, он сразу пишет себе в лог это событие и начинает из бипера играть имперский марш? :)
Я пытался проверять правило запрета на количество пакетов, и если не 0 то писать в лог и пищать динамиком, но у меня как-то не получилось получить в скрипт количество пакетов из фильтра у бриджа. Через консоль то я могу вывести список пакетов по каждому правилу, а вот в скрипт получить не удается :(
Мониторинг подключения неразрешенных mac к порту
-
- Модератор
- Сообщения: 3605
- Зарегистрирован: 26 сен 2013, 14:20
- Откуда: НСК
- Контактная информация:
как то так
:put [/interface bridge filter get 0 packets]
:put [/interface bridge filter get 0 packets]
Есть интересная задача и бюджет? http://mikrotik.site
-
- Сообщения: 3
- Зарегистрирован: 13 янв 2016, 19:08
Огромное спасибо! Теперь можно дальше плясать от этого :)
У меня получился вот такой код:
И правила, скрин во вложениях.
Скрипт я ставлю с Schedule раз в секунду, когда к порту подключается мак, который не должен подключаться к этому порту, микторик начинает бибикать оповещая об этом.
Как мне теперь применить данную конструкцию ко всем портам смотрящим в локальную сеть? Мне нужно прописать фильтр на запрет и разрешение для каждого порта и на каждый порт повесить в Schedule мой скрипт, или это можно реализовать как-то более изящно?
У меня получился вот такой код:
Код: Выделить всё
#Номер фильтра в бридже отвечающего за блокировку левых маков на порту
:local BlockAllMACs 2;
#Проверяем нет пришли ли пакеты в фильтр блокировки
:local Intrusion [/interface bridge filter get 2 packets]
if ($Intrusion > 0) do={
/log info "Ether4 -> Alarm! Intrusion!";
/beep
}
И правила, скрин во вложениях.
Скрипт я ставлю с Schedule раз в секунду, когда к порту подключается мак, который не должен подключаться к этому порту, микторик начинает бибикать оповещая об этом.
Как мне теперь применить данную конструкцию ко всем портам смотрящим в локальную сеть? Мне нужно прописать фильтр на запрет и разрешение для каждого порта и на каждый порт повесить в Schedule мой скрипт, или это можно реализовать как-то более изящно?
- Вложения
-
- 1.png (15.19 КБ) 2949 просмотров
-
- Модератор
- Сообщения: 3605
- Зарегистрирован: 26 сен 2013, 14:20
- Откуда: НСК
- Контактная информация:
Несколько не понял.
Вы создаете фильтры с запрещенными МАК адресами и хотите оповещение когда эти мак адреса цепляются.
Судя по вашему скрипту скрипт у вас постоянно пищать будет ибо вы счетчик не обнуляете на правиле.
Если вы хотите пробегать по всем правилам (или выборочно) то в этом вам поможет :foreach
Вы создаете фильтры с запрещенными МАК адресами и хотите оповещение когда эти мак адреса цепляются.
Судя по вашему скрипту скрипт у вас постоянно пищать будет ибо вы счетчик не обнуляете на правиле.
Если вы хотите пробегать по всем правилам (или выборочно) то в этом вам поможет :foreach
Есть интересная задача и бюджет? http://mikrotik.site