Настройка Carbon Billing 5 с сервером сетевого доступа MikroTik

Совместно с инженерами Carbon Soft мы подготовили статью о том, как внедрить биллинговую систему на примере с сервером сетевого доступа Mikrotik.

Допустим, имеется сеть с растущей абонентской базой и Mikrotik’ом в качестве сервера сетевого доступа (NAS).
Задача — внедрить в сеть оператора связи автоматизированную систему расчетов, с помощью которой можно будет управлять NAS’ом. Схема должна быть прозрачной и удобной для использования.

В качестве автоматизированной системы управления в данной статье выбран биллинг Carbon Billing 5.

Установка Carbon Billing 5

Устанавливается Carbon Billing 5 с помощью iso или img образа (для установки с флешки), который необходимо скачать по ссылке: www.carbonsoft.ru/download/. Так как в качестве NAS’а используется Mikrotik, выбираем Carbon Billing OSS/BSS 5.

Подробный процесс установки биллинга описан в документации http://docs.carbonsoft.ru/pages/viewpage.action?pageId=65799386.

Первичная настройка сети биллинга и MikroTik

После установки биллинга и MikroTik’а необходимо провести первоначальную настройку сети для этих двух хостов. В качестве примера возьмём следующую адресацию сети:

  • 10.90.248.90/16 — адрес внешнего интерфейса MikroTik’а , который смотрит в интернет.
  • 10.90.1.1 — основной шлюз MikroTik’а.
  • 192.168.248.1/24 — адрес локального интерфейса MikroTik’а.
  • 192.168.248.2/24 — адрес биллинга.
  • 192.168.248.1 — шлюз биллинга, он же локальный адрес MikroTik’а.

Настройка сети MikroTik’а с помощью терминала

Шаг 1. Проверяем сетевые интерфейсы.

Проверяем, какие сетевые интерфейсы сейчас доступны для использования. Вводим команду:

/interface print

В ответ получим примерно такой вывод:

Flags: D - dynamic, X - disabled, R - running, S - slave
# NAME TYPE ACTUAL-MTU L2MTU MAX-L2MTU MAC-ADDRESS
0 R ether1 ether 1500 52:54:00:A6:AE:A9
1 R ether2 ether 1500 52:54:00:84:C3:7E

Шаг 2. Назначаем сетевые интерфейсы.

Выбираем какой интерфейс будет выбран в качестве внешнего, а какой в качестве локального. Мы выбрали ether1 как внешний, ether2 — локальный.

Добавляем адреса на интерфейсы в соответствии с выбором:

/ip address add address=10.90.248.90/16 interface=ether1 network=10.90.0.0
/ip address add address=192.168.248.1/24 interface=ether2 network=192.168.248.0

Шаг 3. Назначаем маршрут.

Теперь необходимо добавить маршрут по умолчанию для того, чтобы у Mikrotik’а был доступ во внешнюю сеть.

/ip route add distance=1 gateway=10.90.1.1

После добавления маршрута по умолчанию, нужно проверить, что у Mikrotik’a теперь есть доступ во внешнюю сеть. Запускаем ping до 8.8.8.8.

/ping 8.8.8.8

Ответ

SEQ HOST SIZE TTL TIME STATUS
0 8.8.8.8 56 47 41ms
1 8.8.8.8 56 47 41ms
2 8.8.8.8 56 47 41ms

В данном случае ответы есть.

Настройка сети на Carbon Billing 5

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

Проверяем какие сетевые интерфейсы доступны для использования и отобразились системой:

ip a | grep eth

В ответ получим примерно такой вывод:

eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:e0:13:3a brd ff:ff:ff:ff:ff:ff
link/ether 42:41:23:7d:e4:12 brd ff:ff:ff:ff:ff:ff

В данном случае можно увидеть, что есть только 1 сетевой интерфейс eth0, который и необходимо настроить для связки Carbon Billing 5 — Mikrotik. Для настройки будем использовать конфигурационный файл, который необходимо открыть любым текстовым редактором. В качестве примера используется текстовый редактор vim.

Открываем конфигурационный файл /etc/sysconfig/network-scripts/ifcfg-eth0. В случае, если сетевой интерфейс будет назван eth1, путь останется прежним, изменится только последний файл, то есть /etc/sysconfig/network-scripts/ifcfg-eth1.

vim /etc/sysconfig/network-scripts/ifcfg-eth0

