В данной статье рассмотрен пример интеграции LANBilling с BNG Ericsson SmartEdge100 (далее SE100) с целью организации гибкого и управляемого шлюза для доступа в сеть Интернет. Возможных сервисных моделей предоставления услуг на базе SE100 существует несколько, однако мы остановимся на одном набирающем с каждым днем популярность варианте: Dynamic CLIPS с динамической выдачей IP-адресов и авторизацией по DHCP option 82. Примерная схема рассматриваемой сервисной модели отражена на Рис. 1, при этом роль и RADIUS и DHCP-сервера в нашем случае выполняет LANBilling, что значительно упрощает администрирование эксплуатируемых механизмов.

lanbilling-dynamic-clips-01.jpg

Рисунок 1 (Схема рассматриваемой модели)

Справочно: Более подробную информацию про CLIPS и его настройку можно узнать в  статье «Clips HOWTO».


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

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


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

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


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

Роль RADIUS в рамках LANBilling выполняет агент Lbarcd (далее RADIUS-агент). RADIUS-агент, как это было описано выше в пункте 2, работает в симбиозе с агентом LBInet под одним sysid, поэтому создания дополнительных агентов в этом случае не требуется. Основная часть настроек является типовой (за исключением настроек LBInet) и описана в стандартной документации. Из параметров, требующих особого внимания, следует отметить (Рис. 2):

lanbilling-dynamic-clips-02.png

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

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

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

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

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

lanbilling-dynamic-clips-03.png

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

В связи с тем, что в составе RADIUS-агента имеется встроенный DHCP-сервер, функционирующий только в случае использования сервисной модели с аутентификацией по протоколу 802.1х (другими словами, только при наличии RADIUS-сессии), а так же код поддержки механизма DHCP2RADIUS, в случае применения агента LBInet требуется отключить DHCP-сервер, встроенный в RADIUS-агент. Сделать это можно путем внесения в таблицу agent_options двух конфигурационных директив radius-uses-lbinet=1 и enable-dhcp-request=0:

insert into agent_options set id=:sysid, name='radius-uses-lbinet', value=1;
insert into agent_options set id=:sysid, name='enable-dhcp-request', value=0;

где :sysid = id агента RADIUS.

В рамках RADIUS-агента существует возможность аутентификации по нескольким различным критериям (login, ip, mac, opt82). Для явного включения механизма аутентификации абонентов по DHCP option 82 (имеется ввиду авторизация по VSA Agent-Remote-Id и VSA Agent-Circuit-Id, которые формирует SE100 на основании информации, извлеченной из DHCP option 82) и отключения всех остальных механизмов, требуется добавление в таблицу agent_options конфигурационной директивы radius_auth_method=opt82:

insert into agent_options set id=:sysid, name='radius_auth_method', value='opt82';

где :sysid = id агента RADIUS.

RADIUS-агент по умолчанию в ответе отсылает атрибут Acct-Interim-Interval со значением 60 (величина интервала в секундах между генерацией SE100 промежуточных Accounting-UPDATE пакетов), однако с архитектурной точки зрения для SE100 данное значение является минимальным и не рекомендуется к использованию, поэтому требуется увеличить значение данного атрибута путем добавления в таблицу agent_options конфигурационной директивы interim_update_time=600:

insert into agent_options set id=:sysid, name='interim_update_time', value='600';

где :sysid = id агента RADIUS.

Приводим значение атрибута Mac-Addr к унифицированному в LANBilling формату, для этого в таблицу agent_options добавляем конфигурационную директиву macregex="/(..)-(..)-(..)-(..)-(..)-(..)/\\1\\2\\3\\4\\5\\6/i":

insert into agent_options set id=:sysid, name='macregex', value='/(..)-(..)-(..)-(..)-(..)-(..)/\\1\\2\\3\\4\\5\\6/i';

где :sysid = id агента RADIUS.


4. Настройка RADIUS-атрибутов

Для корректного взаимодействия LANBilling и SE100 требуется проверить наличие некоторых VSA в словаре RADIUS-агента. Для этого необходимо зайти через web-интерфейс в меню «Объекты» - «Агенты» - «Словарь RADIUS-атрибутов» и добавить перечисленные ниже VSA в словарь, если обнаружится их отсутствие (в последней ревизии сборки Lanbilling 2.0-base-006 данные атрибуты уже присутствуют с словаре):

