Готовые образы виртуальных машин

Данная страница устарела. Рекомендуется воспользоваться более новой версией: Готовые образы виртуальных машин.

Вы можете скачать и развернуть у себя готовый образ виртуальной машины с предустановленным биллингом для первого знакомства, демонстрации и/или тестирования. В данных образах представлен полнофункциональный BGBilling с тестовой лицензией, ограничение лишь в максимальном количестве используемых договоров.

Однако в образах изначально установлены и настроены лишь некоторые модули биллинга. После развертывания Вы легко можете установить дополнительные модули и плагины.

Развертывание

  1. Удостоверьтесь, что на машине, где Вы будете развертывать систему в BIOS/EFI разрешена виртуализация, иначе скорость работы виртуальной машины может быть неудовлетворительной.

  2. Установите на машину-хост VirualBox (для Windows/OS X/Linux) или qemu-kvm, qemu-system-x86-64 и virt-manager (для Linux) .

  3. Вы можете выбрать одну из двух операционных систем, на которых предустановлен биллинг: CentOS 7 или Debian 8. Скачайте образы дисков для выбранной виртуальной машины: .vdi для VirtualBox или .qcow для qemu-kvm, и для выбранной ОС: centos.vdi (.qcow) или debian.vdi (.qcow). Скачайте образ с дистрибутивом биллинга - billing.vdi (.qcow).

  4. Создайте новую виртуальную машину, выбрав подходящий тип и версию ОС. Необходимый минимальный оперативной объем памяти 1.5GB, укажите существующий образ диска: centos.vdi(.qcow) или debian.vdi(.qcow).

  5. Рекомендуемая конфигурация сети - сетевой мост - таким образом виртуальная машина будет представлена в Вашей внутренней сети как отдельный хост. Такой режим удобен для дальнейшего тестирования. Если с созданием сетевого моста возникли сложности, Вы можете указать тип конфигурации NAT и при необходимости настроить проброс портов или же настроить маршрутизацию.

  6. Перед запуском виртуальной машины в её конфигурацию нужно добавить второй образ диска - billing.vdi(.qcow).

  7. Удалите/отключите звуковое/аудио устройство.

  8. Запустите виртуальную машину.

  9. Залогиньтесь под пользователем bgbilling с паролем bgbilling. Для получения прав суперпользователя на CentOS выполните su и введите пароль bgbilling, на Debian выполните sudo -i и введите пароль bgbilling.

  10. В директории /opt должны быть папки bgbilling, java и другие. Это означает, что образ billing.vdi(.qcow) подключился правильно.

  11. Т.к. образ billing.vdi(.qcow) может использоваться для обоих систем, возможно владелец директории /opt/mysql-data после первоначального монтирования указан неверно. Выполните

    [root@bgserver ~]# chown -R mysql:mysql /opt/mysql-data
  12. Перезапустите виртуальную машину.

  13. Залогиньтесь и выполните для CentOS:

    [root@bgserver ~]# ip address show

    или для Debian:

    [root@bgserver ~]# ifconfig

    чтобы узнать текущий IP-адрес машины, далее x.x.x.x.

Изначально порт ssh (22) и порт для подключения клиента биллинга (8080) открыты только для подсети 192.168.0.0/16. На порту 80, открытом для всех, запущен nginx, который проксирует запросы на 127.0.0.1:8080, разрешая запросы только в личный кабинет абонента, запрещая все остальные. Статические файлы (css, png, js и т.п.) в текущей настройке nginx отдает напрямую (в конфигурации также представлен пример полного проксирования через 127.0.0.1:8080).

Приложения биллинга расположены в директории /opt (в отличие от документации, где обычно предлагается использовать папку /usr/local). Там же расположена директория данных MySQL.

Т.к. в виртуальной машине возникали проблемы с /dev/random (отрабатывало очень долго), в файле /opt/java/jdk1.8.0_45/jre/lib/security/java.security изменено значение параметра securerandom.source c file:/dev/random на file:/dev/urandom (менее безопасный генератор случайных значений).

