Базовая настройка и интеграция Ericsson SmartEdge & LanBilling 1.9, Static CLIPS. Часть I.

Спасибо за информацию oleg_tsk с форума lanbilling

Данная инструкция написана как краткое руководство по настройке SmartEdge Ericsson 100 в качестве IPoE BRAS с привязкой авторизации к LanBilling версии 1.9 и терминацией абонентов Static CLIPS. Материал так же подойдет как руководство по настройке SmartEdge 600.

Документация по LanBilling частично содержит описание используемой технологии CLIPS на примере Cisco ISG. Данная инструкция дополняет документацию на предмет настройке SMARTEDGE 100 (600) в режиме Static CLIPS.

Итак, нам потребуется установить и настроить в минимальной конфигурации ядро LanBilling (lbcore).

Процесс инсталляции достаточно подробно описан в большом разделе официальной документации, и ошибиться в нём достаточно сложно. Всё описано очень последовательно и логично. Я устанавливал всё на базе CentOS 5.7.

  • Устанавливаем дистрибутив, запускаем ядро (/etc/init.d/lbcore)
  • Настраиваем веб-интерфейс администратора и заходим туда.

С этого момента нам нужно.

  • настроить и запустить RADIUS-агент LanBilling.
  • занести дополнительные RADIUS-атрибуты для ограничения скорости на SMARTEDGE 100 (600) в radius-агенте.
  • завести необходимые тарифы в биллинге с привязкой к радиус агенту.
  • завести пользователей и их учётные записи с привязкой к RADIUS-агенту.


Настройка и запуск RADIUS-агента 

Заходим в веб-интерфейс администратора, «Объекты»-«Агенты». Слева наверху кнопка-надпись «Создать новый агент».

Тип нового агента «RADIUS».
Название придумывайте сами. Название это просто название J.
Прописываем все необходимые реквизиты для доступа к базе (server IP, DBname, DBlogin, DBpasswd).

В разделе «особые настройки» можно прописать IP-адрес и порты на которых будет слушать RADIUS-агент. По-большому счёту это нужно, если у вас сервер с несколькими физическими интерфейсами (сетевыми картами), либо вы планируете использовать несколько RADIUS-серверов для разных целей. В моём случае, на сервере было 4 сетевых карты, и чтобы «не светить в лишние сетки» RADIUS-ом я прописал только один IP-адрес нужной мне карты (я минималист).

Два раздела посреди экрана: «Серверы доступа» и «Сети» — имеют очень важное значение.

В разделе «Серверы доступа» перечисляются IP-адреса BRAS-ов, c которых будут приходить запросы на авторизацию пользователей. В разделе «Сети» указываются подсети (диапазон адресов) которые будут назначаться абонентам.

Описание остальных пунктов/галочек – лучше просмотреть в документации. Она достаточно большая и там есть практически всё. У меня лишь краткая инструкция J.

Для наглядности – смотрим рисунок ниже. Это мои настройки для тестовой инсталляции:

 

В моём случае IP-адрес BRASa, IP-адрес RADIUS-агента из абонентской сети (см «Сети» на рисунке). Это было сделано для простоты эксперимента. Никто не мешает RADIUS-агента, BRAS и абонентские сети сделать разными. Я бы сказал, что так более правильно. Главное с маршрутизацией не напутать. BRAS должен свободно пинговать RADIUS-агента и наоборот.

После этого нажимаем кнопку «Сохранить» в левом верхнем углу экрана и идёт обратно в линукс чтобы запустить сам процесс RADIUS-сервера (lbarcd).

ВАЖНОЕ ЗАМЕЧАНИЕ! Когда вы создаёте нового агента в биллинге – ему автоматически присваивается порядковый номер (ID). Он будет виден когда вы заходите в админской части в «Объекты»-«Агенты». См. рисунок ниже.

 

 

Именно этот ID нужно внести в настройки радиус-агента в /etc/billing.conf.LBarcd в поле ‘sysid =’

Дополнительно, рекомендую на этапе настройки выставить параметр 'log_level = verbose’ это поможет понять и решить некоторые вопросы на первом этапе. Потом уже можно будет либо изменить на log_level = error , либо на одно из других значений перечисленных в настройках.

После этой минимальной настройки RADIUS-агента пробуем запустить его. Как только он запущен – можно переходить к настройке дополнительных RADIUS-атрибутов для SMARTEDGE 100 (600).

Перед настройкой RADIUS-атрибутов надо немного рассказать о самом SMARTEDGE 100 (600).

