Jump to content

Recommended Posts

Posted

Есть в наличии BRAS Ericsson SE600. Терминирует РРРоЕ клиентов.

Задача учет трафика RADIUS-ом по предопределенным зонам. На Cisco ESR/ASR решается через ISG и нормально работает. В документации сходу решения не нашел.

У кого есть опыт, подскажите, как это можно сделать на SE600.

  • Replies 89
  • Created
  • Last Reply

Top Posters In This Topic

Posted

вот пример минимальный, который вы можете развить в зависимости от ваших потребностей.

Данный пример считает отдельно внешний трафик

 

!
context local
!
!
interface sbus001 multibind
 ip address 155.53.0.1/16
 ip pool 155.53.0.0/16
!
!
policy access-list sub-traffic-in
 seq 10 permit ip any 10.10.10.0 0.0.0.255 class internal
 seq 20 permit ip any 155.53.0.0 0.0.255.255 class internal
 seq 30 permit ip any any class external 
!
policy access-list sub-traffic-out
 seq 10 permit ip 10.10.10.0 0.0.0.255 any class internal
 seq 20 permit ip 155.53.0.0 0.0.255.255 any class internal
 seq 30 permit ip any any class external 
!
subscriber default
  qos policy policing default-in
  qos policy metering default-out
!
radius service profile rse-svc-external
 parameter value Rate 128
 parameter value Burst 24000
 accounting in qos external
 accounting out qos external
 seq 10 attribute Dynamic-Policy-Filter "ip in forward class external qos"
 seq 20 attribute Dynamic-Policy-Filter "ip out forward class external qos"
 seq 30 attribute Dynamic-Qos-Parameter "meter-class-rate external rate-absolute $Rate"
 seq 40 attribute Dynamic-Qos-Parameter "meter-class-burst external $Burst"
 seq 50 attribute Dynamic-Qos-Parameter "police-class-rate external rate-absolute $Rate"
 seq 60 attribute Dynamic-Qos-Parameter "police-class-burst external $Burst"
 seq 70 attribute Service-Interim-Accounting 1800
!
!
! ** End Context **
!
qos policy default-in policing radius-guided 
access-group sub-traffic-in local
 class internal
 class external
  rate 128 burst 24000
!
qos policy default-out metering radius-guided 
access-group sub-traffic-out local
 class internal
 class external
  rate 128 burst 24000
!

 

пример учетки в freeradius, которая навесит этот RSE профиль, а также даст трафику external ограничение по скорости в 2М

edenmik@local         Password = "Redback"
       Framed-IP-Address = 255.255.255.254,
       Service-Name:1 += "rse-svc-external",
       Service-Action:1 += 1,
       Service-Parameter:1 += "Rate=2000 Burst=250000"

Posted

FreeRADIUS не запускается с ошибкой неизвестен аттрибут Service-Action. В словаре redback такой аттрибут действительно отсутствует и в документации по Ericsson его нет. В итоге РРРоЕ сессия не создается.

 

May 13 10:13:14: [0001]: [1/3:1023:63/1/2/17]: %AAA-7-EXCEPT: aaa_idx 1000004e:
aaa_svc_proc_activate: service validation error
May 13 10:13:14: [0001]: [1/3:1023:63/1/2/17]: %AAA-7-EXCEPT: aaa_idx 1000004e:
aaa_svc_proc: Process service activate error 51
May 13 10:13:14: [0001]: [1/3:1023:63/1/2/17]: %AAA-7-EXCEPT: aaa_idx 1000004e:
aaa_process_session_up: svc attr processing failed for subscriber testuser

Posted

этот атрибут в документации называется Service-Options - номер 191. Т.е. Service-Options и Service-Action это одно и тоже, я указал в примере Service-Action потому что обычно он имеет такое название в словаре freeradius.

Posted

Теперь сессия устанавливается, но завершается через несколько секунд.

 