В открывшемся окне появится примерно следующее содержание:

DEVICE=eth0
HWADDR=52:54:00:e0:13:3a
TYPE=Ethernet
UUID=d498b2ad-331a-4b66-b921-91cb8808012c
ONBOOT=no
NM_CONTROLLED=no
BOOTPROTO=none
DNS2=8.8.4.4
DNS1=8.8.8.8
USERCTL=no
PEERDNS=no
IPV6INIT=no

С помощью текстового редактора добавим сюда следующие строки:

IPADDR=192.168.248.2
NETMASK=255.255.255.0
GATEWAY=192.168.248.1

Обратите внимание, что по умолчанию в поле ONBOOT стоит значение no. Это значение отвечает за то, будет ли запускаться этот интерфейс при перезагрузке сервера. В данном случае необходимо изменить его на значение yes.

После всех изменений конфигурационный файл должен выглядеть следующим образом:

DEVICE=eth0
HWADDR=52:54:00:e0:13:3a
TYPE=Ethernet
UUID=d498b2ad-331a-4b66-b921-91cb8808012c
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPADDR=192.168.248.2
NETMASK=255.255.255.0
DNS2=8.8.4.4
GATEWAY=192.168.248.1
DNS1=8.8.8.8
USERCTL=no
PEERDNS=no
IPV6INIT=no

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

После того, как Вы внесли все необходимые изменения, необходимо нажать клавишу ESC, чтобы выйти из режима «Вставка». Для сохранения файла и выхода необходимо нажать клавиши :wq! и нажать Enter.

После внесения изменения в конфигурационный файл их необходимо применить. Для этого выполните следующие команды:

ifdown eth0; ifup eth0

Если всё выполнено верно, то после этих изменений IP-адрес 192.168.248.2 будет добавлен на интерфейс eth0. Проверим это той же командой:

ip a | grep eth

В выводе теперь будет информация с этим IP-адресом:

eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:e0:13:3a brd ff:ff:ff:ff:ff:ff
inet 192.168.248.2/24 brd 192.168.248.255 scope global eth0
link/ether 42:41:23:7d:e4:12 brd ff:ff:ff:ff:ff:ff

Теперь проверим, что Mikrotik доступен с биллинга:

ping 192.168.248.1
PING 192.168.248.1 (192.168.248.1) 56(84) bytes of data.
64 bytes from 192.168.248.1: icmp_seq=1 ttl=64 time=0.359 ms
64 bytes from 192.168.248.1: icmp_seq=2 ttl=64 time=0.306 ms

Теперь настроим доступ в интернет со стороны биллинга.

Если для биллинга у Вас выделен белый адрес, скорее всего доступ в интернет у биллинга уже есть. Проверить это можно следующей командой на стороне биллинга:

ping 8.8.8.8

Ответ:

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=46 time=41.3 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=46 time=41.5 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=46 time=41.3 ms

Если же адрес для биллинга выделен из серой подсети, как в данном примере, то на Mirkotik’е необходимо добавить правило маскарада для адреса биллинга. Для этого на Mirkotik’е вводим следующие команды:

/ip firewall nat add action=masquerade chain=srcnat dst-address=!10.0.0.0/8 src-address=192.168.248.2

Данное правило для всех запросов с адреса 192.168.248.2 (адрес биллинга) на любой адрес не из сети 10.0.0.0/8 (пример серой подсети) будет выполнять маскарад, то есть отправлять пакет через внешний интерфейс, на котором указан адрес для маршрута по умолчанию, то есть через ether1 и подменит src address.

В примере указано исключение только для одной серой сети 10.0.0.0/8. Если необходимо добавить исключение для всех серый подсетей, укажите их в отдельных правилах:

/ip firewall nat add action=masquerade chain=srcnat dst-address=!172.16.0.0/12 src-address=192.168.248.2
/ip firewall nat add action=masquerade chain=srcnat dst-address=!192.168.0.0/16 src-address=192.168.248.2

После добавления правил маскарада на Mirkotik’е, необходимо проверить на стороне биллинга наличие доступа в интернет с помощью команды ping 8.8.8.8. Биллингу необходим доступ в интернет для активации и регистрации продукта.

Регистрация и активация биллинга

Для того, чтобы зайти в веб-интерфейс биллинга перейдите по адресу ‘IP-адрес биллинга':8080 в браузере. В нашем случае переходим по адресу http://192.168.248.2:8080/. Для авторизации используем реквизиты по умолчанию:

Логин: root
Пароль: servicemode

После авторизации Вы будете автоматически перенаправлены на страницу, где расположена платформа продукта.

Carbon Billing 5 платформа продукта

Для начала работы с биллингом необходимо зарегистрировать продукт. Нажимаем на кнопку «Регистрация» и заполняем данные. После этого будет доступен 60-дневный бесплатный период с полной функциональностью биллинговой системы.

Описание стандартной схемы взаимодействия

В биллинге Carbon Billing 5 существует несколько стандартных схем для разного сетевого оборудования (Mikrotik, Cisco, Redback). Для оборудования Mikrotik так же существует несколько типовых схем интеграции.

В данном примере мы рассматриваем схему Mikrotik-Simple. Отличие этой схемы от схемы Mikrotik PCQ заключается в назначении скорости абоненту через очередь, а не через дерево. В последних версиях Mikrotik производители заявляли о более высокой производительности именно через назначение скоростей с помощью Simple. Схема Mikrotik-Simple поддерживает как IPoE так и PPPoE/PPTP/L2TP авторизацию. В схеме участвуют следующие понятия:

  • Абонент
  • Биллинг
  • Mikrotik

Общая логика настройки взаимодействия выглядит следующим образом:

  1. На стороне биллинга генерируется конфигурация для Mikrotik’а на основании входных данных, таких как IP-адрес, логин, пароль, порт и так далее.
  2. Конфигурация загружается на Mikrotik.
  3. При добавлении абонента в биллинг, на стороне биллинга вызывается определённое событие, которое описано в скрипте отправки команд, после вызова которого на оборудование уходит команда по добавлению определённого IP-адреса в нужный адрес-лист, которому разрешен доступ в интернет. Помимо этого, будет отправлена команда на добавление шейпера исходя из тарифного плана абонента. Более подробно схема описана ниже.

Описание логики авторизации абонентов

Общая логика авторизации абонента с помощью IPoE.

  1. Абонент получает IP-адрес по DHCP, либо прописывает адрес статически.
  2. Если данный IP-адрес находится в разрешающем адрес-листе на Mikrotik’e — доступ в интернет есть.
  3. При блокировке абонента по отрицательному балансу на биллинге будет создано событие, которое добавляет адреса абонента в ещё один адрес-лист, который запретит абоненту доступ в интернет. Таким образом абонент будет сразу в 2 адрес-листах.
  4. При разблокировке абонента на биллинге будет создано событие, которое отправит на Mikrotik команду для удаления адреса абонента из блок листа и доступ у абонента восстановится.

В данной схеме взаимодействия RADIUS биллинга никак не используется и роль биллинга сводится к отправке в нужный момент времени определенной команды на Mikrotik. При этом всю информацию об адрес-листах и шейперах хранит Mikrotik.

На случай, если в какой-то момент времени Mikrotik по какой-то причине был недоступен с биллинга, на биллинге имеется скрипт синхронизации, который запускается раз в час и проверяет совпадение состояния абонентов на биллинге и на Mikrotik’е и в случае, если он находит различия — отправляет команды на оборудование.

Общая логика авторизации абонента с помощью PPPoE.

  1. Абонент отправляет запрос в широковещательный сегмент на авторизацию PPPoE для обнаружения PPPoE концентратора. На стороне абонента это выглядит как ввод логина/пароля при установке соединения (PADI).
  2. Mikrotik отвечает на этот запрос, подставляя свой MAC-адрес в ответ, тем самым говоря абоненту, что Mikrotik является PPPoE концентратором (PADO).
  3. Компьютер абонента, при получении ответа от Mikrotik’а, выбирает его в качестве концентратора (в случае, если ответ пришел только от одного Mikrotik’а) и отправляет запрос на авторизацию Mikrotik’у (PADR).
  4. Mikrotik, получив запрос на авторизацию от абонента, отправляет запрос на авторизацию уже биллингу, в котором указывает логин/пароль абонента (Access-request).
  5. Биллинг при получении запроса от Mikrotik’а проверяет в базе данных наличие абонента с такой связкой логин/пароль. Если абонент найден — биллинг разрешает Mikrotik’у установить соединение и отправляет по RADIUS атрибут Mikrotik-Address-List со значением crb_auth_list. Этот адрес-лист говорит о том, что абонент существует в биллинге (Access-accept). Так же биллинг передает через RADIUS информацию об IP-адресе абонента, который будет назначен при установке туннельного соединения. Если биллинг не находит абонента — будет отправлен отказ на авторизацию (Access-reject).
  6. В момент авторизации на биллинге так же происходит событие, которое отправляет на Mikrotik команды по назначению скорости, а так же, если абонент заблокирован по отрицательному балансу, добавление абонента в negbal-лист на Mikrotik.
  7. Mikrotik, после получения от биллинга разрешения на авторизацию (Access-accept), отправляет абоненту пакет об успешной авторизации и устанавливает туннельное соединение между собой и компьютером абонента (PADS).