Сервер доступа на 8000 активных абонентских сессий, 6 Gbps FD, до 16К VLAN, до 1М NAT трансляций, до 1.5М BGP IPv4 маршрутов, поддержка MPLS, H-QoS, QinQ, IPv6.

Для начала рекомендую прочитать, как минимум 4 статьи касательно Ericsson SmartEdge:

SmartEdge Install Guide
SmartEdge CLIPS how to
SmartEdge POLICY how to
FAQ

Расположенных по адресу: //shop.nag.ru/article/baza-znanij

Так же будет полезно прочитать следующий материал – Настройка AAA, RADIUS, CoA, PPPoE, L2TP (https://data.nag.ru/Ericsson%20SmartEdge%20%28Redback%29/Configurations/Basic-PTA-howto-revA.pdf).

Теперь вкратце повторимся.

Внутри SMARTEDGE 100 (600) есть понятие контекста, в сравнении с Cisco IOS – это VRF только более-более продвинутый. В контексте SMARTEDGE 100 (600) можно создавать пользователя с полными правами именно на этот контекст, запускать процесс с BGP с другим номером ASnum и т.п. В сравнении с терминами виртуализации это отдельный виртуальный маршрутизатор. В нём можно делать всё! (кроме непотребств))

В системе всегда есть как минимум один контекст local. Его нельзя удалить (все остальные можно).

В моём случае, все пользователи будут жить в отдельном контексте, чтобы разделить управление самой железкой от абонентского трафика и прочего.

В качестве используемой схемы применяется STATIC CLIPS. Т.е. IP-адрес пользователя не меняется от сессии к сессии, а всегда постоянен. Это позволит пользователю разместить у себя любые интернет сервисы (http,ftp и т.п.), а так же получать статистику по протоколу netflow.

В Dynamic CLIPS эти преимущества так же имеются.

Рассматриваем два варианта настройки SMARTEDGE 100 (600).

SMARTEDGE 100 (600) выступает в роли агрегатора пользовальских VLAN. Т.е. все пользовательские VLAN-ы, будь то VLAN-per-USER либо SHARED VLAN с сетью размера /26 – все терминируются на SMARTEDGE 100 (600), BRAS выступает в роли шлюза для них.

SMARTEDGE 100 (600) выступает в роли бордера. В этом случае SMARTEDGE 100 (600) подключен к вышестоящему провайдеру, а все пользовательские VLAN-ы терминируются где-то «внутри» вашей L3-сети. Между SMARTEDGE 100 (600) и ядром вашей сети существует VLAN, через который маршрутизируется вся сеть от SMARTEDGE 100 (600) к ядру сети.

service multiple-contexts

context inet-access

 description NEW CONTEX FOR LANBILLING TESTS

 no ip domain-lookup

!

 interface subscribers-gw multibind

   ip address 195.208.163.190/26

   ip source-address radius

! это адрес шлюза для абонентов !!!

! глядя на ip source-address radius – возвращаемся ко второй странице моей инструкции и смотрим! на картинку в раздел «серверы доступа».

   no logging console

 aaa authentication administrator local

 aaa authentication administrator maximum sessions 1

  aaa authentication subscriber radius

  aaa accounting subscriber radius

  aaa accounting reauthorization subscriber radius

  radius accounting server 195.208.163.189 key BLABLABLA

 radius server 195.208.163.189 key BLABLABLA

  radius max-retries 5

  radius timeout 30

  radius strip-domain

! создаём профиль пользователя «по-умолчанию». В нём содержатся дефолтные настройки, для

! того случая когда от RADIUS-сервера не приходят параметры с ограничением скорости, а

! приходит лишь RADIUS-ACCEPT для того чтобы пользователь смог выйти в INTERNET.

subscriber default

  qos policy policing TARIF-DEFAULT-512K-IN

  qos policy metering TARIF-DEFAULT-512K-OUT

! небольшое примечание. Если в cisco для rate-limit использовались команды rate-limit in / rate-

! limit out, то для SMARTEDGE 100 (600) для IN используется policing, а для OUT используется metering

!
дополнительно, создаём дополнительные профили по скорости для пользователей. В процессе работы – их можно будет назначать абонентам через RADIUS-атрибуты.
subscriber profile PROFILE-FOR-TARIF-2M

  qos policy policing TARIF-2M-IN

  qos policy metering TARIF-2M-OUT

 subscriber profile PROFILE-FOR-TARIF-1M

  qos policy policing TARIF-1M-IN

  qos policy metering TARIF-1M-OUT

 

