... h2. Внимание\!
|
Все предоставленные примеры не обязательно являются рабочими, использовать их для настройки своего оборудования без понимания принципа действия не рекомендуется.
|
Примеры предоставлены исключительно для понимания принципов работы Ideco ACP Carbon Billing с сторонним оборудованием.
|
Также, оборудование нельзя считать запущенным в эксплуатацию, если не все пункты [плана внедрения|http://asrdoc.ideco.ru/pages/viewpage.action?pageId=29033016] завершены успешно.
|
... h2. Настройка оборудования В данном примере используется простейший шейпер, который не требует предварительного создания очередей на микротике. Шейперы создаются и применяются к пользователям динамически, при наступлении события rate_set. Таким образом на микротике необходимо лишь создать адрес-листы: * balance_positive - лист для nat и разрешения выхода в Интернет * balance_negative - лист для переадресации пользователей с отрицательным балансом. Если нужны разные группы пользователей, то можно создать разные адрес листы, и использовать составные листы, например: {code} balance_positive${tariff_id} balance_positive${pull_id} {code} Внимание\! Для применения иных шейперов требуется все шейперы предварительно настроить вручную по [инструкции микротика|http://wiki.mikrotik.com/wiki/Russian/%D0%94%D0%B5%D0%BB%D0%B8%D0%BC_%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82_%D0%B8%D0%BB%D0%B8_QoS_%D0%BD%D0%B0_Mikrotik], а также исправить блок rate_set в event_inc.sh на требуемые для микротика команды. Рекомендуется склеивать команды микротика в одну через знак ' ; ' вместо нескольких последовательных ssh тк ssh долго подключается к микротику. Не рекомендуется использовать более 300-500 пользователей на 1 микротик.
|
|
h2. Настройка АСР (event_inc.sh)
|
h2. Настройка Carbon Billing (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 ) ssh username@$nas_ip "/ip firewall address-list remove [find address=$ip]" if [ "$over_limit" = "0" ]; then ssh username@$nas_ip "/ip firewall address-list add address=$ip list=balance_positive" else 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] ;; period_closed ) LOG INFO "event type: $EVENT $DATA" ;; * ) LOG INFO "event type: $EVENT $DATA" ;; esac } {code} h2. Настройка тарифов Тарифы настраиваются стандартно, т.к radius параметры при данной схеме не используются, а $ceil_in и $ceil_out передаются микротику по SSH каждый раз при возникновении события rate_set. h2. Настройка пользователей Так как микротик не использует Radius, то для пользователей, которые получают доступ в интернет через него необходимо вручную переопределить IP NAS сервера, автоматически этого не произойдет. !99.png|border=1! h2. Добавление в список маршрутизаторов h2. !Снимок-Настройка оборудования.png|border=1!
|