Навеяно статьей
Но так как на маршрутизаторах такое решение не прокатывает, а готового решения не нашел пришлось придумывать, в итоге «отстрел» злонамеренных юзеров был реализован следующим образом, по шагам/строкам.
Всё. Вроде всё простенько и со вкусом.
Проверено, отрабатывает четко, эффект есть. Главное не забудьте правильный DHCP в valid-server прописать :)
Но так как на маршрутизаторах такое решение не прокатывает, а готового решения не нашел пришлось придумывать, в итоге «отстрел» злонамеренных юзеров был реализован следующим образом, по шагам/строкам.
- Делаем переменную из МАС вредителя.
- Обязательный параметр MAC-Mask, без него правило не добавляется ругаясь на ошибку аргументов.
- Собираем всё в кучку, получаем MAC+Mask нужного вида «00:00:00:00:00:00/FF:FF:FF:FF:FF:FF».
- Добавляем правило в фильтры на бридже, запрещая входящие с этого MAC-адреса на порту с которого прилетело «счастье».
- Ну и в лог можно вывести, дело вкуса.
:local MAC ($"mac-address")
:local Mask "/FF:FF:FF:FF:FF:FF"
:local MACMask "$MAC$Mask"
/interface bridge filter add chain=input action=drop src-mac-address=($MACMask) in-interface=$interface log=no disabled=no
/log warning "$MAC from $address on $interface banned on bridge"
Всё. Вроде всё простенько и со вкусом.
ЗЫЖ
Есл что, добавить скрипт можно прямо в /ip/dhcp-server/alerts, или создать отдельный скрипт в /system/scripts и его Имя прописать в /ip/dhcp-server/alerts, дело вкуса и количества интерфейсов на роутере.
Проверено, отрабатывает четко, эффект есть. Главное не забудьте правильный DHCP в valid-server прописать :)