! теперь интересная особенность. Если профили пользователей создаются внутри контекста, то
! сами политики для ограничения скорости (qos policy) создаются в главном контексте local
! поэтому на этом этапе выходим из контекста inet-access в local и продолжаем там настройку
! полисинга
exit
context local
qos policy TARIF-1M-IN policing

 rate 1000 burst 125000

 rate-calculation exclude layer-2-overhead

!

qos policy TARIF-1M-OUT metering

 rate 1000 burst 125000

 rate-calculation exclude layer-2-overhead

!

qos policy TARIF-2M-IN policing

 rate 2000 burst 250000

 rate-calculation exclude layer-2-overhead

!

qos policy TARIF-2M-OUT metering

 rate 2000 burst 250000

 rate-calculation exclude layer-2-overhead

!

qos policy TARIF-DEFAULT-512K-IN policing

 rate 512 burst 64

 rate-calculation exclude layer-2-overhead

!

qos policy TARIF-DEFAULT-512K-OUT metering

 rate 512 burst 64

 rate-calculation exclude layer-2-overhead

!
! возвращаемся в контекст inet-access
context inet-access
! и приступаем к созданию абонентов.
subscriber name test-user1
subscriber name test-user2
subscriber name test-user3
! ничего им не задаём, они и так «наследуют» всё то, что было перечислено в subscriber default

exit
commit

! вышли в context local – теперь надо запускать сам CLIPS.

! небольшое отступление касательно настроек маршрутизации в сторону вышестоящего
! провайдера

port ethernet 2/1

 description *** Port for uplink connections **

 no shutdown

 medium-type copper

 encapsulation dot1q

 dot1q pvc 950

 bind interface zsttk-uplink inet-access

 flow apply ip profile inet-flow in

exit
commit
! в данном случае физический линк от апстрима (ЗСТТК ) приходит ко мне в L2-комутатор, там я
! назначаю ему VLAN 950 и пробрасываю этот VLAN транком на порт 2/1 SMARTEDGE 100 (600)
!
!

! делаем настройки для netflow.
! netflow у меня так же собирает LanBilling, но не для тарификации по трафику, а просто для того
 ! чтобы имелась детальная статистика абонентов.
!

flow ip profile inet-flow

 active-timeout 1000

 aggregation-cache-size 8192

exit
!

flow collector inet-collector

 ip-address 195.208.160.226 context inet-access

 port 9997

 export-version v5

 transport-protocol udp

 ip profile inet-flow

! если netflow пока не нужен, то убираем строку «flow apply ip profile inet-flow in»
! из настроек dot1q pvc 950 выше.

!

! Возвращаемся в наш контекст
context inet-access

interface zsttk-uplink

 description *** ZSTTK UPLINK, VLAN 950 ***

 ip address A.B.C.2/30

exit

! настраиваем либо статическую маршрутизацию в сторону аплинка, либо BGP.

!

ip route 0.0.0.0/0 A.B.C.1 description *** Default route to uplink provider ***

!

!аплинк со своей стороны прописывает статику для моих сетей через мой IP-адрес роутера.

!
commit

exit

! начиная с этого момента у вас есть доступ в инет как минимум с самого SMARTEDGE 100 (600)

! пингуем, проверяем и переходим к настройке пользовательского интерфейса.
context local

port ethernet 2/2

description *** Port for users connections ***

no shutdown

medium-type copper

encapsulation dot1q

dot1q pvc 10

 description VLAN-10 for users

 bind interface subscribers-gw inet-access

! Включаем CLIPS

 service clips

! назначаем каждому абоненту заведённому выше (subscribers) своё статическое CLIPS
! соединение, на которое и будут вешаться настройки полисинга через радиус
  clips pvc 100

  bind subscriber test-user1@inet-access password 12345

 clips pvc 101

  bind subscriber test-user2@ inet-access password 12345

 clips pvc 102

  bind subscriber test-user3@ inet-access password 12345p3

commit

end

! начальный номер 100 взят просто так. Он может быть любым, главное уникальным.
! В дальнейшем целесообразнее всего использовать user_id из биллинга для однозначной
! идентификации пользователей. К тому же это поможет автоматизировать заведение clips.

С регистрацией пользователей в SMARTEDGE 100 (600) закончено, переходим к биллингу.

Заходим в администраторский интерфейс, далее: «Свойства»-«Тарифы»- «Создать». Создаём новый тариф с типом «Dial-UP (по объёму). Экономическую часть я пропускаю, поэтому величину всех значений типа «Аренда» — выставляем по нулю. Сохраняем.

