1. Системные требования
Определите, какие версии модулей АСР LANBilling хотите установить, и по таблице совместимости подберите компоненты ОС.
Как правило, требуются следующие компоненты:
- СУБД MySQL 5.7.x
- Веб-сервер Apache
- PHP 7.x и его библиотеки:
- mysq
- libjpeg
- libpng
- gd
- bcmath
- iconv
- soap
- multibyte strings
- sockets
- ghostscript — чтобы генерировать шаблоны в формате pdf
- pdftk — чтобы «склеивать» pdf-документы в один файл
- Python 3.x
- OpenSSL
2. Установить дополнительные пакеты
Вам потребуются:
-
python3-simplejson — используется некоторыми скриптами, например платёжным скриптом банка Тинькофф. Для установки требуется Python 3.8. Чтобы узнать актуальное название библиотеки, воспользуйтесь командой:
pkg search simplejson
-
logrotate — утилита ротации логов. Она должна быть на каждом сервере, где будут установлены компоненты АСР LANBilling.
Чтобы установить дополнительные пакеты, введите команду:
pkg -y install py38-simplejson logrotate
3. Подготовить сетевые порты
- Список портов, которые АСР LANBilling использует по умолчанию.
- Настроить порты для исходящих соединений.
Список портов, которые АСР LANBilling использует по умолчанию
Перед началом установки эти порты должны быть открыты.
Направление | Сервер | Протокол | Описание | |
---|---|---|---|---|
На вход | Сервер |
HTTP\HTTPS | 80 (443) | Для доступа к веб-интерфейсам АСР LANBilling |
На вход | Сервер LBcore | JSON\JSON-SSL | 1502 (1503) | Для связи LBcore с модулями сетевых агентов. Также к этому порту обращается веб-интерфейс |
На вход | Сервер LBcore | SOAP | 34012 | Для связи LBcore с личным кабинетом абонента и со старым административным интерфейсом (объявлен deprecated с 2.0.30). Также — для доступа по API |
На вход | Сервер БД | MySQL | 3306 | Используется, если MySQL находится на отдельном сервере. LBcore и модули агентов должны иметь доступ к этому порту. Обратите внимание: MySQL по умолчанию слушает только 127.0.0.1 (параметр bind) |
На выход | До сервера lic.lanbilling.ru | Лицензирование | 34100 во внешнюю сеть | Используется, чтобы активировать лицензию |
Настроить порты для исходящих соединений
Ограничьте диапазон выдаваемых портов. Если этого не сделать, могут возникнуть сбои — например, LBcore попытается дважды подключиться к одному порту, и все процессы будут заблокированы.
-
Выполните команды:
sysctl net.inet.ip.portrange.first=35000 sysctl net.inet.ip.portrange.last=60999 sysctl net.inet.ip.portrange.randomized=0
-
Откройте файл:
/etc/sysctl.conf
Добавьте в него строки с диапазонами портов, чтобы настройки не сбились после перезагрузки.
sysctl net.inet.ip.portrange.first=35000 sysctl net.inet.ip.portrange.last=60999 sysctl net.inet.ip.portrange.randomized=0
4. Установить и настроить MySQL-сервер
- Установить MySQL-сервер.
- Настроить MySQL-сервер.
- Запустить MySQL-сервер.
Установить MySQL-сервер
Выполните команду:
pkg install -y mysql80-server
Настроить MySQL-сервер
-
Откройте файл конфигурации.
/usr/local/etc/mysql/my.cnf
-
Некоторые параметры в файле конфигурации уже заданы. Проверьте их, измените и добавьте недостающие.
Обязательно задайте lower_case_table_names = 0 перед первым запуском MySQL-сервера. Этот параметр приводит имена таблиц к нижнему регистру. Если его не отключить, возникнут проблемы при обновлении таблиц.
[mysqld] lower_case_table_names = 0 collation-server = utf8_general_ci character-set-server = utf8 default-authentication-plugin = mysql_native_password character-sets-dir = /usr/share/mysql/charsets skip-character-set-client-handshake skip-name-resolve innodb_file_per_table = ON ssl = 0 sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION innodb_stats_on_metadata = 0 group_concat_max_len = 1000000000 enforce_gtid_consistency = OFF gtid_mode = OFF log_bin_trust_function_creators = 1 performance_schema = OFF explicit_defaults_for_timestamp key_buffer_size = 64M max_heap_table_size = 128M tmp_table_size = 128M innodb_buffer_pool_size = 512M innodb_buffer_pool_instances = 1 innodb_log_file_size = 64M slow_query_log = 1 innodb_flush_method=O_DIRECT innodb-flush-log-at-trx-commit = 2
Запустить MySQL-сервер
-
Выполните инициализацию.
/usr/local/libexec/mysqld --initialize
В результате будет сгенерирован пароль.
A temporary password is generated for root@localhost: пароль
-
Добавьте MySQL в автозагрузку.
sysrc mysql_enable=yes
-
Для запуска используйте команду:
service mysql-server start
-
Все дальнейшие действия будут выполняться от имени пользователя root. Если хотите задать свой пароль, введите команду:
mysqladmin -p password
Затем в строке Enter password укажите пароль, который был сгенерирован при установке MySQL.
В строке New password введите новый пароль или нажмите Enter, чтобы оставить пароль пустым.
В строке Confirm new password ещё раз введите новый пароль или снова нажмите Enter, чтобы оставить его пустым.
5. Установить и настроить веб-сервер
- Установить Apache2 и PHP.
- Настроить Apache2.
- Настроить PHP.
- Перезапустить Apache2.
Установить Apache2 и PHP
-
Установите SSL.
pkg install -y openssl
-
Установите Apache2.
pkg install -y apache24
-
Добавьте Apache2 в автозагрузку.
sysrc apache24_enable=yes
-
Установите PHP.
pkg -y install php73 mod_php73 php73-extensions php73-json php73-gd php73-iconv php73-mbstring php73-soap php73-sockets php73-bcmath mod_php73 php73-mysqli php73-curl
Настроить Apache2
-
Откройте файл конфигурации.
/usr/local/etc/apache24/httpd.conf
-
Найдите разделы, перечисленные ниже. Убедитесь, что в них есть указанные строки. Если нет, добавьте или измените их.
<IfModule mime_module> AddType application/x-httpd-php .php <IfModule dir_module> DirectoryIndex index.html index.php <Directory "/usr/local/www/apache24/data"> AllowOverride All
Настроить PHP
-
Скопируйте файл с настройками.
cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
-
Откройте файл:
/usr/local/etc/php.ini
-
В файле уже заданы параметры. Приведите их к этим значениям:
date.timezone = Europe/Moscow max_execution_time = 3600 default_socket_timeout = 3600 max_input_vars = 10000 memory_limit = 1024M session.gc_probability = 0
В параметре date.timezone укажите свою временную зону. Полный список зон можно посмотреть здесь.
Перезапустить Apache2
После всех изменений перезапустите веб-сервер — введите команду:
service apache24 restart
6. Скачать компоненты АСР LANBilling
Дистрибутив АСР LANBilling для FreeBSD 12 распространяется в виде бинарного пакета txz. В названии пакета содержатся основные сведения о нём. Рассмотрим на примере
- lbcore — название модуля;
- 2.0 — версия релиза;
- 37 — номер релиза;
- 0 — порядковый номер прохождения полного тестирования (начиная с 0);
- -2 — версия пакета;
- 20210322 — дата сборки;
- gitd3a12a87 — номер ревизии модуля;
- freebsd12.amd64 — ОС, для которой собран пакет.
Скачайте пакет из личного кабинета в Satisfy CRM.
- В личном кабинете перейдите на вкладку «Загрузки».
- Нажмите
в строке с названием пакета.
- Перенесите пакет на сервер, где будете устанавливать модуль. В этой инструкции предполагается, что пакеты хранятся в директории /root/
Вам потребуются:
-
пакет lbcore сборки 2.0.37 и выше — чтобы установить ядро АСР LANBilling;
-
пакеты lbweb-common и lbweb-admin — чтобы установить административный интерфейс;
-
пакеты lbweb-common и lbweb-client — чтобы установить личный кабинет для абонентов;
-
пакеты для установки модулей сетевых агентов — например, LBucd для Netflow и LBarcd для RADIUS. Конкретный список модулей зависит от того, какие платформы вы будете использовать.
Платформа Сетевой агент Модуль Платформа «интернет», DialUp, авторизация абонентов RADIUS LBarcd Платформа «интернет», широкополосный доступ, без авторизации Netflow LBucd Телефония LBPhone LBphone IP-телефония VoIP LBircd
7. Установить и запустить LBcore
- Установите LBcore.
- Создайте базу данных.
- Настройте LBcore.
- Запустите LBcore.
Установить LBcore
LBcore — модуль ядра АСР LANBilling. В этой инструкции предполагается, что вы устанавливаете MySQL и LBcore на один сервер.
-
Убедитесь, что уже установили:
-
Установите пакет ядра. Пример:
pkg add lbcore-2.0.37.0-2.20210322gitd3a12a87.freebsd12.amd64.txz
-
После установки пакета создаётся образец файла конфигурации. Создайте из него рабочий файл конфигурации:
cp /etc/billing.conf.sample /etc/billing.conf
Создать БД LBcore
-
Зайдите в MySQL под пользователем root — команда mysql. Если вы задавали пароль — mysql -p%пароль%.
-
Создайте пустую базу данных и предоставьте пользователю права администратора.
CREATE DATABASE billing DEFAULT CHARSET utf8; CREATE USER IF NOT EXISTS 'billing'@'localhost' IDENTIFIED WITH mysql_native_password BY 'billing'; CREATE USER IF NOT EXISTS 'billing'@'127.0.0.1' IDENTIFIED WITH mysql_native_password BY 'billing'; GRANT ALL ON `billing`.* TO 'billing'@'localhost'; GRANT ALL ON `billing`.* TO 'billing'@'127.0.0.1';
-
Создайте структуру БД с помощью скрипта create.sql
mysql billing < /usr/local/billing/mysql/create.sql
Настроить LBcore
-
Откройте файл конфигурации:
/etc/billing.conf
Убедитесь, что указаны параметры доступа, которые вы задавали при создании БД. Если нет, исправьте их. Данные должны быть в формате dbuser:dbpass@dbhost:dbport/dbname.
- dbuser и dbpass — логин и пароль администратора.
- dbhost — IP-адрес сервера, где установлена БД.
- dbport — номер порта.
- dbname — название БД.
Если не указать dbport, будет использоваться порт 3306. Пример для случая, когда LBcore и MySQL установлены на одном сервере и используется порт по умолчанию:
#Database address database = mysql://billing:billing@127.0.0.1/billing
-
Загрузите каталог телефонных кодов, если будете использовать платформу «телефония»:
mysql -u root -p -A billing < /usr/local/billing/mysql/catalog.sql
-
Загрузите справочник адресов — КЛАДР.
mysql -u root -p -A billing < /usr/local/billing/mysql/claddr.sql
Запустить LBcore
-
Добавьте ядро в автозагрузку.
sysrc lbcore_enable=yes
-
Запустите модуль ядра.
service lbcore start
8. Настроить ротацию лог-файлов
-
Убедитесь, что установлена утилита logrotate.
pkg info logrotate
-
Если logrotate нет, установите её.
pkg install logrotate
-
Скопируйте файл
lbrotate.conf. cp /etc/lanbilling/lbrotate.conf /usr/local/etc/logrotate.d/
По умолчанию logrotate прописывается в cron.daily и запускается каждый день в 03:01.
В версии АСР LANBilling 2.0.33 и выше лог-файлы по умолчанию находятся в директории:
/var/log/billing/
Подробнее о структуре файла и параметрах можно прочитать здесь.
9. Установить административный интерфейс 3.x
Административный интерфейс — веб-приложение, в котором работает оператор связи. Например, системные администраторы задают в нём настройки сети, а менеджеры оператора создают профили абонентов и следят за списаниями.
Обратите внимание: для первого старта интерфейс нужно установить на том же сервере, что и ядро. По умолчанию LBcore принимает запросы только с localhost или 127.0.0.1. В дальнейшем вы можете развернуть административный интерфейс на другом хосте.
-
Убедитесь, что уже установили и настроили:
-
Убедитесь, что скачали пакеты lbweb-common и lbweb-admin. Процесс установки описан исходя из того, что они сохранены на сервере в директории /root/.
-
Установите пакеты lbweb-common и lbweb-admin. Вместо X.Y.Z-Z укажите версию релиза.
pkg add lbweb-common_X.Y.Z-Z.txz pkg add lbweb-admin_X.Y.Z-Z.txz
-
При установке пакета создаётся пример файла конфигурации. Создайте из него файл конфигурации.
cp /usr/local/etc/lanbilling/phpclient/admin/admin.ini.sample /usr/local/etc/lanbilling/phpclient/admin/admin.ini
-
Сериализуйте файл конфигурации.
/usr/local/sbin/lbwebcfg -y admin /usr/local/etc/lanbilling/phpclient/admin/
-
Скопируйте файлы конфигурации веб-сервера.
cp /usr/local/etc/lanbilling/phpclient/apache2/lbweb-admin.apache2.sample /usr/local/etc/apache24/Includes/lbweb-admin.conf
-
Перезапустите веб-сервер, чтобы применить настройки.
service apache24 restart
Административный интерфейс установлен. Он доступен по адресу
Если вы будете работать с административным интерфейсом на том же сервере, где установлено ядро, просто активируйте лицензию.
Если вы будете использовать другой сервер, сначала установите на нём веб-сервер и административный интерфейс. Затем активируйте лицензию.
Установить административный интерфейс на другом сервере
-
Откройте административный интерфейс. Перейдите в раздел «Опции» — «Доверенные хосты» и добавьте адрес сервера в доверенные.
-
На новом хосте установите веб-сервер.
-
Скачайте на новый сервер пакеты lbweb-common и lbweb-admin. Процесс установки описан исходя из того, что установочные пакеты сохранены на сервере в директории /root/.
-
Установите пакеты lbweb-common и lbweb-admin. Вместо X.Y.Z-Z укажите версию релиза.
pkg add lbweb-common_X.Y.Z-Z.txz pkg add lbweb-admin_X.Y.Z-Z.txz
-
После установки пакета создаётся образец файла конфигурации. Создайте из него рабочий файл конфигурации:
cp /usr/local/etc/lanbilling/phpclient/admin/admin.ini.sample /usr/local/etc/lanbilling/phpclient/admin/admin.ini
-
Откройте файл конфигурации:
/usr/local/etc/lanbilling/phpclient/admin/admin.ini
Укажите в нём:
- host — IP-адрес сервера, где установлен LBcore;
- port — порт для доступа к LBcore.
-
Сериализуйте файл конфигурации.
/usr/local/sbin/lbwebcfg -y admin /usr/local/etc/lanbilling/phpclient/admin/
-
Также убедитесь, что:
- LBcore слушает порт 1502  — к нему будет обращаться административный интерфейс;
- фаервол разрешает передавать пакеты на порт 1502.
-
Скопируйте файлы конфигурации веб-сервера.
cp /usr/local/etc/lanbilling/phpclient/apache2/lbweb-admin.apache2.sample /usr/local/etc/apache24/Includes/lbweb-admin.conf
-
Перезапустите Apache.
service apache24 restart
Чтобы приступить к работе в административном интерфейсе, активируйте лицензию.
10. Активировать лицензию
После покупки АСР LANBilling оператор получает ключ активации — он доступен в личном кабинете Satisfy CRM.
Порядок действий:
- Убедитесь, что на сервере LBcore открыт доступ к серверу lic.lanbilling.ru и порт 34100.
- В административном интерфейсе укажите название оператора.
- Активируйте лицензионный ключ.
Обратите внимание: если вы сначала активируете лицензию, а потом переименуете оператора, понадобится новый ключ.
Указать название оператора
По умолчанию организация оператора называется Default operator. Переименуйте её, чтобы в дальнейшем в документах отображалось правильное название.
-
Войдите в административный интерфейс. Введите логин admin и нажмите «Войти». Пароль не нужен.
-
Перейдите в раздел «Объекты» — «Пользователи».
-
В фильтре укажите категорию «Оператор» и нажмите «Найти».
-
Кликните рядом с названием Default operator. -
Откроется карточка оператора. В начале работы достаточно указать только название, остальные реквизиты можно добавить позже. Нажмите «Сохранить».
Активировать лицензионный ключ
-
Откройте раздел «Опции» — «Настройки».
-
Перейдите на вкладку «Лицензии».
-
Нажмите «Активировать лицензию». Убедитесь, что название организации указано верно, если нет — переименуйте её. Введите ключ.
-
Кликните «Активировать».
Лицензия активирована. Можно приступать к работе в административном интерфейсе.
11. Создать сетевые агенты и установить их модули
С помощью сетевых агентов АСР LANBilling обменивается данными с операторским оборудованием — это позволяет собирать информацию о трафике и тарифицировать услуги.
Прежде чем устанавливать модули для сетевых агентов, убедитесь, что выполнили обязательные шаги.
- Заранее скачали пакеты модулей и перенесли на те серверы, где будете их устанавливать.
- Установили MySQL-сервер.
- Установили веб-сервер.
- Установили модуль ядра — LBcore.
- Установили административный интерфейс.
- Активировали лицензию.
В этой инструкции описана установка и настройка следующих агентов и модулей:
- агент RADIUS, модуль LBarcd;
- агент Netflow, модуль LBucd;
- агент телефонии LBphone, модуль LBphone;
- агент IP-телефонии VoIP, модуль LBircd.
Создать агент RADIUS, установить модуль LBarcd
- Установите модуль LBarcd.
- Создайте БД для RADIUS-агента.
- Создайте и настройте RADIUS-агент в административном интерфейсе.
- Задайте параметры в файле конфигурации.
- Запустите модуль LBarcd.
- Проверьте результат синхронизации.
- Настройте ротацию лог-файлов — если LBarcd находится не на том же сервере, что LBcore.
Установить модуль LBarcd
Перейдите в консоль сервера. Установите пакет модуля LBarcd. Пример:
pkg add lbarcd-2.0.37.0-2.20210322gitd3a12a87.freebsd12.amd64.txz
Создать БД для RADIUS-агента
Обратите внимание: версии MySQL, на которых настраивются БД LBcore и RADIUS-агента, должны совпадать.
-
Зайдите в MySQL под пользователем root — команда mysql. Если вы задавали пароль — mysql -p%пароль%.
-
Создайте базу данных для агента RADIUS. Укажите данные пользователя и права доступа.
CREATE DATABASE radius DEFAULT CHARSET utf8; CREATE USER IF NOT EXISTS 'radius'@'localhost' IDENTIFIED WITH mysql_native_password BY 'radius'; CREATE USER IF NOT EXISTS 'radius'@'127.0.0.1' IDENTIFIED WITH mysql_native_password BY 'radius'; GRANT ALL ON `radius`.* TO 'billing'@'127.0.0.1'; GRANT ALL ON `radius`.* TO 'billing'@'localhost';
-
Чтобы создать структуру БД RADIUS, используйте скрипт:
mysql radius < /usr/local/billing/mysql/lbarcd/rad_create.sql
Создать и настроить RADIUS-агент в административном интерфейсе
- Войдите в административный интерфейс.
- Перейдите в раздел «Объекты» — «Агенты».
- Нажмите «Добавить». Выберите тип RADIUS, введите имя и описание агента.
- Нажмите «Сохранить». После этого в карточке агента станут доступны дополнительные настройки.
- Настройте сервер доступа на вкладке «Общие сведения». Для каждого RADIUS-агента нужно настроить как минимум один сервер доступа (NAS). Он определяет, с каких адресов агент будет принимать запросы на аутентификацию. Также сервер доступа может выделять адреса: когда абонент попытается авторизоваться, NAS запросит у RADIUS-агента доступный IP и присвоит его сессии.
- На вкладке «Словарь RADIUS-атрибутов» уже добавлены базовые атрибуты, с которыми работают все NAS. Вы можете добавить в словарь особые атрибуты вендора — VSA. Также вы можете создать свои атрибуты, которые будут использоваться вместо базовых.
- Обязательно закрепите за этим агентом хотя бы одну подсеть — то нужно, чтобы в дальнейшем выдавать абонентам адреса из этих сегментов. Перейдите на вкладку «Управление сетями» или «Управление сетями IPv6». Нажмите «Добавить», укажите параметры подсети и сохраните запись.
- На вкладке «Особые настройки» задайте: выделение IP-адресов, параметры авторизации и настройки сессий. Также можно настроить DHCP-сервер. Настройка подробно описана в документации, раздел «6. Работа с сетевыми агентами».
- Нажмите «К списку», чтобы показать полный перечень сетевых агентов. Запишите ID агента — он отображается слева.
Задать параметры в файле конфигурации
Откройте конфигурационный файл:
/etc/billing.conf.LBarcd
Задайте параметры.
-
Доступ к БД в формате
mysql://db_login:db_pass@db_ip/db_name. - db_login и db_pass — реквизиты доступа к БД.
- db_ip — IP-адрес сервера, на котором создана БД. Например, 127.0.0.1 или localhost.
- db_name — название БД RADIUS.
Пример:
#Database address database = mysql://radius:radius@127.0.0.1/radius
-
Доступ к ядру АСР LANBilling в формате
login:pass@ip:port. - login и pass — логин и пароль администратора АСР LANBilling.
- ip и port — IP-адрес и порт сервера, на котором установлен LBcore.
Пример:
# Access to LBcore server server = admin@127.0.0.1:1502
-
ID RADIUS-агента из административного интерфейса.
Пример:
# Agent ID. (Must be unique) sysid = 1
-
В дальнейшем вам потребуется проверить, успешно ли синхронизировались БД RADIUS и БД LBcore. Для этого установите режим логирования debug.
Пример:
# Log verbosity level: error, warning, info, verbose, debug log_level = debug
Запустить модуль LBarcd
-
Добавьте модуль в автозагрузку.
sysrc lbarcd_enable=yes
-
Запустите LBarcd.
service lbarcd start
Проверить результат синхронизации
Когда вы запускаете агент впервые, его БД синхронизируется с БД LBcore. Если данных много, синхронизация может занять продолжительное время. Чтобы убедиться, что синхронизация прошла успешно, проверьте логи.
-
Откройте файл:
/var/log/billing/lbarcd.log
Если синхронизация прошла успешно, в логах будет запись Synchronize with LBserver complete.
-
На этапе внедрения АСР LANBilling лучше использовать режим логирования debug — он поможет контролировать работу системы и диагностировать ошибки. Однако этот режим требует много места на диске, поэтому после внедрения установите info или verbose.
Откройте файл конфигурации:
/etc/billing.conf.LBarcd
Установите режим логирования. Пример:
# Log verbosity level: error, warning, info, verbose, debug log_level = info
Настроить ротацию лог-файлов для LBarcd
Если вы устанавливаете LBarcd на отдельный сервер (не туда же, где установлен LBcore), настройте на нём ротацию лог-файлов.
Создать агент Netflow, установить модуль LBucd
- Установите модуль LBucd.
- Выберите режим работы.
- Создайте БД для статистики, если выбрали режим Safe.
- Создайте и настройте Netflow-агент в административном интерфейсе.
- Задайте параметры в файле конфигурации.
- Запустите модуль LBucd.
- Настройте ротацию лог-файлов — если LBucd находится не на том же сервере, что LBcore.
Установить модуль LBucd
-
Перейдите в консоль сервера. Установите пакет модуля LBucd. Пример:
pkg add lbucd-2.0.37.0-2.20210322gitd3a12a87.freebsd12.amd64.txz
-
После установки пакета создаётся образец файла конфигурации. Создайте из него рабочий файл конфигурации:
cp /etc/billing.conf.LBucd.sample /etc/billing.conf.LBucd
- Main — вся статистика сохраняется в БД LBcore. Это оптимальный режим работы для знакомства с системой. Для него не нужно создавать дополнительную БД.
- Safe — первичные данные сохраняются в отдельную БД, а в базу данных ядра передаётся только суммированная информация об однотипном трафике. Чтобы работать в режиме Safe, создайте БД для статистики.
-
Зайдите в MySQL под пользователем root — команда mysql. Если вы задавали пароль — mysql -p%пароль%.
-
Создайте базу данных, настройте доступ к ней.
CREATE DATABASE billing_safe DEFAULT CHARSET utf8; GRANT ALL ON `billing_safe`.* TO 'billing'@'localhost'; GRANT ALL ON `billing_safe`.* TO 'billing'@'127.0.0.1';
-
Чтобы создать структуру БД, используйте скрипт:
mysql billing_safe < /usr/local/billing/mysql/lbucd/ucd_create.sql
-
Войдите в административный интерфейс.
-
Перейдите в раздел «Объекты» — «Агенты».
-
Нажмите «Добавить». Выберите тип Netflow, введите имя и описание агента.
-
Перейдите на вкладку «Особые настройки». В полях «Прослушивать IP» и «Прослушивать порт» укажите, какой IP-адрес и UDP-порт будет прослушивать Netflow-агент. Если не задать эти настройки, агент будет прослушивать порт 7223\UDP на всех сетевых интерфейсах.
-
Нажмите «Сохранить». После этого в карточке агента появятся вкладки «Управление сетями» и «Управление сетями IPv6».
-
Обязательно закрепите за этим агентом хотя бы одну подсеть.
Перейдите на вкладку «Управление сетями» или «Управление сетями IPv6».
Нажмите «Добавить», укажите параметры подсети и сохраните их.
-
На вкладке «Особые настройки» задайте параметры сетевого агента. Настройка подробно описана в документации, раздел «6. Работа с сетевыми агентами».
-
Нажмите «К списку», чтобы показать полный перечень сетевых агентов. Запишите ID агента — он отображается слева.
-
Режим работы: Main или Safe. Пример:
# Agent mode type = main
-
Если выбрали режим Safe, укажите параметры доступа к БД статистики в формате
mysql://db_login:db_pass@db_ip/db_name. - db_ip — IP-адрес сервера, на котором создана БД. Например, 127.0.0.1 или localhost.
- db_name — название БД Netflow.
Пример:
# Local DB access parameters stat_database = mysql://billing:billing@127.0.0.1/lbucd
-
Доступ к БД LBcore в формате
mysql://db_login:db_pass@db_ip/db_name - db_login и db_pass — реквизиты доступа к БД.
- db_ip — IP-адрес сервера, на котором создана БД. Например, 127.0.0.1 или localhost.
- db_name — название БД LBcore.
Пример:
#Database address database = mysql://billing:billing@127.0.0.1/billing
-
Доступ к ядру АСР LANBilling в формате
login:pass@ip:port. - login и pass — логин и пароль администратора АСР LANBilling.
- ip и port — IP-адрес и порт сервера, который прослушивает LBcore.
Пример:
# Access to LBcore server server = admin@127.0.0.1:1502
-
ID Netflow-агента из административного интерфейса.
Пример:
# Agent ID. (Must be unique) sysid = 2
-
Добавьте модуль в автозагрузку.
sysrc lbucd_enable=yes
-
Запустите LBucd.
service lbucd start
- Установите модуль LBphone.
- Создайте и настройте агент LBphone в административном интерфейсе.
- Задайте параметры в файле конфигурации.
- Запустите модуль LBphone.
- Настройте ротацию лог-файлов — если LBphone находится не на том же сервере, что LBcore.
- Войдите в административный интерфейс.
- Перейдите в раздел «Объекты» — «Агенты».
- Нажмите «Добавить». Выберите тип LBphone, введите имя и описание агента.
- >На вкладках «Особые настройки», «Замена номеров» и «Фильтр номеров» задайте параметры сетевого агента. Настройка подробно описана в документации, раздел «6. Работа с сетевыми агентами».
- >Сохраните параметры. Нажмите «К списку», чтобы показать полный перечень сетевых агентов. Запишите ID агента — он отображается слева.
-
Доступ к ядру АСР LANBilling в формате
login:pass@ip:port. - login и pass — логин и пароль администратора АСР LANBilling.
- ip и port — IP-адрес и порт сервера, на котором установлен LBcore.
Пример:
#Access to LBcore server server = admin@10.140.10.250:1502
-
ID агента LBphone из административного интерфейса.
Пример:
# Agent ID. (Must be unique) sysid = 3
-
Добавьте модуль в автозагрузку.
sysrc lbphone_enable=yes
-
Запустите LBphone.
service lbphone start
- Установите модуль LBircd.
- Создайте и настройте VoIP-агент в административном интерфейсе.
- Задайте параметры в файле конфигурации.
- Запустите модуль LBircd.
- Настройте ротацию лог-файлов — если LBircd находится не на том же сервере, что LBcore.
- Войдите в административный интерфейс.
- Перейдите в раздел «Объекты» — «Агенты».
- Нажмите «Добавить». Выберите тип VoIP, введите имя и описание агента.
- На вкладках «Особые настройки», «Замена номеров» и «Фильтр номеров» задайте параметры сетевого агента. Настройка подробно описана в документации, раздел «6. Работа с сетевыми агентами».
- Нажмите «К списку», чтобы показать полный перечень сетевых агентов. Запишите ID агента — он отображается слева.
-
Доступ к БД LBcore:
- rdbhost — IP-адрес сервера, на котором создана БД. Например, 127.0.0.1.
- rdbuser и rdbpass — реквизиты доступа к БД.
- rdbname — название БД LBcore
Пример:
#Main DB access parameters rdbhost = 127.0.0.1 rdbuser = billing rdbpass = billing rdbname = billing
-
ID агента VoIP из административного интерфейса.
Пример:
# System ID. (Must be unique) sysid = 4
-
Добавьте модуль в автозагрузку:
sysrc lbircd_enable=yes
-
Запустите LBircd:
service lbircd start
-
Убедитесь, что уже установили и настроили:
-
Если вы устанавливаете личный кабинет на том же сервере, что и административный интерфейс, вам потребуется только пакет lbweb-client. Если хотите использовать другой сервер, скачайте и установите lbweb-common и lbweb-client. Вместо X.Y.Z-Z укажите версию релиза.
pkg add lbweb-client_X.Y.Z-Z.txz pkg add lbweb-common_X.Y.Z-Z.txz
-
Скопируйте файл конфигурации.
cp /usr/local/etc/lanbilling/phpclient/apache2/lbweb-client.apache2.sample /usr/local/etc/apache24/Includes/lbweb-client.conf
-
Предоставьте права пользователю, от имени которого запущен Apache2.
cp -r /usr/local/share/lanbilling/phpclient/client/ /usr/local/www/apache24/data
-
В конфигурационном файле /etc/httpd/conf/httpd.conf добавьте директорию для личного кабинета.
Alias /client/ /usr/local/www/apache24/data/client2/client/public/ <Directory /usr/local/www/apache24/data/client2/client/public/> Options FollowSymLinks AllowOverride All Require all granted </Directory>
-
Сериализуйте файл конфигурации.
/usr/local/sbin/lbwebcfg -y client /usr/local/etc/lanbilling/phpclient/client/
-
Перезапустите веб-сервер.
service apache24 restart
Выбрать режим работы
Режим Safe помогает уменьшить нагрузку на БД LBcore — например, если вы используете сразу несколько сетевых агентов для разных сегментов сети. Данные из БД статистики в БД LBcore передаются асинхронно — это помогает избежать потери информации при неполадках связи.
Обратите внимание: для больших объёмов трафика потребуется много памяти и мощные накопители для серверов. Несмотря на то, что АСР LANBilling позволяет полноценно хранить трафик в виде
Создать БД для статистики
Если вы выбрали режим Safe, создайте базу данных для статистики. Она может находиться на том же сервере, что и сетевой агент, или на отдельном.
Имя БД для статистики, логин и пароль нужно будет указать в административном интерфейсе при создании агента, а также в файле конфигурации модуля LBucd.
Создать и настроить Netflow-агент в административном интерфейсе
Задать параметры в файле конфигурации
Откройте конфигурационный файл:
/etc/billing.conf.LBucd
Задайте параметры.
Запустить модуль LBucd
Настроить ротацию лог-файлов для LBucd
Если вы устанавливаете LBucd на отдельный сервер (не туда же, где установлен LBcore), настройте на нём ротацию лог-файлов.
Создать агент телефонии LBphone, установить модуль LBphone
Установить модуль LBphone
Перейдите в консоль сервера. Установите пакет модуля LBphone. Пример:
pkg add lbphone-2.0.37.0-2.20210322gitd3a12a87.freebsd12.amd64.txz
Создать и настроить агент LBphone в административном интерфейсе
Задать параметры в файле конфигурации
Откройте конфигурационный файл:
/etc/billing.conf.LBphone
Задайте параметры.
Запустить модуль LBphone
Настроить ротацию лог-файлов для LBphone
Если вы устанавливаете LBphone на отдельный сервер (не туда же, где установлен LBcore), настройте на нём ротацию лог-файлов.
Создать агент IP-телефонии VoIP, установить модуль LBircd
Установить модуль LBircd
Перейдите в консоль сервера. Установите пакет модуля LBircd. Пример:
pkg add lbircd-2.0.37.0-2.20210322gitd3a12a87.freebsd12.amd64.txz
Создать и настроить VoIP-агент в административном интерфейсе
Задать параметры в файле конфигурации
Откройте конфигурационный файл:
/etc/billing.conf.LBircd
Задайте параметры.
Запустить модуль LBircd
Настроить ротацию лог-файлов для LBircd
Если вы устанавливаете LBircd на отдельный сервер (не туда же, где установлен LBcore), настройте на нём ротацию лог-файлов.
12. Установить личный кабинет абонента 3.x
Личный кабинет — веб-интерфейс для абонентов. Например, в личном кабинете абоненты могут подключать новые услуги или переходить с одного тарифа на другой.
Личный кабинет установлен. Он доступен по адресу