Особенности образа CentOS 7

  • На данном образе разрешено логиниться под пользователем root.

  • В качестве фаервола используется firewalld.

  • В качестве менеджера служб - systemd.

  • Описания служб находится в /usr/lib/systemd/system.

  • MariaDB 10.0 установлена из репозитария MariaDB.

Самый простой способ изменить внутреннюю подсеть, для которой разрешены порты 22 и 8080 - это отредактировать файл /etc/firewalld/zones/internal.xml, изменив ветку source:

<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Internal</short>
<description>For use on internal networks. You mostly trust the other computers on the networks to not harm your computer. Only
<source address="192.168.0.0/16"/>
<service name="ipp-client"/>
<service name="mdns"/>
<service name="dhcpv6-client"/>
<service name="samba-client"/>
<service name="ssh"/>
<port protocol="tcp" port="8080"/>
</zone>

И затем вызвать:

[root@bgserver ~]# firewall-cmd --reload

Справка по firewalld.

Особенности образа Debian 8

  • В качестве фаервола используется iptables.

  • В качестве менеджера служб - systemd.

  • Описания служб находится в /lib/systemd/system.

  • MariaDB 10.0 установлена из репозитария Debian.

Правила iptables настроены с помощью исполняемых командных файлов /root/iptables.sh и /root/ip6tables.sh. Чтобы изменить внутреннюю подсеть, для которой разрешены порты 22 и 8080 отредактируйте /root/iptables.sh и запустите его.

Debain использует пользователя MySQL(MariaDB) debian-sys-maint, который создается при установке MySQL, для запуска и остановки MySQL с помощью служб. В текущей БД такой пользователь отсутствует (однако при включении виртуальной машины MariaDB стартует нормально), поэтому его необходимо создать (пароль должен совпадать с тем, что в /etc/mysql/debian.cnf):

GRANT ALL PRIVILEGES on *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION; FLUSH PRIVILEGES;

Службы

При загрузке системы включены сервисы mysql.service (MariaDB), activemq.service (ActiveMQ), bgbilling.service (BGBillingServer - сервер биллинга) и bgscheduler.service (BGScheduler - планировщик заданий).

У пользователя root MySQL установлен пароль bgbilling.

Обзор

После перезагрузки по URL http://x.x.x.x должен открыться личный кабинет абонента (происходит редирект на http://x.x.x.x/bgbilling/webexecuter). Если фаервол настроен корректно, то ЛК также должен быть доступен по URL http://x.x.x.x:8080/bgbilling/webexecuter, т.е. на порту 8080. Параметры входа для личного кабинета - логин: 10000010 (номер тестового договора) и пароль: 123456.

Скачайте и установите клиент биллинга, укажите URL в client.properties http://x.x.x.x:8080/bgbilling/executer и запустите его. В окне логина установите галочку "загружать обновления с этого сервера" и нажмите ОК. В первый раз клиент биллинга загрузит библиотеки модулей и попросит перезапустить его.

Или же на машине, где будет запускаться клиент биллинга в контрольной панели Java на вкладке безопасность добавьте в список исключений http://x.x.x.x/bgbilling/ и откройте в браузере URL http://x.x.x.x:8080/bgbilling/client/bgclient.jnlp - клиент биллинга должен запуститься через Java Web Start.

При работе некоторых антивирусов некоторые вкладки могут очень долго открываться. Это происходит, когда антивирус пытается проверять интернет-трафик, нарушая при этом работу SOAP-протокола Web-сервисов, через который клиент биллинга обращается к серверу биллинга. Если такое странное поведение наблюдается - рекомендуем добавить IP-адрес сервера биллинга в исключения в настройках Вашего антивируса.

Например, для ESET NOD32 необходимо открыть расширенные настройки ESET Smart Security, выбрать раздел "Интернет и электронная почта" - "Фильтрация протоколов" - "Исключенные IP адреса" и добавить в список адрес сервера.

Рекомендуется включить в конфигурации биллинга параметры:

# Логирование действий в журнале событий, 0 - не логировать
bgsecure.log=1
# Логирование Web-запросов пользователя (Web-интерфейс)
webquery.log=1

Модуль Inet

Для обработки RADIUS и/или DHCP-запросов может потребоваться изменение настроек фаервола. В "особенностях образа" описано как можно открыть определенные порты.

