Данная страница устарела. Рекомендуется воспользоваться более новой версией: Готовые образы виртуальных машин. |
Вы можете скачать и развернуть у себя готовый образ виртуальной машины с предустановленным биллингом для первого знакомства, демонстрации и/или тестирования. В данных образах представлен полнофункциональный BGBilling с тестовой лицензией, ограничение лишь в максимальном количестве используемых договоров.
Однако в образах изначально установлены и настроены лишь некоторые модули биллинга. После развертывания Вы легко можете установить дополнительные модули и плагины.
Т.к. образ billing.vdi(.qcow) может использоваться для обоих систем, возможно владелец директории /opt/mysql-data после первоначального монтирования указан неверно. Выполните
[root@bgserver ~]# chown -R mysql:mysql /opt/mysql-data |
Залогиньтесь и выполните для 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 (менее безопасный генератор случайных значений).
Самый простой способ изменить внутреннюю подсеть, для которой разрешены порты 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 |
Правила 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 |
Для обработки RADIUS и/или DHCP-запросов может потребоваться изменение настроек фаервола. В "особенностях образа" описано как можно открыть определенные порты. |
В модуле Inet данного образа уже настроено несколько примеров различных распространенных схем.
Сервера приложений 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-сервисами, их переключение в реальном времени в зависимости от необходимой скорости соединения абонента или других параметров.
Сервер приложения InetAccess расположен в директории /opt/bgbilling/isg-access/, сервисы systemd: isg-access. Данная ветка с отдельным приложением Access+Accounting предназначена для выдачи описания ISG-сервисов для Cisco по RADIUS. См. также http://wiki.bitel.ru/index.php/Справочник Cisco-ISG сервисов.
Сервера приложений InetAccess и InetAccounting расположены в директории /opt/bgbilling/inet/, сервисы systemd: inet-access и inet-accounting.
Возможны многие другие схемы предоставления и управления доступом в интернет. Если возникли проблемы с настройкой Вы всегда можете обратиться на бесплатный форум, в helpdesk или задать вопрос в комментариях к данной статье.
В образ также включена бета-версия нового личного кабинета. Новый личный кабинет является отдельным приложением. Чтобы зайти в него нужно запустить сервис wildfly (JBoss). При этом BGBillingServer (bgbilling.service) тоже должен быть запущен.
[root@bgserver ~]# systemctl start wildfly.service |
После запуска wildfly по пути http://x.x.x.x/my/ откроется новый личный кабинет. Параметры входа для личного кабинета - логин: 10000010 (номер тестового договора) и пароль: 123456.