В схеме PPPoE RADIUS биллинга используется каждый раз при подключении абонента, поэтому важно, чтобы при авторизации абонента у Mikrotik’а был доступ до биллинга. В этой схеме биллинг так же генерирует событие при изменении состояния абонента как по балансу, так и по другой административной блокировке и реагирует на это отправкой команд. Различия этих 2 схем только в установлении соединения.

В стандартной схеме предусмотрена отправка NetFlow пакетов на Collector биллинга. По умолчанию он работает через порт 9996. При получении NetFlow информации от Mikrotik’а, биллинг агрегирует её и добавляет информацию в базу данных биллинга. Далее, эту информацию можно просматривать через веб-интерфейс и использовать в отчётах.

Подготовка биллинга к интеграции с оборудованием

После установки биллинга, на нем будет развёрнута стандартная база данных с тестовыми абонентами и тарифами для ознакомления с продуктом. В базе данных будет примерно 50 абонентов и около 10 тарифов.

Carbon Billing 5 дерево абонентов

Перед интеграцией оборудования эти данные целесообразно удалить, чтобы в будущем не удалять лишнюю информацию вручную. Для этого в биллинге существует инструмент полной очистки базы данных. После этого в биллинге останется только необходимая информация, практически пустая база данных, с которой работать в последствии будет намного удобнее.

Очистка базы данных

Шаг 1.

Заходим в веб-интерфейс биллинга по адресу ‘IP-адрес биллинга':8080 и вводим логин/пароль.

Шаг 2.

Переходим на вкладку «Управление абонентами и тарифами».

Шаг 3.

Переходим на вкладку «Настройки — Очистка базы данных».

Carbon Billing 5 очистка базы данных

Шаг 4.

Нажимаем кнопку «Очистить» и ждем завершения процесса. После очистки базы данных в биллинге останется 4 абонента, 3 из которых это администраторы биллинга по умолчанию и 1 тестовый пользователь, который используется внутренними тестами биллинга.

Carbon Billing 5 пустое дерево абонентов

То, что не удалилось при очистке БД удалять вручную не нужно — все эти данные необходимы биллингу.

Шаг 5.

Перед интеграцией в пустой базе данных необходимо настроить два пула IP-адресов в биллинге. Эти пулы будут использоваться при генерации схемы. Переходим во вкладку «Управление абонентами и тарифами — Справочники — Пулы IP-адресов» и выбираем пул «cabinet_ip».

Carbon Billing 5 Управление абонентами и тарифами

В открывшемся окне в поле «начальный адрес» необходимо указать IP-адрес биллинга, который находится на интерфейсе, подключенном к Mikrotik’у, и нажать сохранить. Этот адрес будет использоваться на Mikrotik’e как адрес для редиректа абонентов с отрицательным балансом и блокировкой.

Тоже самое делаем для пула «billing_ip». Далее этот адрес будет использоваться в качестве RADIUS сервера на Mikrotik’e и в качестве DST для NetFlow пакетов.

Добавление NAS’а в биллинг

Шаг 1.

Заходим в веб-интерфейс по адресу ‘ip адрес биллинг':8080.

Шаг 2.

Переходим на вкладку «Управление абонентами и тарифами — Оборудование — NAS». Нажимаем кнопку «Добавить».

Carbon Billing 5 Управление абонентами и тарифами - Оборудование - NAS

Шаг 3.

После этих действий открывается окно с настройками NAS’а.

Carbon Billing 5 окно с настройками NAS основные

Carbon Billing 5 окно с настройками NAS дополнительно

