В данной статье будет рассмотрен пример интеграции АСР LANBilling (далее АСР) с роутером Mikrotik для установки его в качестве BRAS сервера. Нами будет использоваться вариант сервисной модели IPoE с авторизаций по MAC адресу клиента.
Схема рассматриваемой сети представлена на Рис.1
Рис. 1 (Схема сети)
1. Базовая настройка АСР
Предполагается, что была выполнена установка и базовая настройка АСР. В противном случае необходимо обратиться к нашей документации, подробно описывающей данные процессы, а так же общую архитектуру системы: Документация.
2. Настройка DHCP-сервера
Роль DHCP-сервера в рамках АСР выполняет агент LBinet. Все настройки агента, в том числе создание пулов адресов и управление ими, осуществляются с помощью web-интерфейса через экранную форму редактирования свойств RADIUS-агента в разделе DHCP-сервер. Установка агента и базовая настройка выполняются типовым образом согласно документации по базовой настройке в пункте 1. Описание основных сценариев функционирования и специфичных параметров настройки отражено в документации пункт : Установка DHCP-агента LBinet.
В нашем случае может использоваться выдача 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. Завершение настройки АСР
Для завершения настройки АСР требуется создать учетную запись и указать в ней MAC адрес абонента. При необходимости назначить статический IP. О том, как это сделать, можно прочесть в стандартной документации: в разделе "Учетные записи".
6. Настройка 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 и его настройке можно узнать из официальной документации.