- Вступ АСР LANBilling, починаючи зі збірки 2.0.006, містить в своєму складі модуль LBinet (в термінології...
- Базова настройка агента 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" для влаштування, створити необхідну кількість портів, включити пристрій в потрібну групу.
Малюнок 1
Сценарій 1: В мережі оператора вимагається тільки видача IP-адрес засобами протоколу DHCP без авторизації, підрахунку трафіку і управління обладнанням.
На практиці - самий рідко зустрічається сценарій. На стороні АСР функціонує тільки агент LBinet (DHCP). Схема взаємодії відображена на рисунку 2.
малюнок 2
Після виконання всіх кроків, описаних в розділі по базовому налаштуванні агента LBinet, агент готовий до роботи. Як фінальних кроків необхідно:
1. Створити абонента і обліковий запис на агента з типом RADIUS.
2. У формі редагування параметрів облікового запису прив'язати обліковий запис до порту обладнання (комутатора) доступу.
У даному сценарії по команді від агента LBinet можливе створення запису в таблиці активних сесій після успішного завершення транзакції видачі IP-адреси. Інформація про активну сесії відображається в формі "Звіти" - "Статистика" - "Показати" - "Активні сесії" (Рис. 3).
малюнок 3
За подією старіння dhcp-Лізи запис з таблиці активних сесій буде автоматично видалена. Обов'язковою умовою для роботи даної логіки є відсутність записів в розділі "Сервери доступу" форми редагування агента з типом RADIUS.
Сценарій 2: У мережі оператора вимагається видача IP-адрес засобами протоколу DHCP, підрахунок трафіку засобами протоколу Netflow і включення / відключення абонентів на обладнанні. Авторизація абонентів не потрібно.
Даний сценарій є більш поширеним, ніж сценарій 1. Як правило підходить організаціям, що надають доступ в мережу Інтернет своїм співробітникам і операторам зв'язку, в сервісних моделях яких відсутня авторизація по протоколу RADIUS.
На стороні АСР функціонують агент LBinet (DHCP), який здійснює видачу IP-адрес і кабельний агент (Netflow / Sflow), який здійснює збір статистики про спожитий трафік. На стороні транспортної мережі зазвичай є обладнання, яке контролює доступ абонентів до мережі Інтернет і виконує функції експорту статистики про спожитий трафік. У розглянутому нами прикладі обладнання представлено у вигляді Linux-маршрутизатора, контроль доступу здійснюється засобами брандмауера IPtables, експорт трафіку здійснюється засобами протоколу Netflow. Кабельний агент в даній схемі виконує функції Netflow-колектора, а так само щодо подій блокування / розблокування облікового запису здійснює запуск зовнішніх скриптів для передачі відповідних команд на обладнання. Схема взаємодії відображена на Рис. 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-адресами.
З повагою,
Керівник Департаменту впроваджень ТОВ "Мережеві Рішення",
Разживин Віталій