Название Номер Вендор Тип
Redback-Agent-Remote-Id 96 2352 octet
Redback-Agent-Circuit-Id 97 2352 octet
IP-Interface-Name 104 2352 string
DHCP-Max-Leases 3 2352 int
Assigned-IP-Address 132 2352 ipaddr
Context-Name 4 2352 string
Qos-Policing-Profile-Name 87 2352 string
Qos-Metering-Profile-Name 88 2352 string
Dynamic-QoS-Param 192 2352 string
NAT-Policy-Name 105 2352 string
Forward-Policy 92 2352 string
HTTP-Redirect-Profile-Name 107 2352 string

Рассматриваемый нами сценарий требует наличия в ответе от RADIUS-агента ряда архитектурно обязательных для SE100 атрибутов, которые необходимо добавить с соответствующими значениями в меню «Свойства» - «RADIUS-атрибуты» на вкладке «Агент» (Рис. 4):

«IP-Interface-Name» - определяет имя multibind-интерфейса, к которому будут динамически привязываться абонентские circuit. Следует так же отметить, что SE100 перепишет поле GIADDR в DHCP-запросе на IP-адрес данного интерфейса перед тем, как срелеить DCHP-пакет на сервер с DHCP-агентом LANBilling. Это в частности требуется для корректного ответа от DHCP-агента в сторону SE100 именно на IP-адрес multibind-интерфейса, а не IP-адрес, с которого пришел DHCP-запрос.

Примечание: На сервере с биллингом должны быть добавлены маршруты до соответствующих IP-префиксов multibind-интерфейсов, если они находятся на расстоянии более одного L3 хопа от сервера с биллингом.

В нашем случае значение атрибута: CLIENTS.

«DHCP-Max-Leases» - для корректной работы Dynamic CLIPS значение данного атрибута всегда должно быть равно 1 (архитектурное требование SE100).

«Context-Name» - определяет имя контекста (другими словами, это полноценный виртуальный маршрутизатор), с которым взаимодействуют агенты LANBilling. Если в настройке порта SE100 была указана явная привязка сервиса clips к конкретному контексту, атрибут Context-Name не является обязательным в ответе от RADIUS-агента.

lanbilling-dynamic-clips-04.png

Рисунок 4 (Атрибуты)

На рисунке 4 можно заметить наличие двух аттрибутов, которые еще не упоминались ранее в рамках этой статьи:

«Qos-Policing-Profile-Name» - значение: qos-default-in.

«Qos-Metering-Profile-Name» - значение: qos-default-out.

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

Для корректной работы механизма ограничения потока абонентского трафика до нужной величины требуется наличие в ответе от RADIUS-агента четырех (не считая двух default-значений, описанных выше) атрибутов классового полисинга на каждое каждое конкретное значение скорости в тарифе. Атрибуты классового полисинга заводятся в меню «Свойства» - «RADIUS-атрибуты» на вкладке «Скорость». В нашем случае был создан тариф со значением скорости 6144 Кбит/с. Исходя из сказанного выше, заводим следущие атрибуты и привязываем их к значению скорости 6144 (Рис. 5):

«police-class-rate» - значение: «police-class-rate LCLASS rate-absolute 6144».

«meter-class-rate» - значение: «meter-class-rate LCLASS rate-absolute 6144».

«police-class-burst» - значение: «police-class-burst LCLASS 921600».

«meter-class-burst» - значение: «meter-class-burst LCLASS 921600».

lanbilling-dynamic-clips-05.png

Рисунок 5 (Скорость)

Во всех рассматриваемых выше случаях (Рис. 4, Рис. 5) RADIUS-атрибуты привязывались к RADIUS Code Access-Accept, однако в LANBilling существует возможность привязки атрибутов к RADIUS Code Access-Reject. Логика работы RADIUS-агента будет такова: если абонент существует в хранилище LANBilling, но по каким-либо причинам (например, имеется блокировка по балансу) на его запрос авторизации дается Access-Reject, агент ответит Access-Accept, но с атрибутами, которые привязаны в LANBilling к RADIUS Code Access-Reject. Данный механизм очень удобно использовать, например, для передачи профиля редиректа на SE100 (Рис. 6).