Ключевые параметры NAS’а, которые обязательно необходимо заполнить при интеграции Mikrotik по схеме Mikrotik-Simple:

  1. Название. Без названия биллинг не позволит добавить NAS. Подойдет любое название без спецсимволов. В нашем примере указан «Mikrotik».
  2. IP-адрес. Адрес из этого поля будет добавлен в конфигурацию RADIUS Client и на запросы, которые приходят на RADIUS с этого адреса RADIUS Server сможет ответить. Если запросы будут приходить на биллинг с адресов, которые не указаны ни на одном NAS’e, ответ от биллинга будет Reject.
  3. Стандартная схема OSS. От этого поля зависит, как именно биллинг будет генерировать схему. Здесь выбираем «Mikrotik-Simple».
  4. Radius_secret. Это общий пароль для всех RADIUS авторизаций между биллингом и Mikrotik’ом. Пароль попадёт в шаблон и от туда в схему. Использование спецсимволов в этом поле не рекомендуется.
  5. Coa_port. Порт для управления через radclient. По умолчанию 3799. Менять не рекомендуется.
  6. Coa_psw. Пароль для radclient. На mikrotik’e в качестве coa_psw используется radius_secret, поэтому здесь указывать ничего не нужно.
  7. Telnet_login. Логин для управления оборудованием.
  8. Telnet_password. Пароль для управления оборудованием. Спецсимволы запрещены.
  9. Telnet_port. Порт для управления оборудованием.
  10. Telnet_ip. IP-адрес для отправки команд. По этому адресу будут отправляться команды биллингом.
  11. Telnet_type. Тип подключения для отправки команд ssh/telnet.
  12. IP-адрес радиус сервера. Здесь нужно указать пул billing_ip, который был настроен в предыдущем пунктах.
  13. IP-адрес кабинета. Здесь нужно указать пул cabinet_ip, который был настроен в предыдущем пунктах.
  14. Не посылать user_disconnect при получении Radius Stop. Важная опция! Обязательно нужно включить. Она запрещает отправку user_disconnect при получении accounting_stop пакета.
  15. Список интерфейсов, на которых будет поднят PPPoE сервер. В случае, если Вам необходимо схема с поддержкой авторизации PPPoE. Эти интерфейсы будут добавлены в шаблон, по которому будет генерироваться конфигурация.

После заполнения этих полей нажмите кнопку «Сохранить», дождитесь сохранения и перейти во вкладку «Управление».

Генерация и загрузка схемы на MikroTik

Во вкладке «Управление» будет происходить весь процесс от инициализации до загрузки конфигурации на оборудование.

В разделе «Каталог управления этим экземпляром оборудования» нажимаем кнопку «Сохранить».

Carbon Billing 5 каталог управления оборудованием

На этом шаге будет создан каталог, который указан в примере. В данном случае это каталог /var/oss/core/Mikrotik, именно в нём будет содержаться вся основная информация по текущему NAS’у. Данный каталог будет создан в контейнере /app/asr_billing/.

Далее выполняем следующие действия по шагам:

Шаг 1. Инициализация

Carbon Billing 5 Шаг 1 Инициализация

1.1. rtsh cfg init mikrotik_simple v1 — инициализировать каталог управления /var/oss/core/Mikrotik. Этим действием мы создаем структуру каталогов и файлов внутри каталога /var/oss/core/Mikrotik.

Среди созданных файлов будут шаблоны, на основании которых будет генерироваться схема и ini-файлы, в которых будет хранится информация, которую мы добавляли на основной вкладке оборудования. После шага 1.1 файлы создаются со значением по умолчанию.

1.2. rtsh cfg fill 192.168.248.1 — заполнить ini-файлы данными из биллинга. В этом шаге биллинг заменяет значение переменных из ini-файлов значением из информации о NAS’e. Например, в файле main.ini идёт замена nas_ip=«192.168.0.10» (значение по умолчанию) на nas_ip=«192.168.248.1» (значение, взятое из настроек NAS’а).

1.3. rtsh cfg save — сохранить сгенерированные файлы в историю. Этот шаг сохраняет те изменения, которые были сделаны на шаге 1.2.

Шаг 2. Сохранение текущей конфигурации

Carbon Billing 5 Шаг 2 Сохранение текущей конфигурации

2.1. rtsh cfg download — загрузить конфигурационные файлы с оборудования в каталог /var/oss/core/Mikrotik/cur. Этот шаг своего рода бэкап со стороны биллинга Вашей текущей конфигурации.