May 13 11:18:59: %AAA-7-RAD_ATTR: rad_attr_parse_svc_attr: Service attribute 190
with tag 32 parser status success
May 13 11:18:59: %AAA-7-RAD_ATTR: rad_parse_vsa: Receive Redback attr 190 (Servi
ce_Name), tag = 32, status = success
May 13 11:18:59: %AAA-7-RAD_ATTR: val=rse1 (4)
May 13 11:18:59: %AAA-7-RAD_ATTR: rad_attr_parse_svc_attr: Service options 0x1
May 13 11:18:59: %AAA-7-RAD_ATTR: rad_attr_add_svc_attrs_tlv: Service attribute
191 add to list with tag 32 status success ec 1
May 13 11:18:59: %AAA-7-RAD_ATTR: rad_attr_parse_svc_attr: Service attribute 191
with tag 32 parser status success
May 13 11:18:59: %AAA-7-RAD_ATTR: rad_parse_vsa: Receive Redback attr 191 (Servi
ce_Options), tag = 32, status = success
May 13 11:18:59: %AAA-7-RAD_ATTR: val=00 00 00 01  (4)
May 13 11:18:59: %AAA-7-RAD_ATTR: rad_attr_parse_svc_attr: Service parameter Rat
e=2000 Burst=262144
May 13 11:18:59: %AAA-7-RAD_ATTR: rad_attr_add_svc_attrs_tlv: Service attribute
192 add to list with tag 32 status success ec 1
May 13 11:18:59: %AAA-7-RAD_ATTR: rad_attr_parse_svc_attr: Service attribute 192
with tag 32 parser status success
May 13 11:18:59: %AAA-7-RAD_ATTR: rad_parse_vsa: Receive Redback attr 192 (Servi
ce_Parameter), tag = 32, status = success
May 13 11:18:59: %AAA-7-RAD_ATTR: val=Rate=2000 Burst=262144 (22)
May 13 11:18:59: %AAA-7-RAD_ATTR: rad_dqp_parser: DQP - Argc: 4, Argv[0..1]: pol
ice-class-rate external
May 13 11:18:59: %AAA-7-RAD_ATTR: rad_dqp_parser: DQP Argv[2]: rate-absolute
May 13 11:18:59: %AAA-7-RAD_ATTR: rad_dqp_parser: DQP Argv[3]: 2000
May 13 11:18:59: %AAA-7-RAD_ATTR: rad_dqp_parser: DQP - Argc: 3, Argv[0..1]: pol
ice-class-rate external
May 13 11:18:59: %AAA-7-RAD_ATTR: rad_dqp_parser: DQP Argv[2]: 262144
May 13 11:18:59: [0001]: [1/3:1023:63/1/2/17]: %AAA-7-EXCEPT: aaa_idx 10000065:
aaa_svc_cre_tlv_attr: DQP parser status = Invalid Dynamic QoS Sub Parameter type

May 13 11:18:59: [0001]: [1/3:1023:63/1/2/17]: %AAA-7-EXCEPT: aaa_idx 10000065:
aaa_svc_proc_activate: service attr generation error
May 13 11:18:59: [0001]: [1/3:1023:63/1/2/17]: %AAA-7-EXCEPT: aaa_idx 10000065:
aaa_svc_proc: Process service activate error 54
May 13 11:18:59: [0001]: [1/3:1023:63/1/2/17]: %AAA-7-EXCEPT: aaa_idx 10000065:
aaa_process_session_up: svc attr processing failed for subscriber testuser

Posted

Убрал пока все параметры Dynamic-Qos-Parameter. Соединение есть, но нет трафика, даже сам Ericsson не пингуется.

Posted (edited)

Конфиг:

 

 
interface subscr multibind
 ip address 10.15.1.1/16
 ip pool 10.15.1.0/24 name main

router ospf 1
 fast-convergence
 area 0.0.0.11
  interface juniper
 redistribute subscriber address

policy access-list traf-in
 seq 10 permit ip any 10.0.0.0 0.0.255.255 class internal
 seq 20 permit ip any any class external
!
policy access-list traf-out
 seq 10 permit ip 10.0.0.0 0.0.255.255 any class internal
 seq 20 permit ip any any class external

aaa authentication administrator local
aaa authentication subscriber radius local
aaa accounting subscriber radius
aaa update subscriber 10
radius accounting server xxx.xxx.xxx.xxx encrypted-key xxxxxxxxxxxx
radius server xxx.xxx.xxx.xxx encrypted-key xxxxxxxxxxxx
radius max-retries 3
radius attribute nas-ip-address interface juniper
radius attribute acct-session-id access-request
radius attribute nas-port format session-info
radius attribute acct-delay-time
radius attribute vendor-specific Redback mac-address separator -