lanbilling-dynamic-clips-06.png

Рисунок 6 (Передача профиля)

Примечание: Необходимо к Access-Reject так же привязать архитектурно обязательные для SE100 атрибуты (IP-Interface-Name, DHCP-Max-Leases) с точно такими же значениями, как и для Access-Accept.

lanbilling-dynamic-clips-07.png

Рисунок 7 (Редактирование атрибута)

SE100 пересылает значение IP-адреса в атрибуте Assigned-IP-Address, с целью корректной интерпритации RADIUS-агентом данного значения требуется произвести замену атрибута Assigned-IP-Address на Framed-IP-Address. Для этого заходим в меню «Объекты» - «Агенты» - «Словарь RADIUS-атрибутов», открываем меню редактирования атрибута Assigned-IP-Address и в списке «Заменить атрибут» выбираем Framed-IP-Address (Рис. 7).


5. Настройка LBInventory

Модуль LBInventory является составной частью ядра LANBilling, однако требует отдельного лицензирования. Все механизмы авторизации по DHCP option 82 и механизмы выдачи адреса DHCP option 82 работают только при наличии лицензии на данный модуль.

В нашем случае присутствует один L2-коммутатор, формирующий DHCP option 82 на клиентских портах. Создадим данное устройство в LBInventory, для этого требуется выполнить следующие действия (Рис. 8):

а) зайти в меню «Объекты» - «Inventory» - «Редактировать устройства»;

б) нажать кнопку добавить, ввести имя и нажать сохранить;

в) зайти в редактирование созданного устройства;

г) добавить опцию Agent-Remote-Id (правая верхняя часть окна) со значением MAC-адреса коммутатора (MAC-адрес вводится без разделителей в нижнем регистре);

д) добавить требуемое количество портов на вкладке «Порты устройства»;

е) нажать кнопку «Сохранить».

lanbilling-dynamic-clips-08.png

Рисунок 8 (Свойства оборудования)


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

Для завершения настройки LANBilling требуется создать учетную запись и привязать её к ранее созданному устройству и порту. О том, как это сделать, можно прочесть в стандартной документации: в разделе "Учетные записи".


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

Механизм CoA в LANBilling реализован внутри RADIUS агента начиная со сборки 2.0.21, для его включения необходимо внести изменения в таблицу agent_options:

insert into agent_options set id=:sysid, name='radius-enable-coa', value='1';

где :sysid = id агента RADIUS.

Cообщения CoA отправляются на UDP порт 3799 NAS устаройства с использованием secret указанного в разделе «Серверы доступа». В качестве идентификатора используется атрибут Acct-Session-Id. Для сброса сессии используется стандартное сообщение Disconnect-Request, при изменении скорости отправляется запрос CoA-Request, включающий в себя набор RADIUS атрибутов привязанных к скорости.

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


8. Настройка SE100

Для рассматриваемого нами сценария на SE100 был создан отдельный контекст LBILL. Ниже приведены основные конфигурационные директивы данного контекста:

context LBILL
!
  interface CLIENTS multibind
    ip address 10.199.1.1/16
    dhcp relay 65535
    giaddr 10.199.1.1
!
  interface DOWNL
    description To_Test_Client_Vlan_22
    ip address 172.1.1.1/24
!
  interface UPL
    ip address 192.168.12.16/24
    ip source-address telnet ssh radius dhcp-server
!
  policy access-list LGROUP
    seq 10 permit ip 10.199.0.0 0.0.255.255 class LCLASS
!
  aaa authentication administrator local
  aaa authentication subscriber radius
  aaa accounting subscriber radius
  aaa accounting event dhcp
  radius accounting server 192.168.12.12 encrypted-key XXXXXXXXXX
  radius coa server 192.168.12.12 encrypted-key XXXXXXXXX port 3799
!
  radius server 192.168.12.12 encrypted-key XXXXXXXXXXX
  radius max-retries 5
  radius timeout 30
  service ssh server
  service telnet server
!
  dhcp relay server 192.168.12.12
!
end
!
!
!
!
! ** End Context **
            

Так же следует отметить необходимые настройки за пределами контекста LBILL, а именно конфигурацию физического порта:

port ethernet 2/2
  no shutdown
  encapsulation dot1q
  bind interface tmgmt test_priv
  dot1q pvc 10
    bind interface UPL LBILL
  dot1q pvc 22 encapsulation multi
    bind interface DOWNL LBILL
  service clips dhcp maximum 8000 context LBILL

и конфигурацию default-политик:

qos policy qos-default-in policing radius-guided
  rate 64 burst 9600
  ip access-group LGROUP LBILL
    class LCLASS
      rate 102400 burst 15036000
  rate-calculation exclude layer-2-overhead
!
qos policy qos-default-out metering radius-guided
  rate 64 burst 9600
  ip access-group LGROUP LBILL
    class LCLASS
      rate 102400 burst 15036000
  rate-calculation exclude layer-2-overhead

Подробная расшифровка семантики фрагментов конфигурации SE100 выходит за пределы данной статьи, так как это будет как минимум дублированием информации статьи «Clips HOWTO», да и чтение официальной документации делает многие механизма более ясными и понятными.


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

И в заключение хотелось бы отметить, что материал данной статьи не является сбором постулатов, которые необходимо безоговорочно выполнять шаг за шагом, а всего лишь является попыткой показать существующие в LANBilling механизмы и компоненты, которые можно использовать для поддержки со стороны LANBilling сценария Dynamic CLIPS на базе Ericsson SmartEdge, надеюсь статья окажется полезной.

С уважением,
Руководитель отдела внедрений ООО «Сетевые Решения»
Разживин Виталий

Заказать обратный звонок

Нажимая на кнопку «Отправить», я даю согласие на обработку персональных данных и соглашаюсь c политикой конфиденциальности

Политика в отношении обработки
персональных данных

1. Общие положения

Настоящая политика обработки персональных данных составлена в соответствии с требованиями Федерального закона от 27.07.2006. №152-ФЗ «О персональных данных» и определяет порядок обработки персональных данных и меры по обеспечению безопасности персональных данных, предпринимаемые ООО "Сетевые решения" (далее – Оператор).

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

1.2. Настоящая политика Оператора в отношении обработки персональных данных (далее – Политика) применяется ко всей информации, которую Оператор может получить о посетителях веб-сайта https://www.lanbilling.ru/.

2. Основные понятия, используемые в Политике

2.1. Автоматизированная обработка персональных данных – обработка персональных данных с помощью средств вычислительной техники;

2.2. Блокирование персональных данных – временное прекращение обработки персональных данных (за исключением случаев, если обработка необходима для уточнения персональных данных);

2.3. Веб-сайт – совокупность графических и информационных материалов, а также программ для ЭВМ и баз данных, обеспечивающих их доступность в сети интернет по сетевому адресу https://www.lanbilling.ru/;

2.4. Информационная система персональных данных — совокупность содержащихся в базах данных персональных данных, и обеспечивающих их обработку информационных технологий и технических средств;

2.5. Обезличивание персональных данных — действия, в результате которых невозможно определить без использования дополнительной информации принадлежность персональных данных конкретному Пользователю или иному субъекту персональных данных;

2.6. Обработка персональных данных – любое действие (операция) или совокупность действий (операций), совершаемых с использованием средств автоматизации или без использования таких средств с персональными данными, включая сбор, запись, систематизацию, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передачу (распространение, предоставление, доступ), обезличивание, блокирование, удаление, уничтожение персональных данных;

2.7. Оператор – государственный орган, муниципальный орган, юридическое или физическое лицо, самостоятельно или совместно с другими лицами организующие и (или) осуществляющие обработку персональных данных, а также определяющие цели обработки персональных данных, состав персональных данных, подлежащих обработке, действия (операции), совершаемые с персональными данными;

2.8. Персональные данные – любая информация, относящаяся прямо или косвенно к определенному или определяемому Пользователю веб-сайта https://www.lanbilling.ru/;

2.9. Пользователь – любой посетитель веб-сайта https://www.lanbilling.ru/;

2.10. Предоставление персональных данных – действия, направленные на раскрытие персональных данных определенному лицу или определенному кругу лиц;

