Интеграция LANBilling и оборудования Mikrotik (IPoE)
В данной статье будет рассмотрен пример интеграции LANBilling с роутером Mikrotik для установки его в качестве BRAS сервера. Нами будет использоваться вариант сервисной модели IPoE с авторизаций по MAC адресу клиента.
Схема рассматриваемой сети представлена на Рис.1
Рис. 1 (Схема сети)
1. Базовая настройка LANBilling
Предполагается, что была выполнена установка и базовая настройка LANBilling. В противном случае необходимо обратиться к нашей документации, подробно описывающей данные процессы, а так же общую архитектуру системы: Документация.
2. Настройка DHCP-сервера
Роль DHCP-сервера в рамках LANBilling выполняет агент LBinet. Все настройки агента, в том числе создание пулов адресов и управление ими, осуществляются с помощью web-интерфейса через экранную форму редактирования свойств RADIUS-агента в разделе DHCP-сервер.
В нашем случае может использоваться выдача IP-адресов на основе mac адреса клиентского оборудования.
3. Настройка RADIUS-агента
В качестве RADIUS-сервера будет выступать агент LBarcd (далее RADIUS-агент). RADIUS-агент, как это было описано выше, работает в симбиозе с агентом LBInet под одним sysid, поэтому создания дополнительных агентов в этом случае не требуется. Конфигурация агента показана на Рис. 2
Рис. 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).
Рис. 3 (Управление серверами доступа)
4. Настройка дополнительных RADIUS атрибутов
Оборудование Mikrotik использует ряд VSA атрибутов, которые по-умолчанию отсутствуют в словаре биллинга. С полным списком атрибутов можно ознакомиться на wiki странице вендора.
Для рассматриваемой схемы необходимо будет добавить следующие атрибуты:
| Название | Номер | Вендор | Тип |
|---|---|---|---|
| Mikrotik-Rate-Limit | 8 | 14988 | string |
| Mikrotik-Address-List | 19 | 14988 | string |
Сделать это можно через web-интерфейс в меню «Объекты» - «Агенты» - «Словарь RADIUS-атрибутов»
Для передачи на роутер информации об ограничении скорости доступа клиента необходимо завести в системе пользовательские RADIUS-атрибуты и привязать их к соответствующим скоростям.
В нашем случае был создан тариф со скоростью 2Мбит/с, соответствующий атрибут представлен на Рис. 4
Рис. 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).
Рис. 5 (Настройка DHCP Relay)
Следующим пунктом будет настройка RADIUS взаимодействия (Рис.6). Необходимо указать IP адрес агента LBarcd, secret и порты для отправки запросов авторизации и аккаунтинга. В качестве сервисов необходимо выбрать hotspot.
Рис. 6 (Настройка RADIUS клиента)
Дополнительно необходимо активировать прием RADIUS клиентом Mikrotik запросов CoA (Рис.7)
Рис. 7 (Настройка приемы RADIUS CoA)
Поскольку стандартный пакет страниц hotspot портала предназначен для авторизации по логину и паролю, необходимо загрузить на роутер модифицированный набор страниц «hotspotmacwithoutpass» который можно скачать по ссылке.
Перейдем к настройке непосредственно функционала Hotspot.
Необходимо создать новый профиль сервера (Рис.8) с параметрами:
HTML Directory = hotspotmacwithoutpass Login By = MAC Use RADIUS = yes Accounting = yes Interim Update = значения из настроек LBarcd
Рис. 8 (Профиль сервера HotSpot)
Создать профиль пользователя (Рис.9)
Рис. 9 (Профиль пользователя HotSpot)
И в конце — Hotspot сервер (Рис.10)
Рис. 10 (Профиль HotSpot сервера)
8. Заключение
В статье показан минимальный набор шагов, который необходимо выполнить для настройки данного типа авторизации абонентов. Администраторы сетей могут дополнить приведенные конфигурации, в зависимости от конкретной установки.
Более полно об оборудовании Mikrotik и его н