Добрый день. Нашел на просторах интернета такой скрипт: :local pop 4 :local mac :local wifi [/log find message~"disconnected, unicast key exchange timeout"]foreach i in=$wifi do={ :set mac [ick [/log get $i message ] 0 ([:len [/log get $i message ]]-50)] :log warning $mac if ([:len [/log find message~($mac . "@wlan1: disconnected, unicast key exchange timeout")] ] >= $pop) do={ if ([/interface wireless access-list find mac-address=$mac] = "" ) do={ /interface wireless access-list add mac-address=$mac authentication=no interface=all } } } :log warning "FINISH" Если я правильно понял, то при вводе неправильного пароля на wifi, mac устройства заносится в acces-list с атрибутом authentication=no, грубо говоря попадает в черный список. Но скрипт почему-то не работает. Помогите пожалуйста разобраться почему? В логах события вида 14:39:19 wireless,info 40:5B8:04:F8:4B@wlan1: disconnected, unicast key exchange timeout генерируются [admin@Conference_ap1] > /export # feb/11/2020 14:58:41 by RouterOS 6.46.3 # # model = RBcAPGi-5acD2nD /interface bridge add name=bridge1 /interface wireless set [ find default-name=wlan1 ] country=russia disabled=no mode=ap-bridge ssid=Conference set [ find default-name=wlan2 ] country=russia mode=ap-bridge ssid=Conference wireless-protocol=802.11 /interface list add name=WAN add name=LAN /interface wireless security-profiles set [ find default=yes ] authentication-types=wpa2-psk mode=dynamic-keys supplicant-identity=MikroTik wpa-pre-shared-key=1234567890@ wpa2-pre-shared-key=1234567890 /interface bridge port add bridge=bridge1 interface=ether1 add bridge=bridge1 interface=ether2 add bridge=bridge1 interface=wlan2 add bridge=bridge1 interface=wlan1 /interface list member add interface=ether1 list=WAN add interface=ether2 list=LAN add interface=wlan2 list=LAN add interface=wlan1 list=LAN /ip address add address=10.10.11.83/22 interface=ether2 network=10.10.8.0 /ip dhcp-relay add dhcp-server=10.10.11.254 disabled=no interface=wlan1 name=relay1 /ip dns set servers=10.10.11.9,10.10.11.12 /ip route add distance=1 gateway=10.10.11.250 /ip service set telnet disabled=yes set ftp disabled=yes set www disabled=yes set ssh disabled=yes set api disabled=yes set api-ssl disabled=yes /system clock set time-zone-name=Europe/Moscow /system identity set name=Conference_ap1 /system scheduler add interval=1m name="block wifi brute" on-event=script1 policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon start-time=startup /system script add dont-require-permissions=no name=script1 owner=admin policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=":local pop 4\r\ \n:local mac\r\ \n:local wifi [/log find message~\"disconnected, unicast key exchange timeout\"]foreach i in=\$wifi do={\r\ \n:set mac [ick [/log get \$i message ] 0 ([:len [/log get \$i message ]]-50)]\r\ \n:log warning \$mac\r\ \nif ([:len [/log find message~(\$mac . \"@wlan1: disconnected, unicast key exchange timeout\")] ] >= \$pop) do={\r\ \nif ([/interface wireless access-list find mac-address=\$mac] = \"\" ) do={\r\ \n/interface wireless access-list add mac-address=\$mac authentication=no\r\ \ninterface=all\r\ \n}\r\ \n}\r\ \n}\r\ \n:log warning \"FINISH\""
Надеялся что кто-то с опытом написания скриптов на микротиках, бегло взглянув, поймет в чем ошибка) Просто этот скрипт часто приводят в различных статьях, но нигде нет фидбека работает он или нет. Я просто даже как дебажить не представляю...