1. Системные требования
- Прежде всего убедитесь, что выбрали подходящие компоненты операционной системы и нужные версии модулей АСР LANBilling. Сверьтесь с таблицей совместимости версий.
- Подготовьте компоненты OC.
- СУБД MySQL 8.x
- Веб-сервер Apache
- PHP 7.x и его библиотеки:
- libtiff
- libpng
- gd
- soap
- multibyte strings (mbstring)
- xml
- bcmath
- ghostscript — требуется, чтобы генерировать шаблоны в формате pdf.
- Python 3.x
2. Установить дополнительные пакеты
Для дальнейшей установки и настройки вам потребуются:
- python3-simplejson — используется некоторыми скриптами. Например, платёжным скриптом банка Тинькофф.
- yum-utils — для работы с репозиториями АСР LANBilling и MySQL
- atop — аналитическая система, требуется для анализа производительности АСР LANBilling и сервера в целом.
- logrotate — утилита ротации логов.
Чтобы установить дополнительные пакеты, введите команды в консоли сервера:
rpm -i https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm yum install -y python3-simplejson yum-utils atop logrotate
3. Подготовить сетевые порты
- Список портов, которые АСР LANBilling использует по умолчанию.
- Отключить SELinux.
- Настроить порты для исходящих соединений.
Список портов, которые АСР 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 во внешнюю сеть | Используется, чтобы активировать лицензию |
На вход | Сервер, на котором установлен модуль LBarcd | RADIUS | 1812\UDP и 1813\UDP | 1812\UDP — для авторизации; 1813\UDP — для аккаунтинга |
На вход | Сервер, на котором установлен модуль LBucd | NetFlow | 7223\UDP | Для сбора статистики о трафике |
Отключить SELinux
Если SELinux включён, отключите его.
- Откройте конфигурационный файл:
- Для параметра SELINUX установите значение disabled.
- Изменения в файле конфигурации применятся только после того, как вы перезапустите ОС. Чтобы продолжить установку и настройку, не перезапуская ОС, выполните команду:
setenforce 0
Если выполнить только setenforce 0, то SELinux отключится, но после перезапуска снова включится.
/etc/selinux/config
Настроить порты для исходящих соединений
Ограничьте диапазон выдаваемых портов. Если этого не сделать, могут возникнуть сбои — например, LBcore попытается дважды подключиться к одному порту, и все процессы будут заблокированы.
- Откройте конфигурационный файл:
/etc/sysctl.conf
- Добавьте в него строку:
net.ipv4.ip_local_port_range = 35000 60999
- Также рекомендуем оптимизировать работу памяти сервера. Задайте параметры:
vm.zone_reclaim_mode = 1 vm.swappiness = 5
Подробнее об этих параметрах — в официальной документации Linux Kernel.
- Чтобы не перезагружать ОС, можно выполнить команду:
sysctl net.ipv4.ip_local_port_range='35000 60999' vm.swappiness=5 vm.zone_reclaim_mode=1
4. Установить и настроить MySQL-сервер
- Установить MySQL-сервер.
- Настроить MySQL-сервер.
- Запустить MySQL-сервер.
- Открыть порт — если MySQL и LBcore будут установлены на разных серверах.
Установить MySQL-сервер
- Подключите репозиторий MySQL.
rpm -ivh http://repo.mysql.com/mysql80-community-release-el8.rpm
- Установите MySQL-сервер и добавьте его в автозагрузку ОС.
yum install -y mysql-server systemctl enable mysqld
Все дальнейшие действия будут выполняться от имени пользователя root. По умолчанию пароль для него не задан и указывать его не нужно. Если нужно задать пароль, введите команду:
mysqladmin -u root password 'ваш_пароль>_для_root_пользователя_mysql'
Настроить MySQL-сервер
- Откройте файл:
/etc/my.cnf.d/mysql-server.cnf
- Укажите параметры. Если какие-то параметры в файле уже заданы — сверьте их с описанием, приведённым ниже. Установите те значения, которые вам подходят.
Обратите внимание: в одной секции не должно быть одного и того же параметра с разными значениями.
Параметры в секции mysqld:
character-set-server = utf8 #utf8mb4 пока не поддерживается character-sets-dir = /usr/share/mysql/charsets skip-character-set-client-handshake skip-name-resolve innodb_file_per_table = ON ssl = 0 bind-address = 127.0.0.1 #Если Вы планируете подключаться к MySQL с другого хоста, замените на 0.0.0.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 innodb_log_buffer_size = 8M slow_query_log = 1 innodb_flush_method = O_DIRECT innodb-flush-log-at-trx-commit = 2
- В том же файле создайте секцию mysql и добавьте в неё параметр:
no-auto-rehash
- Откройте файл:
/etc/my.cnf.d/client.cnf
- В секцию client добавьте параметры:
character-set-dir =/usr/share/mysql/charsets
В этой инструкции приведены базовые параметры. Они подходят для работы с АСР LANBilling в следующих условиях:
- небольшой объём БД или установка АСР LANBilling с чистой БД;
- на сервере доступно от 4 ГБ RAM.
Запустить MySQL-сервер
Для запуска используйте команду:
systemctl start mysqld
Открыть порт MySQL-сервера
Если LBcore и MySQL будут на одном сервере, то открывать порт не нужно.
Если LBcore будет на другом сервере, откройте порт 3306. Через этот порт ядро будет подключаться к MySQL.
firewall-cmd --add-service=mysql --permanent firewall-cmd --reload
5. Установить и настроить веб-сервер
- Установить веб-сервер.
- Настроить Apache2.
- Настроить PHP.
- Запустить Apache2.
- Открыть порты.
Установить веб-сервер
Установите пакеты:
yum install -y --setopt=install_weak_deps=False httpd php php-soap libtiff libpng php-gd php-mbstring php-xml php-bcmath php-gmp ghostscript php-json
Настроить Apache2
- Откройте файл:
/etc/httpd/conf/httpd.conf
Раскомментируйте директиву ServerName. Укажите адрес хоста.
Закомментируйте строку:
AddDefaultCharset UTF-8
- Откройте файл:
/etc/httpd/conf.modules.d/00-mpm.conf
Раскомментируйте строку:
#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
Закомментируйте строку:
LoadModule mpm_event_module modules/mod_mpm_event.so
Настроить PHP
Для корректной работы веб-интерфейса рекомендуем выполнить эту настройку.
- Откройте файл:
/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
Сначала добавьте веб-сервер в автозагрузку:
systemctl enable httpd
Затем запустите:
systemctl start httpd
Открыть порты веб-сервера
Если LBcore будет установлен там же, где и веб-сервер, то открывать порты не нужно.
Если LBcore будет на другом сервере, откройте порты:
firewall-cmd --add-service=http --permanent firewall-cmd --add-service=https --permanent firewall-cmd --reload
6. Скачать компоненты АСР LANBilling
Дистрибутив АСР LANBilling распространяется в виде готовых пакетов для пакетных менеджеров.
Вам потребуются:
пакет lbcore сборки 2.0.37 и выше — чтобы установить ядро АСР LANBilling;
пакеты lbweb-common и lbweb-admin — чтобы установить административный интерфейс;
пакеты lbweb-common и lbweb-client — чтобы установить личный кабинет для абонентов;
-
пакеты для установки модулей сетевых агентов. Конкретный список модулей зависит от того, какие платформы вы будете использовать.
Платформа Сетевой агент Модуль Платформа «интернет», DialUp, авторизация абонентов RADIUS LBarcd Платформа «интернет», широкополосный доступ, без авторизации Netflow LBucd Телефония LBPhone LBphone IP-телефония VoIP LBircd
Как скачать пакеты:
- из личного кабинета в Satisfy CRM;
- из репозитория.
В названии пакета содержатся основные сведения о нём. Рассмотрим на примере lbcore-2.0.37.0-0.5.git261d65ce.rhel8.x86_64.rpm:
- lbcore — название модуля;
- 2.0 — версия релиза;
- 37 — номер релиза;
- 0 — порядковый номер прохождения полного тестирования (начиная с 0);
- 5 — количество изменений с момента релиза (начиная с 1);
- git261d65ce — номер ревизии модуля;
- rhel8.x86_64 — ОС, для которой собран пакет. В данном случае — RHEL 8×64.
Скачать из личного кабинета в Satisfy CRM
- В личном кабинете перейдите на вкладку «Загрузки».
- Нажмите
в строке с названием пакета.
- Перенесите пакет на сервер, где будете устанавливать модуль.
Скачать из репозитория
- Найдите ссылку на репозиторий в личном кабинете в Satisfy CRM. У каждого обладателя лицензии своя ссылка на репозиторий. Репозитории hotfix builds содержат еженедельные сборки ядра и модулей сетевых агентов.
- Подключите репозиторий с помощью команды:
yum-config-manager --add-repo <url-ссылка на репозиторий>
- Вы можете посмотреть список доступных пакетов. Например, для LBcore:
yum --enablerepo="lanbilling*" list available --showduplicates lbcore
7. Установить LBcore — ядро АСР LANBilling
LBcore — модуль ядра АСР LANBilling. В этой инструкции предполагается, что вы устанавливаете MySQL и LBcore на один сервер.
Процесс установки описан исходя из того, что установочный пакет сохранён на сервере в директории /root/.
- Убедитесь, что уже установили:
- дополнительные пакеты;
- MySQL-сервер.
- Установите пакет ядра и добавьте его в автозагрузку ОС:
rpm -ivh /root/lbcore-2.0.37.00.95.git261d65ce.rhel8.x86_64.rpm systemctl enable lbcore
- Зайдите в MySQL под пользователем root — команда
mysql
. Если вы задавали пароль —mysql -p%пароль%
. - Создайте базу данных LBcore. Укажите сведения о пользователях и настройте доступ АСР LANBilling к БД.
CREATE DATABASE `billing` DEFAULT CHARSET UTF8; CREATE USER IF NOT EXISTS 'billing'@'localhost' IDENTIFIED WITH mysql_native_password BY 'billing'; GRANT ALL ON `billing`.* TO 'billing'@'localhost'; CREATE USER IF NOT EXISTS 'billing'@'127.0.0.1' IDENTIFIED WITH mysql_native_password BY 'billing'; GRANT ALL ON `billing`.* TO 'billing'@'127.0.0.1'; exit
- Создайте структуру БД LBcore и подключите справочник адресов — КЛАДР.
mysql billing </usr/local/billing/mysql/create.sql mysql billing < /usr/local/billing/mysql/claddr.sql
- Откройте файл конфигурации:
/etc/billing.conf
Убедитесь, что указаны параметры доступа, которые вы задавали при создании БД. Если нет, исправьте их. Данные должны быть в формате dbuser:dbpass@dbhost:dbport/dbname.
- dbuser и dbpass — логин и пароль администратора.
- dbhost — IP-адрес сервера, где установлена БД.
- dbport — номер порта.
- dbname — название БД.
Если не указать dbport, будет использоваться порт 3306. Пример для случая, когда LBcore и MySQL установлены на одном сервере и используется порт по умолчанию:
# DB access parameters database = mysql://billing:billing@127.0.0.1/billing
- Запустите ядро АСР LANBilling.
systemctl start lbcore
- Чтобы убедиться, что ядро запущено и работает, выполните одну из команд:
ps ax | grep -i lbcore
или
systemctl status lbcore
8. Настроить ротацию лог-файлов
- Убедитесь, что на сервере установлена утилита logrotate:
rpm -qa|grep logrotate
- Если logrotate нет, установите её:
rpm -i https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm yum install -y logrotate
По умолчанию logrotate прописывается в cron.daily и запускается каждый день в 03:01.
- Пример настройки ротации и архивирования логов для утилиты logrotate находится в файле:
/etc/lanbilling/lbrotate.conf
- Скопируйте файл lbrotate.conf.
cp /etc/lanbilling/lbrotate.conf /etc/logrotate.d/
Подробнее о структуре файла и параметрах можно прочитать здесь.
В версии АСР LANBilling 2.0.33 и выше лог-файлы по умолчанию находятся в директории:
/var/log/billing/
9. Установить административный интерфейс 3.x
Административный интерфейс — веб-приложение, в котором работает оператор связи. Например, системные администраторы задают в нём настройки сети, а менеджеры оператора создают профили абонентов и следят за списаниями.
Обратите внимание: для первого старта интерфейс нужно установить на том же сервере, что и ядро. По умолчанию LBcore принимает запросы только с localhost или 127.0.0.1. В дальнейшем вы можете развернуть административный интерфейс на другом хосте.
- Убедитесь, что уже установили и настроили:
- MySQL-сервер;
- веб-сервер;
- LBcore.
- Убедитесь, что скачали пакеты lbweb-common и lbweb-admin. Процесс установки описан исходя из того, что установочные пакеты сохранены на сервере в директории /root/.
- Установите пакеты. Вместо X.Y.Z-Z укажите версию релиза:
rpm -ivh lbweb-common-X.Y.Z-Z.noarch.rpm rpm -ivh lbweb-admin-X.Y.Z-Z.noarch.rpm
Пример:
rpm -ivh /root/lbweb-admin-3.10.0-1.noarch.rpm rpm -ivh /root/lbweb-common-2.21.1-1.noarch.rpm
- При установке пакета создаётся пример файла конфигурации. Создайте из него файл конфигурации:
cp /etc/lanbilling/phpclient/admin/admin.ini.sample /etc/lanbilling/phpclient/admin/admin.ini
- Добавьте конфигурацию административного интерфейса АСР LANBilling в настройки веб-сервера.
cp /etc/lanbilling/phpclient/apache2/lbweb-admin.apache2.sample /etc/httpd/conf.d/lbweb-admin.conf
- Перезапустите Apache.
systemctl restart httpd
Административный интерфейс установлен. Он доступен по адресу:
http://IP-адрес-сервера/lbweb-admin
По умолчанию для входа используется логин admin, без пароля.
Если вы будете работать с административным интерфейсом на том же сервере, где установлено ядро, просто активируйте лицензию.
Если вы будете использовать другой сервер, сначала установите на нём веб-сервер и административный интерфейс. Затем активируйте лицензию.
Установить административный интерфейс на другом сервере
- Откройте административный интерфейс. Перейдите в раздел «Опции» — «Доверенные хосты» и добавьте адрес сервера в доверенные.
- На новом хосте установите веб-сервер.
- Скачайте на новый сервер пакеты lbweb-common и lbweb-admin. Процесс установки описан исходя из того, что установочные пакеты сохранены на сервере в директории /root/.
- Установите пакеты. Вместо X.Y.Z-Z укажите версию релиза:
rpm -ivh lbweb-common-X.Y.Z-Z.noarch.rpm rpm -ivh lbweb-admin-X.Y.Z-Z.noarch.rpm
Пример:
rpm -ivh /root/lbweb-admin-3.10.0-1.noarch.rpm /root/lbweb-common-2.21.1-1.noarch.rpm
- При установке пакета создаётся пример файла конфигурации. Создайте из него файл конфигурации:
cp /etc/lanbilling/phpclient/admin/admin.ini.sample /etc/lanbilling/phpclient/admin/admin.ini
- Откройте файл конфигурации и укажите в нём:
- host — IP-адрес сервера, где установлен LBcore;
- port — порт для доступа к LBcore.
- Чтобы применить изменения в конфигурации, выполните команду:
lbwebcfg -y admin /etc/lanbilling/phpclient/admin
Если не подключено окружение ОС, выполните другую команду:
/usr/local/sbin/lbwebcfg -y admin /etc/lanbilling/phpclient/admin
Результат должен быть таким:
Config serialization has been successfully written to file"/var/lib/lanbilling/phpclient/admin/config"
- Также убедитесь, что:
- LBcore слушает порт 1502 — к нему будет обращаться административный интерфейс;
- фаервол разрешает передавать пакеты на порт 1502.
- Добавьте конфигурацию административного интерфейса АСР LANBilling в настройки веб-сервера.
cp /etc/lanbilling/phpclient/apache2/lbweb-admin.apache2.sample /etc/httpd/conf.d/lbweb-admin.conf
- Перезапустите Apache.
systemctl restart httpd
Чтобы приступить к работе в административном интерфейсе, активируйте лицензию.
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 и добавьте сервис в автозагрузку ОС. Пример:
rpm -ivh /root/lbarcd-2.0.37.0-0.29.gitcb37df53.rhel8.x86_64.rpm systemctl enable lbarcd
Создать БД для 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'; GRANT ALL ON 'radius'.* TO 'radius'@'localhost'; CREATE USER IF NOT EXISTS 'radius'@'127.0.0.1' IDENTIFIED WITH mysql_native_password BY 'radius'; GRANT ALL ON 'radius'.* TO 'radius'@'127.0.0.1';
- Чтобы создать структуру БД RADIUS, используйте скрипт:
mysql radius </usr/local/billing/mysql/lbarcd/rad_create.sql
Создать и настроить RADIUS-агент в административном интерфейсе
- Войдите в административный интерфейс.
- Перейдите в раздел «Объекты» — «Агенты».
- Нажмите «Добавить». Выберите тип RADIUS, введите имя и описание агента.
- Нажмите «Сохранить». После этого в карточке агента появятся вкладки «Управление сетями» и «Управление сетями IPv6».
- Обязательно закрепите за этим агентом хотя бы одну подсеть. Перейдите на вкладку «Управление сетями» или «Управление сетями IPv6». Нажмите «Добавить», укажите параметры подсети и сохраните запись.
- На вкладке «Особые настройки» задайте параметры сетевого агента. Настройка подробно описана в документации, раздел «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
Выполните команду:
systemctl start lbarcd
Проверить результат синхронизации
Когда вы запускаете агент впервые, его БД синхронизируется с БД LBcore. Если данных много, синхронизация может занять до 20 минут. Чтобы убедиться, что синхронизация прошла успешно, проверьте логи.
- Откройте файл:
/usr/local/billing/lbarcd.log
для версии 2.0.33 и выше — файл:
/var/log/billing/lbarcd
Если синхронизация прошла успешно, в логах будет запись Synchronize with LBserver complete.
- После этого измените режим логирования в файле конфигурации:
/etc/billing.conf.LBarcd
Пример:
# Log verbosity level: error, warning, info, verbose, debug log_level = info
Это нужно, т. к. логирование в режиме debug требует много места на диске. Используйте этот режим, только если возникнут ошибки.
Настроить ротацию лог-файлов для LBarcd
Если вы устанавливаете LBarcd на отдельный сервер (не туда же, где установлен LBcore), настройте на нём ротацию лог-файлов.
Открыть порты для RADIUS-агента
Если вы используете стандартные порты:
firewall-cmd--add-service=radius--permanent
Пример команд для нестандартных портов:
firewall-cmd --permanent --add-port=1812/udp firewall-cmd --permanent --add-port=1813/udp
После того как откроете порты, перезагрузите правила:
firewall-cmd --reload
Создать агент Netflow, установить модуль LBucd
- Установите модуль LBucd.
- Выберите режим работы.
- Создайте БД для статистики, если выбрали режим Safe.
- Создайте и настройте Netflow-агент в административном интерфейсе.
- Задайте параметры в файле конфигурации.
- Запустите модуль LBucd.
- Настройте ротацию лог-файлов — если LBucd находится не на том же сервере, что LBcore.
- Откройте порт.
Установить модуль LBucd
Перейдите в консоль сервера. Установите пакет модуля LBucd и добавьте сервис в автозагрузку ОС. Пример:
rpm -ivh /root/lbucd-2.0.37.0-0.3.git36273f23.rhel8.x86_64.rpm systemctl enable lbucd
Выбрать режим работы
- Main — вся статистика сохраняется в центральную БД LBcore. Это оптимальный режим работы для знакомства с системой. Для него не нужно создавать дополнительную БД.
- Safe — первичные данные сохраняются в отдельную БД, а в центральную передаётся только суммированная информация об однотипном трафике. Чтобы работать в режиме Safe, создайте БД для статистики.
Режим Safe помогает уменьшить нагрузку на БД LBcore — например, если вы используете сразу несколько сетевых агентов для разных сегментов сети. Данные из БД статистики в БД LBcore передаются асинхронно — это помогает избежать потери информации при неполадках связи.
Обратите внимание: для больших объёмов трафика потребуется много памяти и мощные накопители для серверов. Несмотря на то, что АСР LANBilling позволяет полноценно хранить трафик в виде SRC:IP:PORT<>DST:IP:PORT, она не является аналитической сетевой системой.
Создать БД для статистики
Если вы выбрали режим Safe, создайте базу данных для статистики. Она может находиться на том же сервере, что и сетевой агент, или на отдельном.
- Зайдите в MySQL под пользователем root — команда
mysql
. Если вы задавали пароль —mysql -p%пароль%
. - Создайте базу данных. Укажите данные пользователя и права доступа.
CREATE DATABASE lbucd DEFAULT CHARSET utf8; CREATE USER IF NOT EXISTS 'lbucd'@'localhost' IDENTIFIED WITH mysql_native_password BY 'lbucd'; GRANT ALL ON `lbucd`.* TO 'lbucd'@'localhost'; CREATE USER IF NOT EXISTS 'lbucd'@'127.0.0.1' IDENTIFIED WITH mysql_native_password BY 'lbucd'; GRANT ALL ON `lbucd`.* TO 'lbucd'@'127.0.0.1';
- Создайте структуру БД — примените скрипт create.sql:
mysql -uroot -p lbucd < /usr/local/billing/mysql/lbucd/ucd_create.sql
В примере:
- lbucd — имя БД;
- login и pass — логин и пароль для доступа к БД.
Имя БД для статистики, логин и пароль нужно будет указать в административном интерфейсе при создании агента, а также в файле конфигурации модуля LBucd.
Если сетевой агент и БД статистики находятся на разных серверах, в дальнейшем нужно будет открыть порт для взаимодействия MySQL, LBucd и LBcore.
Создать и настроить Netflow-агент в административном интерфейсе
- Войдите в административный интерфейс.
- Перейдите в раздел «Объекты» — «Агенты».
- Нажмите «Добавить». Выберите тип Netflow, введите имя и описание агента.
- Перейдите на вкладку «Особые настройки». В полях «Прослушивать IP» и «Прослушивать порт» укажите, какой IP-адрес и UDP-порт будет прослушивать Netflow-агент. Если не задать эти настройки, агент будет прослушивать порт 7223\UDP на всех сетевых интерфейсах.
- Нажмите «Сохранить». После этого в карточке агента появятся вкладки «Управление сетями» и «Управление сетями IPv6».
- Обязательно закрепите за этим агентом хотя бы одну подсеть.
Перейдите на вкладку «Управление сетями» или «Управление сетями IPv6».
Нажмите «Добавить», укажите параметры подсети и сохраните их.
- На вкладке «Особые настройки» задайте параметры сетевого агента. Настройка подробно описана в документации, раздел «6. Работа с сетевыми агентами».
- Нажмите «К списку», чтобы показать полный перечень сетевых агентов. Запишите ID агента — он отображается слева.
Задать параметры в файле конфигурации
Откройте конфигурационный файл:
/etc/billing.conf.LBucd
Задайте параметры.
- Режим работы: 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
Запустить модуль LBucd
Выполните команду:
systemctl start lbucd
Настроить ротацию лог-файлов для LBucd
Если вы устанавливаете LBucd на отдельный сервер (не туда же, где установлен LBcore), настройте на нём ротацию лог-файлов.
Открыть порт для Netflow-агента
В команде укажите номер порта, который задали в «Особых настройках».
В этом примере указан порт 7223 — по умолчанию Netflow-агент прослушивает его:
firewall-cmd --permanent --add-port=7223/udp
После того как откроете порты, перезагрузите правила:
firewall-cmd --reload
Создать агент телефонии LBphone, установить модуль LBphone
- Установите модуль LBphone.
- Создайте и настройте агент LBphone в административном интерфейсе.
- Задайте параметры в файле конфигурации.
- Запустите модуль LBphone.
- Настройте ротацию лог-файлов — если LBphone находится не на том же сервере, что LBcore.
- Откройте порты, если используете LBphone как TCP-сервер, к которому подключается АТС.
Установить модуль LBphone
Перейдите в консоль сервера. Установите пакет модуля LBphone и добавьте сервис в автозагрузку ОС. Пример:
rpm -ivh /root/lbphone-2.0.37.0-0.5.gitbb0c9f01.rhel8.x86_64.rpm systemctl enable lbphone
Создать и настроить агент LBphone в административном интерфейсе
- Войдите в административный интерфейс.
- Перейдите в раздел «Объекты» — «Агенты».
- Нажмите «Добавить». Выберите тип LBphone, введите имя и описание агента.
- На вкладках «Особые настройки», «Замена номеров» и «Фильтр номеров» задайте параметры сетевого агента. Настройка подробно описана в документации, раздел «6. Работа с сетевыми агентами».
- Сохраните параметры. Нажмите «К списку», чтобы показать полный перечень сетевых агентов. Запишите ID агента — он отображается слева.
Задать параметры в файле конфигурации
Откройте конфигурационный файл:
/etc/billing.conf.LBphone
Задайте параметры.
- Доступ к ядру АСР 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
Запустить модуль LBphone
Выполните команду:
systemctl start lbphone
Настроить ротацию лог-файлов для LBphone
Если вы устанавливаете LBphone на отдельный сервер (не туда же, где установлен LBcore), настройте на нём ротацию лог-файлов.
Открыть порты
Если Вы используете LBphone как TCP-сервер, к которому подключается АТС, откройте порты. Пример:
firewall-cmd --permanent --add -port=4455/tcp
После этого перезагрузите правила:
firewall-cmd --reload
Создать агент IP-телефонии VoIP, установить модуль LBircd
- Установите модуль LBircd.
- Создайте и настройте VoIP-агент в административном интерфейсе.
- Задайте параметры в файле конфигурации.
- Запустите модуль LBircd.
- Настройте ротацию лог-файлов — если LBircd находится не на том же сервере, что LBcore.
- Откройте порты.
Установить модуль LBircd
Перейдите в консоль сервера. Установите пакет модуля LBircd и добавьте сервис в автозагрузку ОС. Пример:
rpm -ivh /root/lbircd-2.0.37.0-0.7.git09fa0945.rhel8.x86_64.rpm systemctl enable lbircd
Создать и настроить VoIP-агент в административном интерфейсе
- Войдите в административный интерфейс.
- Перейдите в раздел «Объекты» — «Агенты».
- Нажмите «Добавить». Выберите тип VoIP, введите имя и описание агента.
- На вкладках «Особые настройки», «Замена номеров» и «Фильтр номеров» задайте параметры сетевого агента. Настройка подробно описана в документации, раздел «6. Работа с сетевыми агентами».
- Нажмите «К списку», чтобы показать полный перечень сетевых агентов. Запишите ID агента — он отображается слева.
Задать параметры в файле конфигурации
Откройте конфигурационный файл:
/etc/billing.conf.LBircd
Задайте параметры.
- Доступ к ядру АСР LANBilling в форматеlogin:pass@ip:port.
- login и pass — логин и пароль администратора АСР LANBilling.
- ip и port — IP-адрес и порт сервера, на котором установлен LBcore.
Пример:
# Access to LBcore server server = admin@10.140.10.250:1502
- ID агента VoIP из административного интерфейса.
Пример:
# Agent ID. (Must be unique) sysid = 4
Запустить модуль LBircd
Выполните команду:
systemctl start lbircd
Настроить ротацию лог-файлов для LBircd
Если вы устанавливаете LBircd на отдельный сервер (не туда же, где установлен LBcore), настройте на нём ротацию лог-файлов.
Открыть порты для VoIP-агента
Если вы используете стандартные порты:
firewall-cmd --add -service=radius --permanent
Пример команд для нестандартных портов:
firewall-cmd --permanent --add-port=1812/udp firewall-cmd --permanent --add-port=1813/udp
После того как откроете порты, перезагрузите правила:
firewall-cmd --reload
12. Установить личный кабинет абонента 3.x
Личный кабинет — веб-интерфейс для абонентов. Например, в личном кабинете абоненты могут подключать новые услуги или переходить с одного тарифа на другой.
- Убедитесь, что уже установили и настроили:
- MySQL-сервер;
- веб-сервер;
- LBcore.
- Убедитесь, что скачали пакеты lbweb-common и lbweb-client.
- Установите пакеты. Вместо X.Y.Z-Z укажите версию релиза:
rpm -ivh lbweb-common_X.Y.Z-Z.noarch.rpm rpm -ivh lbweb-client_X.Y.Z-Z.noarch.rpm
Пример:
rpm -ivh /root/lbweb-common-2.21.1-1.noarch.rpm /root/lbweb-client-3.5.0-1.noarch.rpm
- Добавьте конфигурацию личного кабинета в настройки веб-сервера.
cp /etc/lanbilling/phpclient/apache2/lbweb-client.apache2.sample /etc/httpd/conf.d/lbweb-client.conf
- Перезапустите httpd, чтобы применить изменения.
systemctl restart httpd
Личный кабинет установлен. Он доступен по адресу http://IP-адрес-сервера/lbweb-client/
. Настройка личного кабинета описана здесь.