Тариф создали, теперь надо прикрепить параметры скорости.

Для наглядности я создал 2 тарифа: «Тестовый тариф, 1 мбит/сек», «Тестовый тариф, 2 мбит/сек».

Помним что в настройках SMARTEDGE 100 (600) в профиле по-умолчанию скорость выставлена 512 кбит/сек, и дополнительно создано 2 других профиля: 1 мбит/сек и 2 мбит/сек.

 

Теперь самое время покопаться в официальной документации по SMARTEDGE 100 (600) на предмет радиус-атрибутов.

Говоря о RADIUS-е и о LanBillinge следует сказать что в RADIUS-агенте уже числится достаточно большое количество стандартных RADIUS-атрибутов, плюс есть возможность задать свои.

Делается это в словаре RADIUS-атрибутов.

Заходим «Свойства»-«Агенты». В выпадающем списке уже заведённых агентов, выбираем нужный нам RADIUS агент и нажимаем «красненьку ю книжку с буквой D». См рисунок.

 

 

Это и есть словарь RADIUS-атрибутов.

В появившемся окне выбираем нужный нам сервер доступа (мы их должны были завести при регистрации RADIUS-агента) и жмём кнопку «Добавить новую запись».

Здесь делаем небольшую паузу для нескольких комментариев касательно того как ограничивать скорость.

Чуть выше, мы создали 3 пользовательских профиля (дефолтный, 1 мбит/сек и 2 мбит/сек) для ограничения скорости. Всё что нужно от RADIUS-а – это передать название профиля который будет «вешаться» на clips пользователя.

Кроме этого, можно вместо имени профиля  — отправлять на clips сразу значения police/meter с значениями скорости.

Для этого используются разные атрибуты, нужно лишь задать их. Для задания атрибутов нужно знать 4 параметра: 1. Attribute ID (Номер/VSA в биллинге) ; 2. Vendor ID (Вендор); 3. Тип; 4. Собственно говоря, само значение передаваемого атрибута.

Так для передачи имени профиля используется атрибут Subscriber-Profile-Name, его параметры:

 

Название

Номер

Вендор

Тип

Subscriber-Profile-Name

91

2352

String

 

Кроме этого, я не удержался и завёл ещё один параметр

Название

Номер

Вендор

Тип

Dynamic-Qos-Param

196

2352

String

 

Им можно менять скорость не привязываясь к профилю пользователя (н-р Turbo button?!?)

 

 

Далее надо привязать эти параметры с их конкретными значениями к уже заведённым тарифам.

Заходим: «Свойства»-«Radius-атрибуты», выбираем вкладку «Тарифы». Нажимаем кнопку «Добавить атрибут».

В поле «Описание» пишем описание (я здесь пишу название атрибута, чтобы было понятно, что это).

В качестве «Агент» выбираем наш RADIUS-агент.

«NAS» – IP-адрес того сервера доступа который мы завели в RADIUS-агенте и на который надо будет слать эти атрибуты (если этих серверов доступа несколько).

«Radius-Code» = Access-Accept.

«Атрибут» — в выпадающем списке ищем атрибут который мы завели 5 минут назад в словаре RADIUS-атрибутов RADIUS-агента.

Выбираем его, в поле значение пишем собственно само значение.

Применительно к атрибуту Subscriber-Profile-Name пишем название профиля:
PROFILE-FOR-TARIF-2M или PROFILE-FOR-TARIF-1M

 

 

 

Применительно к атрибуту Dynamic-Qos-Param пишем сразу значение скорости. Причём значение скорости надо писать как для in (police) так и для out (meter) но в отдельном атрибуте. Т.е. выглядеть это будет так:

 

 

Далее всё просто – заводим пользователя: «Объекты» — «Пользователи». Вбиваем ФИО, и номер договора (пусть он будет просто №1). В окне редактирования свойств пользователя нажимаем кнопку «Создать учётную запись».

И уже в окне создания учётной записи выбираем типа агента для этой учётной записи – Radius, пишем login + passwd для авторизации, назначаем наш тариф со скоростями, и выделяем пользователю ip-адрес.

Важный момент.

Логин+Пароль, который вы назначили пользователю в свойствах учётной записи – должен совпадать с логином и паролем subscriber-a на SMARTEDGE 100 (600). См. рисунок ниже.

И настройки которые я писал выше:

 clips pvc 100

  bind subscriber test-user1@inet-access password 12345

 clips pvc 101

  bind subscriber test-user2@inet-access password 12345

 clips pvc 102

  bind subscriber test-user3@inet-access password 12345p3

commit