subscriber default
  qos policy policing default-in
  qos policy metering default-out

radius service profile rse1
 parameter value Rate 512
 parameter value Burst 65535
 accounting in qos external
 accounting out qos external
 seq 10 attribute Dynamic-Policy-Filter "ip in forward class external qos"
 seq 20 attribute Dynamic-Policy-Filter "ip out forward class external qos"
 seq 30 attribute Dynamic-Qos-Parameter "police-class-rate external rate-absolute $Rate"
 seq 40 attribute Dynamic-Qos-Parameter "police-class-rate external $Burst"
 seq 50 attribute Dynamic-Qos-Parameter "meter-class-rate external rate-absolute $Rate"
 seq 60 attribute Dynamic-Qos-Parameter "meter-class-rate external $Burst"
 seq 70 attribute Service-Interim-Accounting 1200

radius service profile rse2
 accounting in qos external
 accounting out qos external
 seq 10 attribute Service-Interim-Accounting 1200
 seq 20 attribute Dynamic-Policy-Filter "ip out forward class external qos"
 seq 30 attribute Dynamic-Policy-Filter "ip in forward class external qos"
!
ip route 0.0.0.0/0 xxx.xxx.xxx.xxx

! ** End Context **
logging tdm console
logging active
logging standby short
os policy default-in policing radius-guided
access-group traf-in local
 class internal
 class external
  rate 128 burst 24000
!
qos policy default-out metering radius-guided
access-group traf-out local
 class internal
 class external
  rate 128 burst 24000
!
card 10ge-4-port 1
!
port ethernet 1/1
no shutdown
bind interface juniper local
!
port ethernet 1/3
no shutdown
encapsulation dot1q
dot1q pvc 4011 encapsulation pppoe
 bind authentication chap context local maximum 8000
dot1q pvc 4012 encapsulation pppoe
 bind authentication chap context local maximum 8000

 

Описание учетки в RADIUS

testuser Cleartext-Password :="test"
       Service-Type = Framed-User,
       Framed-Protocol = PPP,
       Ip_Address_Pool_Name = "main",
       Service-Name:1 += "rse2",
       Service-Options:1 += 1

Edited by joesm
Posted (edited)

Можно навесить на клиента несколько профилей одновременно? Есть необходимость считать отдельно внешний и локальный трафик.

В текущей конфигурации приходят 2 account-пакета общий по сессии и по сервису из профиля, в котором учитывается внешний трафик. Необходим еще один пакет с локальным трафиком.

Повесить одновременно два профиля через RADIUS не получается.

May 13 14:27:50: %AAA-7-RAD_ATTR: rad_attr_add_svc_attrs_tlv: Service attribute
190 add to list with tag 32 status Duplicate tag received ec 1
May 13 14:27:50: %AAA-7-RAD_ATTR: rad_attr_parse_svc_attr: Service attribute 190
with tag 32 parser status unable to add svc attr to TLV list
May 13 14:27:50: %AAA-7-RAD_ATTR: rad_parse_vsa: Receive Redback attr 190 (Servi
ce_Name), tag = 32, status = invalid radius request

Edited by joesm
Posted

естественно можно, в этом вся идея и заключается, например вот так:

edenmik@local         Password = "Redback"
       Framed-IP-Address = 255.255.255.254,
       Service-Name:1 += "rse-svc-external",
       Service-Action:1 += 1,
       Service-Parameter:1 += "Rate=2000 Burst=250000"
       Service-Name:2 += "rse-svc-internal",
       Service-Action:2 += 1

 

P.S. Укажите эти атрибуты в словаре как tagged.

Posted (edited)

Спасибо. Это помогло.

 

Есть возможность отправлять account-пакеты от сервисов и общий пакет на разные RADIUS-сервера?

Edited by joesm
Posted (edited)

Можно иметь несколько acct серверов, но раскидывать session-acct и service-acct по разным серверам нельзя.

Edited by macharius
Posted

Жаль.

Есть возможность в профиле указать несколько классов трафика?

Команда accounting в подсказке указывает,что можно указать до 8 классов, но по факту дает указать только один.

Posted

я так понял, что вы хотите иметь сервис, который привязан к нескольким классам? если да, то это выглядит приблизительно так

