В данной статье будет рассмотрен пример интеграции LANBilling с роутером Mikrotik для установки его в качестве BRAS сервера. Нами будет использоваться вариант сервисной модели IPoE с авторизаций по MAC адресу клиента.

Схема рассматриваемой сети представлена на Рис.1

mikrotik_ipoe_pic1.png

Рис. 1 (Схема сети)


1. Базовая настройка LANBilling

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


2. Настройка DHCP-сервера

Роль DHCP-сервера в рамках LANBilling выполняет агент LBinet. Все настройки агента, в том числе создание пулов адресов и управление ими, осуществляются с помощью web-интерфейса через экранную форму редактирования свойств RADIUS-агента в разделе DHCP-сервер.

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


3. Настройка RADIUS-агента

В качестве RADIUS-сервера будет выступать агент LBarcd (далее RADIUS-агент). RADIUS-агент, как это было описано выше, работает в симбиозе с агентом LBInet под одним sysid, поэтому создания дополнительных агентов в этом случае не требуется. Конфигурация агента показана на Рис. 2

mikrotik_ipoe_pic2.png

Рис. 2 (Настройка агента)

Отметим важные параметры:

«Интервал между Interim-UPDATE запросами аккаунтинга» - интервал в секундах между Accounting-Update пакетами.

«Тайм-аут зависшей сессии (сек)» - интервал в секундах между временем обработки последнего Accounting-Update пакета и текущим временем, при превышении которого сессия считается устаревшей. По умолчанию 1 день, можно выставлять любые меньшие значения данного параметра, большие значения использовать крайне не рекомендуется.

«Запускать script_stop для зависших сессий» - необходим для запуска внешнего скрипта с целью принудительного разрыва устаревших сессий или отправки Disconnect-Request через внутренний механизм CoA.

«Запускать script_stop при изменении текущей скорости» - необходим для запуска внешнего скрипта с целью изменения скорости доступа или отправки через внутренний механизм CoA скоростных атрибутов для изменения текущей скорости без разрыва сессии.

«Server Identifier» - IP адрес DHCP сервера LBinet. Должен быть указан, если на сети используются DHCP Relay

Далее необходимо добавить Mikrotik в качестве сервера доступа (NAS). Для этого в форме редактирования настроек RADIUS-агента открыть раздел «Серверы доступа» и добавить новый сервер доступа. Требуется указать IP адрес и RADIUS secret которые будут использоваться при общении NAS и биллинга. Так же необходимо выбрать метод авторизации MAC (Рис.3).

mikrotik_ipoe_pic3.png

Рис. 3 (Управление серверами доступа)


4. Настройка дополнительных RADIUS атрибутов

Оборудование Mikrotik использует ряд VSA атрибутов, которые по-умолчанию отсутствуют в словаре биллинга. С полным списком атрибутов можно ознакомиться на wiki странице вендора.

Для рассматриваемой схемы необходимо будет добавить следующие атрибуты:

Название Номер Вендор Тип
Mikrotik-Rate-Limit 8 14988 string
Mikrotik-Address-List 19 14988 string

Сделать это можно через web-интерфейс в меню «Объекты» - «Агенты» - «Словарь RADIUS-атрибутов»

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

В нашем случае был создан тариф со скоростью 2Мбит/с, соответствующий атрибут представлен на Рис. 4

mikrotik_ipoe_pic4.png

Рис. 4 (Пользовательский RADIUS-атрибут)


5. Настройка CoA (Change of Authorization)

Путь к скрипту handler указывается в конфигурационном файле RADIUS-агента (например, handler = /usr/local/billing/handler.sh). Код handler можно написать на любом скриптовом языке программирования, минимальный рабочий пример на shell можно скачать по  ссылке.


6. Завершение настройки LANBilling

Для завершения настройки LANBilling требуется создать учетную запись и указать в ней MAC адрес абонента. При необходимости назначить статический IP.


7. Настройка Mikrotik

Для перенаправления всех DHCP запросов на агент LBinet необходимо настроить DHCP Relay на интерфейсе роутера, к которому подключены абоненты. Возможна замена классического интерфейса на Bridge, который объединяет несколько Ethernet интерфейсов (Рис.5).

mikrotik_ipoe_pic5.png

Рис. 5 (Настройка DHCP Relay)

Следующим пунктом будет настройка RADIUS взаимодействия (Рис.6). Необходимо указать IP адрес агента LBarcd, secret и порты для отправки запросов авторизации и аккаунтинга. В качестве сервисов необходимо выбрать hotspot.

mikrotik_ipoe_pic6.png

Рис. 6 (Настройка RADIUS клиента)

Дополнительно необходимо активировать прием RADIUS клиентом Mikrotik запросов CoA (Рис.7)

mikrotik_ipoe_pic7.png

Рис. 7 (Настройка приемы RADIUS CoA)

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

Перейдем к настройке непосредственно функционала Hotspot.

Необходимо создать новый профиль сервера (Рис.8) с параметрами:

HTML Directory = hotspotmacwithoutpass
Login By = MAC
Use RADIUS = yes
Accounting = yes
Interim Update = значения из настроек LBarcd
mikrotik_ipoe_pic8.png

Рис. 8 (Профиль сервера HotSpot)

Создать профиль пользователя (Рис.9)

mikrotik_ipoe_pic9.png

Рис. 9 (Профиль пользователя HotSpot)

И в конце — Hotspot сервер (Рис.10)

mikrotik_ipoe_pic10.png

Рис. 10 (Профиль HotSpot сервера)


8. Заключение

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

Более полно об оборудовании Mikrotik и его н