Меню
Контакты
107023, Москва, пл. Журавлёва, 10с3, подъезд 31, офис 309
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Интернет-магазин
сетевого оборудования
Москва +7 (495) 103-41-03 +7 (915) 420-28-94
107023, Москва, пл. Журавлёва, 10с3, подъезд 31, офис 309
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Заказать звонок

Как провести учёт пользователей силами только Mikrotik Router OS. Заключительная часть

 10 Апр 2012    MikroTik, Scripts

В этой статье мы рассмотрим окончательный вариант скрипта:

:local a; :local r; 

:local all ([/ip fi a print count-only] -1);

:for y from=0 to=$all do={:set r [/ip fi a get value-name=comment number=$y]; :local c ($r-100); :if ($c<0) do={:set a [/ip fi a get value-name=address number=$y; ]; /ip fi a set disabled=yes comment=$c [find address=$a]}

else={:set a [/ip fi a get value-name=address number=$y; ]; /ip fi a set comment=$c [find address=$a] }}; }

 

В конечном варианте добавлен оператор проверки условия IF ELSE.

if ($c<0) — выполняем проверку: если новый баланс меньше нуля, то выполняем DO;

do={:set a [/ip fi a get value-name=address number=$y; ];  — извлекаем значение IP-адреса для текущего правила;

/ip fi a set disabled=yes comment=$c [find address=$a]} — выполняем действия: отключение правила и изменение значения комментария.

Если новый баланс не меньше нуля, то выполняется оператор ELSE и меняется комментарий для данного правила:

else={:set a [/ip fi a get value-name=address number=$y; ]; /ip fi a set comment=$c [find address=$a] }};

 

Mikrotik RouterBoard RB751U-2HnD. Список правил

Рис.1. Mikrotik RouterBoard RB751U-2HnD. Список правил.

 

На рисунке 1 видно, что есть 4 правила с комментариями. В двух комментариях значение 100, а в двух 0.

 

Mikrotik RouterBoard RB751U-2HnD scripts

Рис.2. Mikrotik RouterBoard RB751U-2HnD scripts.

 

Добавляем написанный скрипт в Mikrotik RouterBoard RB751U-2HnD для проверки.

 

Как провести учёт пользователей силами только Mikrotik Router OS

Рис.3. Mikrotik RouterBoard RB751U-2HnD, запускаем скрипт.

 

В результате работы скрипта правила, у которых комментарии были со значениями ноль, получили отрицательное значения, и правило было отключено.

 

Как провести учёт пользователей силами только Mikrotik Router OS

Рис.4. Mikrotik RouterBoard RB751U-2HnD второй запуск.

 

При каждом запуске скрипта будет отниматься значение указанной абонплаты и записываться новый баланс в комментарий.

 

Евгений Рудченко специально для ASP24.