АСР LANBilling - сертифікований білінг (billing)

  1. Вступ АСР LANBilling, починаючи зі збірки 2.0.006, містить в своєму складі модуль LBinet (в термінології...
  2. Базова настройка агента LBinet

Вступ

АСР LANBilling, починаючи зі збірки 2.0.006, містить в своєму складі модуль LBinet (в термінології АСР - агент), що виконує функції DHCP-сервера. Модуль дозволяє проводити ідентифікацію абонента або з використанням DHCP option82, або за допомогою MAC-адреси клієнтського пристрою і здійснювати видачу IP-адреси (динамічного чи зафіксованого за абонентом) з пулу IP-адрес. У документації по модулю LBinet ( https://lanbilling.ru/documentation ) Досить докладно висвітлені ці та інші можливості агента. Однак в документації не будуть зачіпатися аспекти спільної роботи агента з іншими компонентами АСР такими, як RADIUS-агент або кабельний агент. Виникає безліч питань, адже операторам зв'язку найчастіше потрібна не тільки функціонал видачі IP-адрес, а й функціонал підрахунку спожитого трафіку, функціонал авторизації.

У даній статті спробуємо усунути означений вище пробіл і показати сценарії використання агента LBinet в сукупності з іншими компонентами АСР на прикладі реальних сервісних моделей надання абонентам доступу в мережу Інтернет.

З метою уніфікації, у всіх сценаріях абоненти будуть ідентифікуватися агентом LBinet з використанням DHCP option82. Імплементацію option82 в DHCP-запит буде виконувати Ethernet-комутатор доступу, в порт якого підключений абонент.

Базова настройка АСР

Передбачається, що була виконана установка та базове налаштування АСР. В іншому випадку необхідно звернутися до нашої документації, детально описує дані процеси, а так само загальну архітектуру системи: https://lanbilling.ru/documentation .

Базова настройка агента LBinet

На додаток до документації, у вигляді тез опишемо основні кроки по налаштуванню агента, які є загальними для всіх розглянутих в даній статті сценаріїв (всі дії виконуються в адміністративному WEB-інтерфейсі АСР):

1. Створити фіктивний агент з типом RADIUS і задати у файлі конфігурації агента LBinet (/etc/billing.conf.LBinet) значення параметра "agent_id" як ID створеного агента.

2. Поставити робочі параметри DHCP сервера в формі настройки агента з типом RADIUS (Рис. 1) в секції "DHCP-сервер". Інші параметри - за замовчуванням. Зберегти.
Примітка: форма редагування властивостей DHCP-сервера для версій системи до 2.0-017 виглядає інакше.

3. Запустити агент LBinet.

4. У розділі "Об'єкти" - "Inventory" - "Редагувати пристрої" створити групу пристроїв. Група пристроїв як правило відповідає одному L3-сегменту мережі.

5. В екранній формі настройки агента з типом RADIUS в розділі "Управління мережами" створити IP-мережу (прапор "Гість" не встановлено, NAS - Все) і прив'язати її до групи пристроїв, створеної в пункті 4. Зв'язка IP-мережі і групи пристроїв служить для опису в АСР L3-сегмента мережі. Надалі обладнання (комутатор) доступу можна порівнювати потрібного L3-сегменту шляхом його додавання в заздалегідь визначену групу пристроїв.

6. У розділі "Об'єкти" - "Inventory" - "Редагувати пристрої" додати пристрій, відповідне комутатора доступу.

7. У формі редагування параметрів пристрою задати значення опції "Agent-Remote-Id" для влаштування, створити необхідну кількість портів, включити пристрій в потрібну групу.

У формі редагування параметрів пристрою задати значення опції Agent-Remote-Id для влаштування, створити необхідну кількість портів, включити пристрій в потрібну групу

Малюнок 1

Сценарій 1: В мережі оператора вимагається тільки видача IP-адрес засобами протоколу DHCP без авторизації, підрахунку трафіку і управління обладнанням.

На практиці - самий рідко зустрічається сценарій. На стороні АСР функціонує тільки агент LBinet (DHCP). Схема взаємодії відображена на рисунку 2.

Схема взаємодії відображена на рисунку 2

малюнок 2

Після виконання всіх кроків, описаних в розділі по базовому налаштуванні агента LBinet, агент готовий до роботи. Як фінальних кроків необхідно:

1. Створити абонента і обліковий запис на агента з типом RADIUS.

2. У формі редагування параметрів облікового запису прив'язати обліковий запис до порту обладнання (комутатора) доступу.

У даному сценарії по команді від агента LBinet можливе створення запису в таблиці активних сесій після успішного завершення транзакції видачі IP-адреси. Інформація про активну сесії відображається в формі "Звіти" - "Статистика" - "Показати" - "Активні сесії" (Рис. 3).

3)

малюнок 3

За подією старіння dhcp-Лізи запис з таблиці активних сесій буде автоматично видалена. Обов'язковою умовою для роботи даної логіки є відсутність записів в розділі "Сервери доступу" форми редагування агента з типом RADIUS.

Сценарій 2: У мережі оператора вимагається видача IP-адрес засобами протоколу DHCP, підрахунок трафіку засобами протоколу Netflow і включення / відключення абонентів на обладнанні. Авторизація абонентів не потрібно.

Даний сценарій є більш поширеним, ніж сценарій 1. Як правило підходить організаціям, що надають доступ в мережу Інтернет своїм співробітникам і операторам зв'язку, в сервісних моделях яких відсутня авторизація по протоколу RADIUS.

На стороні АСР функціонують агент LBinet (DHCP), який здійснює видачу IP-адрес і кабельний агент (Netflow / Sflow), який здійснює збір статистики про спожитий трафік. На стороні транспортної мережі зазвичай є обладнання, яке контролює доступ абонентів до мережі Інтернет і виконує функції експорту статистики про спожитий трафік. У розглянутому нами прикладі обладнання представлено у вигляді Linux-маршрутизатора, контроль доступу здійснюється засобами брандмауера IPtables, експорт трафіку здійснюється засобами протоколу Netflow. Кабельний агент в даній схемі виконує функції Netflow-колектора, а так само щодо подій блокування / розблокування облікового запису здійснює запуск зовнішніх скриптів для передачі відповідних команд на обладнання. Схема взаємодії відображена на Рис. 4.

4

малюнок 4

Після виконання всіх кроків, описаних в розділі по базовому налаштуванні агента LBinet, необхідно:

1. Створити агент з типом Netflow і провести його налаштування згідно з документацією до АСР: https://lanbilling.ru/documentation . Запустити агент.

2. Змінити в формі настройки агента з типом RADIUS параметр «Керувати клієнтами агента» шляхом вибору зі списку агента з типом Netflow (Рис. 5). Зберегти.
Примітка: Форма редагування властивостей DHCP-сервера для версій системи до 2.0-017 виглядає інакше.

малюнок 5

3. У конфігураційний файл агента LBucd (/etc/billing.conf.LBucd) додати параметр: handler = / usr / local / billing / handler_ucd, що містить шлях до скрипту управління обладнанням. Як було згадано вище, в даному сценарії управління доступом буде здійснюватися шляхом додавання / видалення правил брандмауера IPtables. Найпростіший приклад скрипта можна подивитися по засланні . Завантажений скрипт необхідно скопіювати в директорію / usr / local / billing на сервер з агентом LBucd і не забути зробити скрипт виконуваним (chmod + x / usr / local / billing / handler_ucd). Передбачається, що АСР працює на окремому сервері, тому перед виконанням команди всередині скрипта здійснюється SSH-з'єднання до маршрутизатора (для роботи даного функціоналу необхідно попередньо налаштувати авторизацію по ключам).

4. Запустити знову агент LBucd.

5. Запустити знову агент LBinet.

6. Повторити крок 5 з розділу по базовому налаштуванні агента LBinet для створеного агента з типом Netflow. Надалі нові IP-мережі досить створювати тільки для агента з типом Netflow, зміни будуть автоматично реплицироваться в відповідний йому агент з типом RADIUS.

7. Створити абонента. Створити обліковий запис на агента з типом Netflow.

8. У формі редагування параметрів облікового запису прив'язати обліковий запис до порту обладнання (комутатора) доступу.

9. ОБОВ'ЯЗКОВА УМОВА для даного сценарію! У формі редагування параметрів облікового запису на вкладці «Налаштування мережі» необхідно здійснити прив'язку статичного IP-адреси до облікового запису. В іншому випадку функціонал обліку спожитого трафіку працювати не буде (весь трафік буде не ідентифікованим).

ВАЖЛИВО! В версія АСР, більш ранніх, ніж 2.0.016, функціонал "Керувати клієнтами агента" НЕ доступний для агента LBinet. Тому для реалізації даного сценарію потрібне створення двох облікових записів (одна - на агента з типом RADIUS, друга - на агента з типом Netflow) з однаковими статичними IP-адресами.

Аналогічно до попереднього сценарію інформацію про активну сесії можна подивитися в формі "Звіти" - "Статистика" - "Показати" - "Активні сесії". Інформація про спожитий трафік відображається в формі "Звіти" - "Статистика" - "Показати".

Сценарій 3: У мережі оператора вимагається видача IP-адрес засобами протоколу DHCP, авторизація і підрахунок трафіку засобами протоколу RADIUS.

Даний сценарій, як показала практика, є найбільш популярним серед операторів зв'язку. Реалізація досить докладно описана в статті "АСР LANBilling і Dynamic CLIPS". Ознайомитися можна по засланні .

Сценарій 4: У мережі оператора вимагається видача IP-адрес засобами протоколу DHCP, підрахунок трафіку засобами протоколу Netflow і авторизація абонентів засобами протоколу RADIUS.

Даний сценарій є найбільш складним з точки зору АСР і, по суті, є складанням сценаріїв 2 і 3. Як правило підходить операторам зв'язку для реалізації досить специфічних сервісних моделей.

На стороні АСР функціонують агент LBinet (DHCP), який здійснює видачу IP-адрес, агент LBarcd (RADIUS), що виконує функції авторизації, і кабельний агент (Netflow / Sflow), який здійснює збір статистики про спожитий трафік. На стороні транспортної мережі зазвичай є досить просунутий маршрутизатор (BNG), який має можливість ініціювати запити авторизації до RADIUS на подієвої основі. Крім авторизації маршрутизатор так само виконує функції експорту (в нашому прикладі - засобами Netflow) статистики про спожитий трафік. Запуск скриптів управління обладнанням здійснює агент LBarcd (RADIUS). Схема взаємодії відображена на Рис. 6.

малюнок 6

Короткий опис робочого процесу:

  • абонентське обладнання отримує IP-адресу від DHCP-сервера з використанням DHCP option82;
  • за подією отримання першого IP-пакета від абонентського обладнання маршрутизатор ініціює запит авторизації до RADIUS, включаючи в нього раніше виданий абоненту IP-адреса (атрибут Framed-IP-Address або Assigned-IP-Address);
  • якщо RADIUS знаходить обліковий запис, якої прив'язаний прийшов в запиті авторизації IP-адреса, маршрутизатора повертається схвалення авторизації в вигляді Access-Accept;
  • за подією отримання Access-Accept маршрутизатор дозволяє форвардного трафіку між абонентом і мережею Інтернет;
  • інформація про спожитий трафік доставляється кабельному агенту АСР, що виконує функції Netflow-колектора.

Для реалізації даного сценарію потрібно:

1. Виконати всі кроки, описані в розділі по базовому налаштуванні агента LBinet.

2. Виконати кроки 1-2, 4-9, описані в сценарії 2.

3. У таблицю agent_options необхідно додати наступні опції:

- для версій системи 2.0-017 і вище досить в формі редагування агента з типом RADIUS змінити значення параметра "Включити DHCP-сервер", вибравши зі списку "LBinet" і додати опцію: insert into agent_options set id = 'ID агента з типом RADIUS' , name = 'radius_auth_method', value = 'ip'; - для більш ранніх версій системи необхідно додати три опції: insert into agent_options set id = 'ID агента з типом RADIUS', name = 'radius-uses-lbinet', value = 1; insert into agent_options set id = 'ID агента з типом RADIUS', name = 'enable-dhcp-request', value = 0; insert into agent_options set id = 'ID агента з типом RADIUS', name = 'radius_auth_method', value = 'ip';

4. Провести установку і настройку агента LBarcd згідно з документацією до АСР: https://lanbilling.ru/documentation . Не забути в файлі конфігурації агента LBarcd (/etc/billing.conf.LBarcd) задати значення параметра «sysid» як ID раніше створеного (в розділі по базовому налаштуванні LBinet) агента з типом RADIUS.

5. У конфігураційний файл агента LBarcd (/etc/billing.conf.LBarcd) додати параметр: handler = / usr / local / billing / handler_arcd, що містить шлях до скрипту управління обладнанням. Приклад скрипта для маршрутизатора Ericsson SE можна подивитися по засланні . Завантажений скрипт необхідно скопіювати в директорію / usr / local / billing на сервер з агентом LBarcd і не забути зробити скрипт виконуваним (chmod + x / usr / local / billing / handler_arcd).

6. Створити сервери доступу в розділі «Сервери доступу» екранної форми настройки агента з типом RADIUS.

7. Запустити / перезапустити агент LBarcd.

8. Створити абонента. Створити обліковий запис на агента з типом Netflow.

9. У формі редагування параметрів облікового запису прив'язати обліковий запис до порту обладнання (комутатора) доступу.

10. ОБОВ'ЯЗКОВА УМОВА для даного сценарію! У формі редагування параметрів облікового запису на вкладці «Налаштування мережі» необхідно здійснити прив'язку статичного IP-адреси до облікового запису. В іншому разі не буде працювати функціонал обліку спожитого трафіку (весь трафік буде не ідентифікованим) і функціонал авторизації.

ВАЖЛИВО! В версія АСР, більш ранніх, ніж 2.0.016, функціонал "Керувати клієнтами агента" НЕ доступний для агента LBinet. Тому для реалізації даного сценарію потрібне створення двох облікових записів (одна - на агента з типом RADIUS, друга - на агента з типом Netflow) з однаковими статичними IP-адресами.

З повагою,
Керівник Департаменту впроваджень ТОВ "Мережеві Рішення",
Разживин Віталій