2.2. rtsh cfg save — сохранить скаченную конфигурацию в историю.

Шаг 3. Подготовка конфигурации

Carbon Billing 5 Шаг 3 Подготовка конфигурации

3.1. rtsh cfg make — сгенерировать файлы конфигурации из ini-файлов и шаблонов в каталог /var/oss/core/Mikrotik/upload. Этот шаг проводит генерацию конфигурации, которая будет загружена на оборудование. Генерация проходит на основании шаблонов, в которые добавляются переменные из ini-файлов. Посмотреть шаблоны можно в /var/oss/core/Mikrotik/tmplt/, а ini-файлы в /var/oss/core/Mikrotik/.

3.2. rtsh cfg upload show — вывести все сгенерированные конфигурации. Этот шаг выведет весь конфигурационный файл на экран.

3.3. rtsh cfg save сохранить сгенерированные конфигурации в историю.

Шаг 4. Загрузка конфигурации

Carbon Billing 5 Шаг 4 Загрузка конфигурации

4.1. rtsh cfg upload — загрузить сгенерированные конфигурационные файлы в оборудование. На этом шаге идет загрузка конфигурации на оборудование по тем реквизитам, которые указаны в NAS’e и ini- файлах. Если загрузка идет через SSH — обязательно проведите предварительное подключение с биллинга до NAS по SSH, перейдя в chroot /app/asr_billing/. Для этого выполните следующие команды с биллинга:

chroot /app/asr_billing/
ssh admin@192.168.248.1

Это данные из примера. Этим действием Вы убедитесь, что между биллингом и Mikrotik’ом есть доступ и подтвердите прием SSH-ключей.

Добавление абонента в биллинг

После того, как NAS добавлен в биллинг и конфигурация успешно загружена на Mikrotik, можно приступать к добавлению абонентов в биллинг.

Первым делом необходимо создать тариф, подходящий для нашей системы расчетов. В Carbon Billing 5 есть очень гибкая система создания тарифов под разные сложные схемы списания, в данной статье все они рассматриваться не будут, так как их описание выходит далеко за рамки статьи.

В качестве примера создадим простой тариф с предоплатной системой и методом списания «Ежемесячно, равными долями в день» стоимостью 100 рублей в месяц.

Для этого переходим на вкладку «Управление абонентами и тарифами — тарификация — тарифы» и нажимаем кнопку «Мастер».

Carbon Billing 5 Управление абонентами и тарифами - тарификация - тарифы

Опция «Мастер» используется для создания простых тарифов и исключает в момент создания все опции кроме основных.

Carbon Billing 5 Мастер создания тарифа

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

Carbon Billing 5 Настройка услуги

В Carbon Billing 5 тариф представляет собой набор определенных услуг и при создании тарифа с помощью мастера, услуга будет создана в этом же процессе. Выбираем название, скорость и стоимость услуги, нажимаем «Далее» и «Сохранить».

Теперь, когда у нас есть тариф, можно переходить к созданию нового абонента. Для этого перейдем во вкладку «Управление абонентами и тарифами — Абонент» и используем кнопку «+Абонент». Откроется мастер создания абонента, состоящий из 3 шагов:

Шаг 1. Заполняем основную информацию по абоненту

Ключевые параметры здесь «Название/ФИО», «Тариф» и «Номер договора». После заполнения информации нажимаем кнопку «Далее».

Carbon Billing 5 Мастер создания абонента Шаг 1

Шаг 2. Вводим реквизиты абонента

Здесь нет ни одного обязательно поля, они все нужны для дополнительной информации об абоненте. После заполнения информации нажимаем кнопку «Далее».

Шаг 3. Сетевые реквизиты абонента

Укажем тип авторизации «По ip static», назначим IPv4-адрес из подсети локального интерфейса Mikrotik’а нажав на кнопку рядом с полем (биллинг выберет свободный адрес автоматически), например 192.168.248.5 и выберем в качестве NAS’а Mikrotik. После нажатия кнопок «Далее» и «Готово», будет создан абонент.

Carbon Billing 5 Мастер создания абонента Шаг 3

В момент создания абонента на Mikrotik уйдут команды из функций:

  1. user_add — абонент добавлен в биллинг. Эта команда добавит IP-адрес 192.168.248.5 в crb_auth_list.
  2. user_redirect — абонент ещё не заплатил и заблокирован по балансу. Эта команда добавит IP-адрес 192.168.248.5 в crb_negbal_list.