radius service profile Nice-Service
 parameter value Rate 512
 parameter value Burst 65535
 accounting in qos "class1 class2"
 accounting out qos "class1 class2"
 seq 10 attribute Dynamic-Policy-Filter "ip in forward class class1 qos"
 seq 20 attribute Dynamic-Policy-Filter "ip out forward class class1 qos"
 seq 30 attribute Dynamic-Policy-Filter "ip in forward class class2 qos"
 seq 40 attribute Dynamic-Policy-Filter "ip out forward class class2 qos"
...

Posted

Dynamic-Policy-Filter (DPF), определяет откуда брать информацию по классу который подлежит учету, в нашем случае: qos, т.е. qos policy

также источниками могут быть nat и fwd (nat или forward policy).

Posted

могу добавить, что увлечься раздуванием RSE не получится - существует ограничение на количество передаваемых динамически атрибутов

Posted

В таком случае вопрос как лучше организовать ограничение полосы клиента.

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

Из первого знакомства с SE600 видно два варианта: 1. создать два rse профиля локальный и внешний для accounting и в них же настроить политики по скорости, при этом в профиле для внешнего трафика завести два класса: ночной и дневной.

2. Профили использовать только для accounting определив 2 профиля: локальный и внешний, а политики навешивать отдельно используя другие RADIUS-атрибуты (87, 88).

 

Какой из вариантов более оптимален?

Posted (edited)

to joesm

 

Вот реализация вашей задачи: три класса, два сервиса, переключение скокрости для внешнего на день и ночь происходит автоматом без СоА

!
context local
!
policy access-list acl-classess-in
 condition 1 time-range
  periodic weekend weekdays 00:00 to 08:00 class cls-Night
 seq 10 permit ip any 10.0.0.0 0.0.255.255 class cls-Local
 seq 20 permit ip any any class cls-Day condition 1
!
policy access-list acl-classess-out
 condition 1 time-range
  periodic weekend weekdays 00:00 to 08:00 class cls-Night
 seq 10 permit ip 10.0.0.0 0.0.255.255 any class cls-Local
 seq 20 permit ip any any class cls-Day condition 1
!
!
radius service profile RSE-BASIC-LOCAL
 parameter value Rate-Local 1000
 parameter value Burst-Local 125000
 parameter value ExBurst-Local 250000
 accounting in qos cls-Local
 accounting out qos cls-Local
 seq 10 attribute Dynamic-Policy-Filter "ip in forward class cls-Local qos"
 seq 20 attribute Dynamic-Policy-Filter "ip out forward class cls-Local qos"
 seq 30 attribute Dynamic-Qos-Parameter "meter-class-rate cls-Local rate-absolute $Rate-Local"
 seq 40 attribute Dynamic-Qos-Parameter "meter-class-burst cls-Local $Burst-Local"
 seq 50 attribute Dynamic-Qos-Parameter "meter-class-excess-burst cls-Local $ExBurst-Local"
 seq 60 attribute Dynamic-Qos-Parameter "police-class-rate cls-Local rate-absolute $Rate-Local"
 seq 70 attribute Dynamic-Qos-Parameter "police-class-burst cls-Local $Burst-Local"
 seq 80 attribute Dynamic-Qos-Parameter "police-class-excess-burst cls-Local $ExBurst-Local"
 seq 90 attribute Service-Interim-Accounting 1200
