Для упрощения, описывается схема авторизации PPPoE (Остальные схемы с использованием Radius почти не отличаются)
Управление осуществляется через SSH консоль (в некоторых случаях будет явно указано использование API), поэтому нужно настраивать авторизацию по SSH сертификатам.
Параметры шейпера записаны в билинге в тарифных планах. К каждому тарифному плану прикреплены интервалы, к каждому интервалу - настройки скорости. (Это позволяет гибкую настройку скорости с точностью до часа недели).
Текущие (действующие в данный момент) правила записываются на микротик в виде queue-trees
. Клиенты позже привязываются к этим queue-trees
через address-list
в названии которого указан ID тарифного плана.
Для обновления параметров шейпера (после изменения тарифных планов) нужно вызывать вручную (или через crontab) скрипт billd checkspeed
.
# /usr/abills/libexec/billd checkspeed mikrotik |
Если указать параметр RECONFIGURE=1, все правила шейпера будут удалены и созданы заново. Если указать параметр NAT=1, будут добавлены правила маскарада (отдельно для каждого тарифного плана)
Если указать опцию конфигурации $conf{SHAPER_RESTART_CMD}, указанная команда будет выполнена после изменения тарифного плана. Можно указать скрипт, который обновит скорости (желательно через sudo)
При авторизации клиента на Mikrotik, он формирует Radius-запрос на билинг в котором передаёт User-Name
и User-Password
в каком-то виде. Биллинг (при успешной авторизации) поднимает у себя сесию и отправляет Radius-ответ в котором могут быть указаны
IP-Address
, который нужно выдать клиенту (если у сервера доступа есть привязка к IP Pool, то IP выдастся из этого пула)
Mikrotik-Address-List
для шейпера и маскарада.