... Интеграция заключается в следующих шагах: # Настройка сервисов / политик / профилей на оборудовании # Настройка скрипта event_inc.sh на Ideco ACP для пересылки нужных команд # Создание и настройка RADIUS-атрибутов в тарифах для пользователей h2. Внимание\! Все предоставленные примеры не обязательно являются рабочими, использовать их для настройки своего оборудования без понимания принципа действия - категорически запрещено. Примеры предоставлены исключительно для понимания принципов работы Ideco ACP с сторонним оборудованием.
|
h2. Настройка оборудования
|
\#TODO
|
В данном примере используется простейший шейпер, который не требует предварительного создания очередей на микротике.
|
|
Шейперы создаются и применяются к пользователям динамически, при наступлении события rate_set. Таким образом на микротике необходимо лишь создать адрес-листы. Внимание\! Для применения иных шейперов требуется все шейперы предварительно создать вручную, а также исправить блок rate_set в event_inc.sh
|
h2. Настройка АСР (event_inc.sh)
|
... В этом скрипте команды на микротик пересылаются с помощью ssh, а не с помощью radius. {code} LOG INFO "$SENDER $EVENT $DATA" [ "$nas_ip" = "0.0.0.0" ] && exit { case "$EVENT" in login|balance_negative|balance_positive|user_data_changed|user_data_changed_before) # LOG INFO "event type: $EVENT $DATA" if [ "$over_limit" = "0" ]; then ssh username@$nas_ip "/ip firewall address-list remove [find address=$ip]" ssh username@$nas_ip "/ip firewall address-list add address=$ip list=balance_positive$router_ip$enabled" else ssh username@$nas_ip "/ip firewall address-list remove [find address=$ip]" ssh username@$nas_ip "/ip firewall address-list add address=$ip list=list_balance_negative" fi ;; "rate_set") if [ "$ceil_out" != "-1" ]; then ssh username@$nas_ip /queue simple remove [find name=$id] ssh username@$nas_ip /queue simple add name=$id target-addresses=$ip max-limit=${ceil_in}k/${ceil_out}k interface=vlan$router_vlan fi ;; "logout") ssh username@$nas_ip "/ip firewall address-list remove [find address=$ip]" ssh username@$nas_ip /queue simple remove [find name=$id] # ssh username@$nas_ip "/ip firewall address-list add address=$ip list=list_balance_negative" ;; "period_closed") LOG INFO "event type: $EVENT $DATA" ;; *) : ;; esac } {code} h2. Настройка тарифов \#TODO
|