Базовая настройка и интеграция 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