Меню
Контакты
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 Routerboard при помощи скрипта

 21 Авг 2011    MikroTik, Scripts

 

Есть cкрипт уменьшения скорости пользователей после превышения лимита. Этот скрипт определяет количество переданного и полученного трафика пользователем и, если превышен лимит, уменьшает скорость в правиле шейпера этого пользователя. Напишем еще один скрипт, который будет обнулять трафик в правилах шейпера пользователей и возвращать начальную скорость этим правилам. Выполнять будем скрипт один раз в сутки.

 

 Mikrotik Routerboard список правил шейпера

Рис.1. Mikrotik Routerboard список правил шейпера.

 

 Mikrotik Routerboard. Выбираем одно из правил шейпера

Рис.2. Mikrotik Routerboard. Выбираем одно из правил шейпера.

 

В правилах шейпера в Bytes хранится значение переданного и полученного трафика. Нам необходимо обнулить это значение. Обнуление можно выполнить при помощи Reset Counters.

Reset Counters выполнит обнуление для выбранного правила. Еще есть действие Reset All Counters, которое выполняет обнуление для всех правил шейпера, но о нем поговорим немного позже.

Напишем скрипт обнуления:

:for y from=2 to=254 do={:local n; :set n "user$y"; :{/queue simple reset-counters [find name="$n"]}; :{/queue simple set [find name="$n"] max-limit="10M/10M"}}

Заносим в переменную у значения от 2-х до 254-х:  

:for y from=2 to=254

Создаем переменную n:  

:local n;

Заносим в переменную n значения:  

:set n "user$y";

Выполняем обнуление правил шейпера:  

:{/queue simple reset-counters [find name="$n"]

Возвращаем исходное значение скорости для правила шейпера:  

/queue simple set [find name="$n"] max-limit="10M/10M"

 

 Mikrotik Routerboard добавляем скрипт в планировщик

Рис.3. Mikrotik Routerboard, добавляем скрипт в планировщик.

 

Добавляем скрипт в планировщик, устанавливаем время запуска скрипта и интервал.

Таким образом, скрипт будет запускаться один раз в сутки и обнулять все заданные правила шейпера. Такого вида скрипт стоит использовать, если существуют правила шейпера, для которых не нужно выполнять какие-либо действия. Например, наряду с обычными пользователями (для которых выполняется ограничение по трафику) к данному Mikrotik Routerboard подключена организация, которой не нужно ограничивать скорость.

 

 Как обнулить трафик пользователей при помощи скрипта

Рис.4. Mikrotik Routerboard reset-counters-all.

 

Если же все правила шейпера равнозначны, то намного проще воспользоваться возможностями Reset All Counters  “/queue simple reset-counters-all”. Таким образом, мы одним действием обнулим все правила шейпера.

 

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