Mikrotik (IPoE)

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

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

  1. Настройка сервисов / политик / профилей / access list на оборудовании
  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"
                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=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=balance_negative"
                ;;
        "period_closed")
                LOG INFO "event type: $EVENT $DATA"
                ;;
        *)
                :
                ;;
        esac
}

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

#TODO

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