Таким образом, сразу после создания абонента, на Mikrotik’е он будет в 2 листах: crb_auth_list и crb_negbal_list. Проверим это командой:

ip firewall address-list print where address=192.168.248.5

Ответ:

Flags: X - disabled, D - dynamic
# LIST ADDRESS CREATION-TIME
0 ;;; 192.168.248.5_crb_auth
crb_auth_list 192.168.248.5 oct/04/2018 13:16:11
crb_negbal_list 192.168.248.5 oct/04/2018 13:16:11

В crb_negbal_list абонент находится, так как при добавлении абонента, у него недостаточно средств на счёте для активации услуги, которая стоит 100 рублей. При этом у абонента будет соответствующий статус в биллинге.

Carbon Billing 5 Информация об абоненте

Для того, чтобы абонент получил доступ в интернет, необходимо добавить ему средств на счёт. Для этого нужно перейти во вкладку «Операции» внутри настроек абонента и выбрать опцию «Приход».

Carbon Billing 5 Операции абонента

После чего добавить сумму, необходимую для активации услуги. В данном случае хватит 100 рублей.

Carbon Billing 5 Оформление прихода абоненту

После обработки платежа, биллинг отправит на Mikrotik команды:

  1. user_redirect_cancel — эта команда уберет ip адрес абонента из адрес листа crb_negbal_list.
  2. user_rate_set — этой командой будут добавлены скорости для абонента.

Проверим, что абонент находится в правильных адрес листах. Выполним на Mikrotik’е команду:

ip firewall address-list print where address=192.168.248.5

В ответ получим следующее:

Flags: X - disabled, D - dynamic
# LIST ADDRESS CREATION-TIME
0 ;;; 192.168.248.5_crb_auth
crb_auth_list 192.168.248.5 oct/04/2018 13:18:16

Как видно из вывода, абонент находится только в одном адрес листе crb_auth_list, соответственно имеет доступ в интернет. Проверить какой шейпер назначен абоненту можно командой:

queue simple print where target=192.168.248.5/32

В выводе получим данные по скоростям:

Flags: X - disabled, I - invalid, D - dynamic
0 name="crb_192.168.248.5" target=192.168.248.5/32 parent=none packet-marks="" priority=8/8 queue=default-small/default-small limit-at=0/0 max-limit=1024k/1024k burst-limit=0/0 burst-threshold=0/0
burst-time=0s/0s bucket-size=0.1/0.1

Данные совпадают с информацией, которая указана в тарифе, а именно max-limit=1024k/1024k. При авторизации по PPPoE изменится только этап авторизации, на котором нужно ввести логин/пароль. Остальная логика останется прежней.

Для комфортной и безопасной схемы IPoE лучше настроить DHCP для получения IP-адреса. В данной схеме можно использовать DHCP как на Mikrotik’е, так и на биллинге. Наилучшим решением, на наш взгляд, использовать DHCP с привязкой по opt82 и использованием на коммутаторах опции DHCP Snooping. Это поможет защитить сеть от подмены
IP-адресов и обеспечит удобную работу абонентов.

В биллинге Carbon Billing 5 выдача адреса с помощью opt82 так же поддерживается и настраивается по статьям:

Итоги интеграции Carbon Billing 5 + MikroTik

Подобная схема интеграции биллинговой системы у инженера Carbon Soft занимает 1 день. На практике интеграций среди более 300 интернет-провайдеров со всеми организационными вопросами, установка биллинга + MikroTik в уже работающую сеть занимает всего 1-2 недели до полноценной эксплуатации.

Полезные ссылки

Видеокурс по биллингу для упрощения понимания работы в нём и обучения персонала операторов связи ‑ смотрите на YouTube. Новые ролики мы выпускаем каждый месяц.

Читайте также подробные отзывы-интервью об опыте использования Carbon Billing 5 здесь.

Другие отзывы о Carbon Billing 5 и Сarbon Reductor DPI.

Тестовую версию на 60 дней с поддержкой при тестировании «SLA-стандарт» скачайте в разделе скачать.

Чтобы не устанавливать биллинг и быстро ознакомиться с веб-интерфейсом, посмотрите демо-версию биллинга в облаке.


Спасибо, что пользуетесь продуктами компании Carbon Soft!

Среди наших клиентов

Клиенты Carbon Soft