|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (20)
просмотр истории страницы{info}Помощь по внедрению пользовательских схем и тюнингу стандартных схем оказывается только на уровнях подписки "*Сопровождение*" и "*Аутсорсинг*". На подписках "*Стандарт*" и "*Бизнес*" предлагается использовать [стандартные схемы внедрения|CarbonBilling:Стандартные схемы].{info} |
Интеграция пользовательской схемы состоит из трёх этапов: |
... |
\\ !nas_add_form.png|border=0,width=350!\\ \\ |
# Обратите внимание, что после сохранения автоматический должно заполниться поле "*OSS Каталог управления*" |
\\ \\ !nas_created.png|border=0,width=350!\\ |
... |
\\ !nas_management_tab.png|border=0,width=550!\\ \\ |
# Должно появиться всплывающее окно, через несколько секунд появится надмпись "/usr/local/bin/rtsh cfg init default_v1 \[8032\] is finished" |
\\ |
\\ !nas_initiated.png|border=0,width=400!\\ |
\\ |
\\ |
# Подключитесь к серверу по SSH и проверьте что файлы схемы создались: посмотрите какой указан путь до OSS каталога в настройках NAS и подставьте в команду: \\ |
... |
Вывод должен быть приблизительно следующий: \\ |
\\ !nas_list_files.png|border=1! |
|
h1. Настройте авторизацию RADIUS если это требуется На вкладке "*Дополнительно*" выберите по какому параметру (Логин, IP или MAC) искать абонента в биллинге. Подробней как это настроить и отладить описано в статье "[CarbonBilling:Авторизация по RADIUS]" |
h1. Кастомизируйте скрипт |
# Зайдите в контейрнер биллинга |
{code}chroot /app/asr_billing{code} |
Перейдите в каталог со с файлами схемы, каталог можно посмотреть в интерфейсе биллинга в настройках NAS. В нашем примере это "/var/oss/core/MyNAS/" |
{code}cd /var/oss/core/MyNAS/{code} # Скопируйте шаблон скрипта управления session |
... |
или MC {code}mcedit ubin/session{code} |
# Добавьте в скрипт ссылку на основной скрипт session. Это нужно чтобы правильно работала необходимо для правильной работы [синхронизация|CarbonBilling:Синхронизация абонентов на оборудовании]. Первые две строки в скрипте должны выглядеть так: |
{code}#!/bin/bash . $(dirname $BASH_SOURCE)/../bin/session {code} |
# Добавьте [Опишите команды|CarbonBilling:Состояния пользователей, услуг и команды управления интернет] необходимые для управления Вашим оборудованием. Например, событие user_accept, которое проходит при любой разблокировке пользователя. |
{code}user_accept(){ __coa_send ip forward_allow add $ip |
... |
{code} |
h1. Перезапустите [CarbonBilling:nas_event_daemon] Чтобы слжба использовала исправленный скрипт для отправки команд, перезапустите её после исправления скрипта {code}chroot /app/asr_billing service nas_event_daemon restart{code} |
h1. Проверьте что получилось |
Выполните несколько команд, которые добавили в скрипте. |
Например, для проверки работоспособности функции user_accept выполните следующую команду: {code:title=Запрос к клиенту 192.168.200.2} |
... |
{code:title=В ответ будет представлен вывод:} |
2020-07-14 05:58:11 ssh 192.168.10.2 localhost.localdomain rtsh session 192.168.200.2 accept[19416echo 'env ip=192.168.200.2 abonent_id=1361 user_id=1413 login=BILL0000100 snatip= mac= logged=True redirect=False blocked=False |
rate_in= ceil_in= burst_in= cburst_out= rate_out= ceil_out= burst_out= cburst_in= nas_ip=192.168.0.5 telnet_login=bill telnet_password=billadmin auth_type=1' |
env ip=192.168.200.2 abonent_id=1361 user_id=1413 login=BILL0000100 snatip= mac= logged=True redirect=False blocked=False rate_in= ceil_in= burst_in= cburst_out= rate_out= ceil_out= burst_out= cburst_in= |
nas_ip=192.168.0.5 telnet_login=bill telnet_password=billadmin auth_type=1 2020-07-14 05:58:11 ssh 192.168.10.2 localhost.localdomain rtsh session 192.168.200.2 accept[19416user_accept |
... |
{code:title=Вывод:} 2020-07-14 05:59:37 ssh 192.168.10.2 localhost.localdomain rtsh session 192.168.200.2 get_mac[2074echo 'env ip=192.168.200.2 abonent_id=1361 user_id=1413 login=BILL0000100 snatip= mac= logged=True redirect=False |
|
blocked=False rate_in= ceil_in= burst_in= cburst_out= rate_out= ceil_out= burst_out= cburst_in= nas_ip=192.168.0.5 telnet_login=bill telnet_password=billadmin auth_type=1' |
env ip=192.168.200.2 abonent_id=1361 user_id=1413 login=BILL0000100 snatip= mac= logged=True redirect=False |
blocked=False rate_in= ceil_in= burst_in= cburst_out= rate_out= ceil_out= burst_out= cburst_in= nas_ip=192.168.0.5 telnet_login=bill telnet_password=billadmin auth_type=1 2020-07-14 05:59:37 ssh 192.168.10.2 localhost.localdomain rtsh session 192.168.200.2 get_mac[2074user_get_mac |
... |
{code:title=Вывод:} |
2020-07-14 06:17:03 ssh 192.168.10.2 localhost.localdomain rtsh session 192.168.200.2 drop[13792]:echo 'env ip=192.168.200.2 abonent_id=1361 user_id=1413 login=BILL0000100 snatip= mac= logged=True |
redirect=False blocked=False rate_in= ceil_in= burst_in= cburst_out= rate_out= ceil_out= burst_out= cburst_in= nas_ip=192.168.0.5 telnet_login=bill telnet_password=billadmin auth_type=1' |
env ip=192.168.200.2 abonent_id=1361 user_id=1413 login=BILL0000100 snatip= mac= logged=True redirect=False blocked=False rate_in= ceil_in= burst_in= cburst_out= rate_out= ceil_out= burst_out= cburst_in= |
nas_ip=192.168.0.5 telnet_login=bill telnet_password=billadmin auth_type=1 2020-07-14 06:17:03 ssh 192.168.10.2 localhost.localdomain rtsh session 192.168.200.2 drop[13792]:user_drop |
2020-07-14 06:17:03 ssh 192.168.10.2 localhost.localdomain rtsh session 192.168.200.2 drop[13792]:send_mikrotik_cmd 192.168.0.5 bill+ct billadmin /ip firewall address-list add list=crb_blocked_list |
address=192.168.200.2 comment=192.168.200.2_crb_blocked 2020-07-14 06:17:03 ssh 192.168.10.2 localhost.localdomain rtsh session 192.168.200.2 drop[13792]:set +x |
... |