Приложения Carbon Soft в пределах одного продукта на платформе Carbon PL5 располагаются в chroot контейнерах и связаны между собой по протоколу IPv4 через служебный интерфейс dummy0.
На текущий момент существуют следующие приложения:
Контейнер | Назначение | В состав каких продуктов входит |
---|---|---|
/app/auth | Модуль авторизации в платформе | Общий модуль всех продуктов |
/app/base | Система доступа к настройкам и содержимому контейнеров на платформе, управление администраторами системы | Общий модуль всех продуктов |
/app/asr_billing | Биллинговая система | Billing, Billing-Softrouter |
/app/asr_cabinet | Личный кабинет | Billing, Billing-Softrouter, Billing-Slave |
/app/asr_fiscal | Модуль взаимодействия с платежными системами | Billing, Billing-Softrouter, Billing-Slave |
/app/collector | Система сбора статистики и DHCP-сервер | Billing, Billing-Softrouter |
/app/monitoring | Система мониторинга Zabbix | Billing, Billing-Softrouter |
/app/xge | Soft маршрутизатор | Billing-Softrouter, XGE Router |
/app/reductor | Фильтр трафика по спискам Роскомнадзора и Минюста | Reductor |
/app/https_proxy/ | Proxy-сервер для фильтрации https и hsts сайтов | Reductor |
/app/bgp_blackhole/ | Модуль для интеграции с маршутизатором в сети, анонсирующий маршрутную информацию для блокировки ip-адресов из реестра РКН | Reductor |
/app/blockpage/ | Страница-заглушка для отдачи вместо заблокированного ресурса | Reductor |
Satellite | Приложение для проверки работы Reductor, в обозримом будущем планируется перевод на платформу Carbon PL5 | Самостоятельный продукт |
Конфигурационные файлы контейнеров
Конфигурационные файлы файлы имеют следующий формат:
#!/bin/bash declare -A app app['path']='/app/carbon_as' app['local.ip']='169.1.0.1/8' app['wizard']='1' app['ppp-server.ip']='10.0.201.1' app['name']='Carbon AS 5' app['img']='/static/i/carbon_as.png' declare -A srv #pptp srv['widget']='menu "Настройки серверов" "Настройка PPTP, L2TP, PPPoE и других серверов"' srv['pptpd.enabled']='1' srv['pptpd.enabled.widget']='checkbox "Включить PPTP-сервер" "Включить PPTP-сервер"'
По сути - это bash скрипт, определяющий опции как элементы ассоциативных массивов.
Прямо в нём указываются и виджеты - то, как этот элемент будет выглядеть в настройках локального меню или веб-интерфейса.
Как правило опции находятся рядом с описанием.