!
radius service profile RSE-TIME-BASED-INET
 parameter value Rate-Day 1000
 parameter value Burst-Day 125000
 parameter value ExBurst-Day 250000
 parameter value Rate-Night 1000
 parameter value Burst-Night 125000
 parameter value ExBurst-Night 25000
 accounting in qos "cls-Day cls-Night"
 accounting out qos "cls-Day cls-Night"
 seq 10 attribute Dynamic-Policy-Filter "ip in forward class cls-Day qos"
 seq 20 attribute Dynamic-Policy-Filter "ip out forward class cls-Day qos"
 seq 30 attribute Dynamic-Policy-Filter "ip in forward class cls-Night qos"
 seq 40 attribute Dynamic-Policy-Filter "ip out forward class cls-Night qos"
 seq 50 attribute Dynamic-Qos-Parameter "meter-class-rate cls-Day rate-absolute $Rate-Day"
 seq 60 attribute Dynamic-Qos-Parameter "meter-class-burst cls-Day $Burst-Day"
 seq 70 attribute Dynamic-Qos-Parameter "meter-class-excess-burst cls-Day $ExBurst-Day"
 seq 80 attribute Dynamic-Qos-Parameter "police-class-rate cls-Day rate-absolute $Rate-Day"
 seq 90 attribute Dynamic-Qos-Parameter "police-class-burst cls-Day $Burst-Day"
 seq 100 attribute Dynamic-Qos-Parameter "police-class-excess-burst cls-Day $ExBurst-Day"
 seq 110 attribute Dynamic-Qos-Parameter "meter-class-rate cls-Night rate-absolute $Rate-Night"
 seq 120 attribute Dynamic-Qos-Parameter "meter-class-burst cls-Night $Burst-Night"
 seq 130 attribute Dynamic-Qos-Parameter "meter-class-excess-burst cls-Night $ExBurst-Night"
 seq 140 attribute Dynamic-Qos-Parameter "police-class-rate cls-Night rate-absolute $Rate-Night"
 seq 150 attribute Dynamic-Qos-Parameter "police-class-burst cls-Night $Burst-Night"
 seq 160 attribute Dynamic-Qos-Parameter "police-class-excess-burst cls-Night $ExBurst-Night"
 seq 170 attribute Service-Interim-Accounting 1200
!
! ** End Context **
!
qos policy default-in policing radius-guided
access-group acl-classess-in local
 class cls-Local
  rate 1000 burst 125000 excess-burst 250000
 class cls-Day
  rate 1000 burst 125000 excess-burst 250000
 class cls-Night
  rate 1000 burst 125000 excess-burst 250000
rate-calculation exclude layer-2-overhead
!
qos policy default-out metering radius-guided
access-group acl-classess-out local
 class cls-Local
  rate 1000 burst 125000 excess-burst 250000
 class cls-Day
  rate 1000 burst 125000 excess-burst 250000
 class cls-Night
  rate 1000 burst 125000 excess-burst 250000
rate-calculation exclude layer-2-overhead
!

 

Пример учетной записи: локальный трафик 50М, дневной 5М, ночной 10М

edenmik@local         Password = "Redback"
       Framed-IP-Address = 255.255.255.254,
       Service-Name:1 += "RSE-BASIC-LOCAL",
       Service-Options:1 += 1,
       Service-Parameter:1 += "Rate-Local=50000, Burst-Local=6250000, ExBurst-Local=12500000",
       Service-Name:2 += "RSE-TIME-BASED-INET",
       Service-Options:2 += 1,
       Service-Parameter:2 += "Rate-Day=5000, Burst-Day=625000, ExBurst-Day=1250000, Rate-Night=10000, Burst-Night=1250000, ExBurst-Night=2500000"

 

P.S. строчка seq 20 ниже означает, если condition 1 = true, то выражение соответсвует классу cls-Night, иначе cls-Day

!
policy access-list acl-classess-in
 condition 1 time-range
  periodic weekend weekdays 00:00 to 08:00 class cls-Night
 seq 10 permit ip any 10.0.0.0 0.0.255.255 class cls-Local
 seq 20 permit ip any any class cls-Day condition 1
!

Edited by macharius
Posted

Как можно прописать условие для трех временных интервалов для одного acl?

Например день, вечер, ночь. Использовать в одном acl два condition не дает.

Posted (edited)

попробуйте вот так

!
policy access-list acl-classess-in
 condition 1 time-range
  periodic weekend weekdays 00:00 to 08:00 class cls-Night
  periodic weekend weekdays 08:01 to 18:00 class cls-Day
 seq 10 permit ip any 10.0.0.0 0.0.255.255 class cls-Local
 seq 20 permit ip any any class cls-Evening condition 1
!

Edited by macharius
Posted

Насколько я понимаю имена политик опеределяются в subscriber default профиле. Есть возможность для части rse профилей выбрать другие subscriber-профили и как это сделать?

Posted

тут можно пойти, как минимум, двумя путями:

1. создать несколько subscriber profile, в каждом профиле определить свою qos policy. имя профиля (VSA Sub-Profile-Name) передавать с радиуса при авторизации абонента.

2. применять политики через VSA Qos-Policy-Policing и Qos-Policy-Metering при авторизации абонента.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.