Просмотр Исходного

* Пример сделан на основе стандартного скрипта схемы Mikrotik-Simple, но так же подойдет для Mikrotik-Simple-Hotspot.
* Изменена только функция user_rate_set. Можно сперва интегрировать оборудование по стандартной схеме, после переопределив только эту функцию в папке [ubin|Пользовательская схема]
* Будет работать только при указании всех четырёх переменных в настойках услуги трафика:
*- Вх. буфер RATE, байт (BURST_IN)
*- Исх. буфер RATE, байт (BURST_OUT)
*- BURST_THRESHOLD
*- BURST_TIME
* *burst-threshold* и *burst-time* равны для входящего и исходящего трафика

{code}#!/bin/bash
. $(dirname $BASH_SOURCE)/../bin/session

user_rate_set(){
# Сначала удалим из старого сервиса, потом добавим в новый
while send_mikrotik_cmd -s "$nas_ip" "${telnet_login}" "${telnet_password}" /queue simple remove numbers=crb_${ip}; do :; done
#Если в тарифе заданы все переменные относящиеся к burs, применяем их
if [[ -z ${burst_in} || -z ${burst_out} || -z ${burst_threshold} || -z ${burst_time} ]]; then
send_mikrotik_cmd "$nas_ip" "${telnet_login}" "${telnet_password}" /queue simple add name=crb_${ip} target=${ip}/32 parent=none priority=8/8 queue=default-small/default-small limit-at=0/0 max-limit=${ceil_out}K/${ceil_in}K burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s

else
send_mikrotik_cmd "$nas_ip" "${telnet_login}" "${telnet_password}" /queue simple add name=crb_${ip} target=${ip}/32 parent=none priority=8/8 queue=default-small/default-small limit-at=0/0 max-limit=${ceil_out}K/${ceil_in}K burst-limit=${burst_in}K/${burst_out}K burst-threshold=${burst_threshold}K/${burst_threshold}K burst-time=${burst_time}s/${burst_time}s
fi
}{code}

*Примечание:* При отправке параметров burst через настройки радиус в атрибутах NAS'a, при условии, что в услуге не заданы параметры скорости, будет отправляться по умолчанию значение скорости 100001