В модуле Inet данного образа уже настроено несколько примеров различных распространенных схем.

images/download/attachments/73598728/inet-device-tree.png

Access+Accounting: IPoE

Сервера приложений InetAccess и InetAccounting расположены в директории /opt/bgbilling/inet-ipoe/, сервисы systemd: inet-ipoe-access и inet-ipoe-accounting. Для данной ветки устройств с минимальными изменениями конфигурации возможно запустить схемы IPoE IP Subscriber, SmartEdge CLIPS. DHCP-запросы могут обрабатываться как сторонним сервером (биллинг не контролирует выдачу IP-адресов), так и InetAccess (биллинг контролирует выдачу IP-адресов, можно выдавать динамические или статические, белые или серые адреса в зависимости от настроек, баланса или статуса договора), причем в двух режимах - когда ASR/SE инициирует сессию по DHCP-запросу ( DHCP DISCOVER packet ), и когда DHCP-запросы приходят с коммутаторов, а ASR/SE инициирует сессию по IP-пакету ( Unclassified source MAC address, в Access-Request приходит User-Name="IP-адрес_абонента", в биллинге отображаются две сессии - DHCP и IP Subscriber).

Поддерживается тарификация и управление ISG/SE-сервисами, их переключение в реальном времени в зависимости от необходимой скорости соединения абонента или других параметров.

Access+Accounting: ISGServiceAccess

Сервер приложения InetAccess расположен в директории /opt/bgbilling/isg-access/, сервисы systemd: isg-access. Данная ветка с отдельным приложением Access+Accounting предназначена для выдачи описания ISG-сервисов для Cisco по RADIUS. См. также http://wiki.bitel.ru/index.php/Справочник Cisco-ISG сервисов.

Access+Accounting

Сервера приложений InetAccess и InetAccounting расположены в директории /opt/bgbilling/inet/, сервисы systemd: inet-access и inet-accounting.

  • SNMP Agent - сбор трафика по SNMP, тарификация по статическому интерфейсу.

  • Flow Agent - сбор трафика по Netflow/sFlow, тарификация по статическому адресу или подсети.

  • MPD - PPPoE/PPtP с управлением через RADIUS/CoA, возможна тарификация по Netflow/sFlow с помощью Flow Agent (привязка трафика по адресу сессии в реальном времени).

  • FreeBSD - шейпер, с управлением по SSH в реальном времени для активных сессий устройств, расположенных внутри этой ветки (в образе настройка на данный момент пока отсутствует, ветка добавлена для примера).

  • Коммутаторы - предоставление доступа по схеме DHCP Option 82, выдача статических или динамических, белых или серых адресов в зависимости от статуса, баланса и др. параметров договора или настроек аккаунта. Возможно управление через telnet/SSH/SNMP.

  • Cisco ASR: asr-bras - PPPoE/PPtP с управлением через RADIUS/CoA с поддержкой тарификации и управления ISG/SE-сервисами, а также тарификацией по Netflow.

Возможны многие другие схемы предоставления и управления доступом в интернет. Если возникли проблемы с настройкой Вы всегда можете обратиться на бесплатный форум, в helpdesk или задать вопрос в комментариях к данной статье.

Новый личный кабинет

В образ также включена бета-версия нового личного кабинета. Новый личный кабинет является отдельным приложением. Чтобы зайти в него нужно запустить сервис wildfly (JBoss). При этом BGBillingServer (bgbilling.service) тоже должен быть запущен.

[root@bgserver ~]# systemctl start wildfly.service

После запуска wildfly по пути http://x.x.x.x/my/ откроется новый личный кабинет. Параметры входа для личного кабинета - логин: 10000010 (номер тестового договора) и пароль: 123456.

images/download/attachments/73598728/3.png images/download/attachments/73598728/1.png images/download/attachments/73598728/4.png

images/download/attachments/73598728/lk-login.png images/download/attachments/73598728/lk-balance.png

images/download/attachments/73598728/lk-limit.png images/download/attachments/73598728/lk-news.png

images/download/attachments/73598728/lk-sessions.png images/download/attachments/73598728/lk-limit-min.png