2.11. Распространение персональных данных – любые действия, направленные на раскрытие персональных данных неопределенному кругу лиц (передача персональных данных) или на ознакомление с персональными данными неограниченного круга лиц, в том числе обнародование персональных данных в средствах массовой информации, размещение в информационно-телекоммуникационных сетях или предоставление доступа к персональным данным каким-либо иным способом;

2.12. Трансграничная передача персональных данных – передача персональных данных на территорию иностранного государства органу власти иностранного государства, иностранному физическому или иностранному юридическому лицу;

2.13. Уничтожение персональных данных – любые действия, в результате которых персональные данные уничтожаются безвозвратно с невозможностью дальнейшего восстановления содержания персональных данных в информационной системе персональных данных и (или) уничтожаются материальные носители персональных данных.

3. Оператор может обрабатывать следующие персональные данные Пользователя

3.1.Фамилия, имя, отчество;

3.2.Электронный адрес;

3.3.Номера телефонов;

3.4. Также на сайте происходит сбор и обработка обезличенных данных о посетителях (в т.ч. файлов «cookie») с помощью сервисов интернет-статистики (Яндекс Метрика и Гугл Аналитика и других).

3.5. Вышеперечисленные данные далее по тексту Политики объединены общим понятием Персональные данные.

4. Цели обработки персональных данных

4.1. Цель обработки персональных данных Пользователя —информирование Пользователя посредством отправки электронных писем; предоставление доступа Пользователю к сервисам, информации и/или материалам, содержащимся на веб-сайте; информирование Пользователя посредством телефонного звонка.

4.2. Также Оператор имеет право направлять Пользователю уведомления о новых продуктах и услугах, специальных предложениях и различных событиях. Пользователь всегда может отказаться от получения информационных сообщений, направив Оператору письмо на адрес электронной почты itdep@lanbilling.ru с пометкой «Отказ от уведомлений о новых продуктах и услугах и специальных предложениях».

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

5. Правовые основания обработки персональных данных

5.1. Оператор обрабатывает персональные данные Пользователя только в случае их заполнения и/или отправки Пользователем самостоятельно через специальные формы, расположенные на сайте https://www.lanbilling.ru/. Заполняя соответствующие формы и/или отправляя свои персональные данные Оператору, Пользователь выражает свое согласие с данной Политикой.

5.2. Оператор обрабатывает обезличенные данные о Пользователе в случае, если это разрешено в настройках браузера Пользователя (включено сохранение файлов «cookie» и использование технологии JavaScript).

6. Порядок сбора, хранения, передачи и других видов обработки персональных данных

Безопасность персональных данных, которые обрабатываются Оператором, обеспечивается путем реализации правовых, организационных и технических мер, необходимых для выполнения в полном объеме требований действующего законодательства в области защиты персональных данных.

6.1. Оператор обеспечивает сохранность персональных данных и принимает все возможные меры, исключающие доступ к персональным данным неуполномоченных лиц.

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

6.3. В случае выявления неточностей в персональных данных, Пользователь может актуализировать их самостоятельно, путем направления Оператору уведомление на адрес электронной почты Оператора itdep@lanbilling.ru с пометкой «Актуализация персональных данных».

6.4. Срок обработки персональных данных является неограниченным. Пользователь может в любой момент отозвать свое согласие на обработку персональных данных, направив Оператору уведомление посредством электронной почты на электронный адрес Оператора itdep@lanbilling.ru с пометкой «Отзыв согласия на обработку персональных данных».

7. Трансграничная передача персональных данных

7.1. Оператор до начала осуществления трансграничной передачи персональных данных обязан убедиться в том, что иностранным государством, на территорию которого предполагается осуществлять передачу персональных данных, обеспечивается надежная защита прав субъектов персональных данных.

7.2. Трансграничная передача персональных данных на территории иностранных государств, не отвечающих вышеуказанным требованиям, может осуществляться только в случае наличия согласия в письменной форме субъекта персональных данных на трансграничную передачу его персональных данных и/или исполнения договора, стороной которого является субъект персональных данных.

8. Заключительные положения

8.1. Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты itdep@lanbilling.ru.

8.2. В данном документе будут отражены любые изменения политики обработки персональных данных Оператором. Политика действует бессрочно до замены ее новой версией.

8.3. Актуальная версия Политики в свободном доступе расположена в сети Интернет по адресу https://www.lanbilling.ru/privacy/.