Интеграция биллинга с Mikrotik. Подробная статья.

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (13)

просмотр истории страницы
{toc:maxLevel=2}

h1. Установка Carbon Billing 5

- *Telnet_ip.* IP-адрес для отправки команд. По этому адресу будут отправляться команды биллингом.
- *Telnet_type.* Тип подключения для отправки команд ssh/telnet.
{info}В стандартной скрипте управления используется отправка команд по *ssh*. Так же загрузка схемы на микротик осуществляется по *ssh*. {info}
{note}В стандартном скрипте управления используется отправка команд по *ssh*. Так же загрузка схемы на микротик осуществляется по *ssh*. Обращение производится по стандартному *порту 22*.{note}
- *IP-адрес радиус сервера.* Здесь нужно указать пул billing_ip, который был настроен в предыдущем пункте.
- *IP-адрес кабинета.* Здесь нужно указать пул cabinet_ip, который был настроен в предыдущем пункте.


*1.1* <mark>rtsh *rtsh cfg init mikrotik_simple v1</mark> v1* - инициализировать каталог управления /var/oss/core/Mikrotik. Этим действием мы создаем структуру каталогов и файлов внутри каталога /var/oss/core/Mikrotik

Среди созданных файлов будут шаблоны, на основании которых будет генерироваться схема и ini файлы, в которых будет хранится информация, которую мы добавляли на основной вкладке оборудования. После шага 1.1 файлы создаются со значением по умолчанию.

*1.2* <mark>rtsh *rtsh cfg fill 192.168.248.1</mark> 192.168.248.1* - заполнить ini файлы данными из биллинга. В этом шаге биллинг заменяет значение переменных из ini файлов значением из информации о NAS'e. Например, в файле main.ini идет замена nas_ip="192.168.0.10" (значение по умолчанию) на nas_ip="192.168.248.1"(значение, взятое из настроек NAS'а).

*1.3* <mark>rtsh *rtsh cfg save</mark> save* - сохранить сгенерированные файлы в историю. Этот шаг сохраняет те изменения, которые были сделаны на шаге 1.2.

\\


*2.1* <mark>rtsh *rtsh cfg download</mark> download* - загрузить конфигурационные файлы с оборудования в каталог /var/oss/core/Mikrotik/cur. Этот шаг своего рода бэкап со стороны биллинга Вашей текущей конфигурации.

*2.2* <mark>rtsh *rtsh cfg save</mark> save* - сохранить скаченную конфигурацию в историю.

\\


*3.1* <mark>rtsh *rtsh cfg make</mark> make* - сгенерировать файлы конфигурации из ini-файлов и шаблонов в каталог /var/oss/core/Mikrotik/upload. Этот шаг проводит генерацию конфигурации, которая будет загружена на оборудование. Генерация проходит на основании шаблонов, в которые добавляются переменные из ini файлов. Посмотреть шаблоны можно в /var/oss/core/Mikrotik/tmplt/ а ini файлы в /var/oss/core/Mikrotik/

*3.2* <mark>rtsh *rtsh cfg upload show</mark> show* - вывести все сгенерированные конфигурации. Этот шаг выведет весь конфигурационный файл на экран.

*3.3* <mark>rtsh *rtsh cfg save</mark> save* сохранить сгенерированные конфигурации в историю.

\\


*4.1* <mark>rtsh *rtsh cfg upload</mark> upload* - загрузить сгенерированные конфигурационные файлы в оборудование. На этом шаге идет загрузка конфигурации на оборудование по тем реквизитам, которые указаны в NAS'e и ini файлах. Если загрузка идет через ssh - обязательно проведите предварительное подключение с биллинга до NAS по ssh, перейдя в chroot /app/asr_billing/. Для этого выполните следующие команды с биллинга:

{code}
* [[http://docs.carbonsoft.ru/display/CarbonBilling/DHCP|http://docs.carbonsoft.ru/display/CarbonBilling/DHCP]]
* [[http://docs.carbonsoft.ru/pages/viewpage.action?pageId=52428856|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=52428856]]

h1.Решение проблем

h6.Замечания по API
Команды на добавление очереди, а также работы с адрес листами crb_negbal_list, crb_block_list в стандартной схеме отправляются по API.
Соответсвенно API в микротике должен быть включен и доступен с биллинга.
Для проверки отправки команд по API можно использовать команду: {code}chroot /app/asr_billing send_mikrotik_cmd mikrotik_IP mikrotik_login mikrotik_password /ip firewall address-list add list=crb_negbal_list address=10.20.30.40/32 comment=10.20.30.40/32_crb_negbal{code}

{note}
Для отправки команд на mikrotik по API используется стандартный TCP порт 8728.
{note}

h6.Медленная отправка команд
При работе схемы вызываются события на удаление записей из адрес листов. Например отмена перенаправления:

{code}user_redirect_cancel(){
while send_mikrotik_cmd -s "$nas_ip" "$telnet_login" "$telnet_password" /ip firewall address-list remove numbers=${ip}_crb_negbal; do :; done
}
{code}

При этом при большом количестве событий в адрес листе наблюдается медленная обработка команды. Это связано с тем, что микротик проводит поиск по всем записям адрес листа. При отправке одиночной команды задержку не заметно, но при массовой авторизации абонентов отправка всех команд может занять значительное время. Для решения проблемы необходимо уменьшить количестов записей в адрес листе микротика. Рекомендуемое значение: менее *10000* записей.