Хочешь — получи! Маленькая инструкция: Установка — клик system->scripts, клик “+”, в поле имени пиши что угодно (например, signallimiter), клик ок, готово! Если не хочешь вручную запускать правило, нужен планировщик. Просто создай новое правило в system->shedule и укажи имя скрипта, который ты уже определил (signallimiter или как ты его назвал) и выбери время. У меня настроено на каждую 5 минут.
Как это работает: Настройки "minthreshold" – минимальный сигнал, а "maxthreshold" – максимальный сигнал, который будет заблокирован. Это значит, если minthreshold – 75, а maxthreshold – 90, клиенты с сигналом между -70 и -90 будут заблокированы. Если поставить maxthreshold на 95 или больше, новые подключенные/неактивные клиенты будут забанены без причины!
Настройка “removeadded”, если 1, удалит клиентов с плохим сигналом из списков доступа и попробует посмотреть, улучшился ли их сигнал, а если 0 – клиенты останутся там навсегда.
Настройка “aldisabled”, если "yes", добавит клиентов в список доступа отключенным (это для тестирования), а если "no" – они будут включены.
:log info "Signal limiting..."
:local minthreshold 75
:local maxthreshold 90
:local removeadded 1
:local aldisabled "no"
:if ($removeadded=1) do={
:log info "Removing from wifi access-list"
:foreach i in=[/interface wireless access-list find comment="badsignal"] do={ /interface wireless access-list remove $i }
}
:local cntr 0
:log info "Adding to wifi access-list"
:foreach i in=[/interface wireless registration-table find] do = {
:local csig [/interface wireless registration-table get $i signal-strength]
:local cmac [/interface wireless registration-table get $i mac-address]
:local cint [/interface wireless registration-table get $i interface]
:local csigform [:pick $csig 1 3]
:if ($csigform<$maxthreshold && $csigform>$minthreshold) do={
/interface wireless access-list add mac-address=$cmac interface=$cint disabled=$aldisabled authentication="no" comment="badsignal"
:set cntr ($cntr+1)
}
}
Вот планировщик: / system scheduler add name="do_siglimit" on-event=siglimit start-date=jan/01/1970 start-time=00:00:00 interval=5m comment="signal limiter" disabled=no. Замени do_siglimit на имя твоего скрипта и interval=5m на нужный интервал запуска скрипта (если установлено на 5 мин, то клиенты будут блокироваться/освобождаться каждые 5 минут).
Как это работает: Настройки "minthreshold" – минимальный сигнал, а "maxthreshold" – максимальный сигнал, который будет заблокирован. Это значит, если minthreshold – 75, а maxthreshold – 90, клиенты с сигналом между -70 и -90 будут заблокированы. Если поставить maxthreshold на 95 или больше, новые подключенные/неактивные клиенты будут забанены без причины!
Настройка “removeadded”, если 1, удалит клиентов с плохим сигналом из списков доступа и попробует посмотреть, улучшился ли их сигнал, а если 0 – клиенты останутся там навсегда.
Настройка “aldisabled”, если "yes", добавит клиентов в список доступа отключенным (это для тестирования), а если "no" – они будут включены.
:log info "Signal limiting..."
:local minthreshold 75
:local maxthreshold 90
:local removeadded 1
:local aldisabled "no"
:if ($removeadded=1) do={
:log info "Removing from wifi access-list"
:foreach i in=[/interface wireless access-list find comment="badsignal"] do={ /interface wireless access-list remove $i }
}
:local cntr 0
:log info "Adding to wifi access-list"
:foreach i in=[/interface wireless registration-table find] do = {
:local csig [/interface wireless registration-table get $i signal-strength]
:local cmac [/interface wireless registration-table get $i mac-address]
:local cint [/interface wireless registration-table get $i interface]
:local csigform [:pick $csig 1 3]
:if ($csigform<$maxthreshold && $csigform>$minthreshold) do={
/interface wireless access-list add mac-address=$cmac interface=$cint disabled=$aldisabled authentication="no" comment="badsignal"
:set cntr ($cntr+1)
}
}
Вот планировщик: / system scheduler add name="do_siglimit" on-event=siglimit start-date=jan/01/1970 start-time=00:00:00 interval=5m comment="signal limiter" disabled=no. Замени do_siglimit на имя твоего скрипта и interval=5m на нужный интервал запуска скрипта (если установлено на 5 мин, то клиенты будут блокироваться/освобождаться каждые 5 минут).

