Mikrotik (IPoE)

Skip to end of metadata
Go to start of metadata
Вы просматриваете старую версию данной страницы. Смотрите текущую версию. Сравнить с текущим  |   просмотр истории страницы

Интеграция заключается в следующих шагах:

  1. Настройка сервисов / политик / профилей на оборудовании
  2. Настройка скрипта event_inc.sh на Ideco ACP для пересылки нужных команд
  3. Создание и настройка RADIUS-атрибутов в тарифах для пользователей

Внимание!

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

Примеры предоставлены исключительно для понимания принципов работы Ideco ACP с сторонним оборудованием.

Настройка оборудования

В данном примере используется простейший шейпер, который не требует предварительного создания очередей на микротике.

Шейперы создаются и применяются к пользователям динамически, при наступлении события rate_set.

Таким образом на микротике необходимо лишь создать адрес-листы.

Внимание! Для применения иных шейперов требуется все шейперы предварительно создать вручную, а также исправить блок rate_set в event_inc.sh

Настройка АСР (event_inc.sh)

В этом скрипте команды на микротик пересылаются с помощью ssh, а не с помощью radius.

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
}

Настройка тарифов

#TODO

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.