Перейти к содержимому
Калькуляторы

дублированный аккаунтинг по ISG сессиям

Коллеги, столкнулся с непонятной проблемой...

Есть C10008 PRE3.

IOS c10k3-k91p11-mz.122-33.SB

 

Используется для ISG over PPPoE.

 

При авторизации получается следующая ситуация: BRAS посылает на радиус два accounting-request пакета по сервису, через который раздается интернет. В результате имеет задублированную тарификацию...

Такая ситуация наблюдается:

а) только при prepaid-тарификации;

б) перманентно: то есть для одного и того же пользователя в разные моменты времени может сработать нормально (то есть один accounting per service), а может и задублироваться...

 

дебаг с BRAS'а:

57560262: 29w5d: RADIUS(000192F2): Send Access-Request to RADIUS-IP:1645 id 1645/37, len 185
57560263: 29w5d: RADIUS:  authenticator 1E D0 22 A8 3A 17 03 D1 - 69 6D BB 7F 0C 3A 30 D0
57560264: 29w5d: RADIUS:  User-Name           [1]   11  "000001473"
57560265: 29w5d: RADIUS:  User-Password       [2]   18  *
57560266: 29w5d: RADIUS:  Vendor, Cisco       [26]  13
57560267: 29w5d: RADIUS:   ssg-service-info   [251] 7   "NTEST"
57560268: 29w5d: RADIUS:  Framed-Protocol     [7]   6   PPP                       [1]
57560269: 29w5d: RADIUS:  Framed-IP-Address   [8]   6   CLIENT-IP
57560270: 29w5d: RADIUS:  NAS-Port-Type       [61]  6   Virtual                   [5]
57560271: 29w5d: RADIUS:  NAS-Port            [5]   6   0
57560272: 29w5d: RADIUS:  NAS-Port-Id         [87]  10  "1/0/0/41"
57560273: 29w5d: RADIUS:  Connect-Info        [77]  12  "GlobalInet"
57560274: 29w5d: RADIUS:  Vendor, Cisco       [26]  41
57560275: 29w5d: RADIUS:   Cisco AVpair       [1]   35  "client-mac-address=001f.2989.e29e"
57560276: 29w5d: RADIUS:  Service-Type        [6]   6   Framed                    [2]
57560277: 29w5d: RADIUS:  NAS-IP-Address      [4]   6   NAS-IP
57560278: 29w5d: RADIUS:  Acct-Session-Id     [44]  18  "4D00000000036DCA"
57560279: 29w5d: RADIUS:  Event-Timestamp     [55]  6   1236968460
57560280: 29w5d: RADIUS(000192F2): Send Accounting-Request to RADIUS-IP:1646 id 1646/14, len 241
57560281: 29w5d: RADIUS:  authenticator C1 FA 1B A8 59 B1 2B D5 - 48 A8 2A BB AF 37 87 64
57560282: 29w5d: RADIUS:  Acct-Session-Id     [44]  18  "4D00000000036DCC"
57560283: 29w5d: RADIUS:  Framed-Protocol     [7]   6   PPP                       [1]
57560284: 29w5d: RADIUS:  Vendor, Cisco       [26]  14
57560285: 29w5d: RADIUS:   ssg-service-info   [251] 8   "NLOCAL"
57560286: 29w5d: RADIUS:  Vendor, Cisco       [26]  42
57560287: 29w5d: RADIUS:   Cisco AVpair       [1]   36  "parent-session-id=4D00000000036DC9"
57560288: 29w5d: RADIUS:  Framed-IP-Address   [8]   6   CLIENT-IP
57560289: 29w5d: RADIUS:  User-Name           [1]   11  "000001473"
57560290: 29w5d: RADIUS:  Acct-Status-Type    [40]  6   Start                     [1]
57560291: 29w5d: RADIUS:  NAS-Port-Type       [61]  6   Virtual                   [5]
57560292: 29w5d: RADIUS:  NAS-Port            [5]   6   0
57560293: 29w5d: RADIUS:  NAS-Port-Id         [87]  10  "1/0/0/41"
57560294: 29w5d: RADIUS:  Connect-Info        [77]  12  "GlobalInet"
57560295: 29w5d: RADIUS:  Vendor, Cisco       [26]  41
57560296: 29w5d: RADIUS:   Cisco AVpair       [1]   35  "client-mac-address=001f.2989.e29e"
57560297: 29w5d: RADIUS:  Service-Type        [6]   6   Framed                    [2]
57560298: 29w5d: RADIUS:  NAS-IP-Address      [4]   6   NAS-IP
57560299: 29w5d: RADIUS:  Event-Timestamp     [55]  6   1236968460
57560300: 29w5d: RADIUS:  Nas-Identifier      [32]  19  "BRAS"
57560301: 29w5d: RADIUS:  Acct-Delay-Time     [41]  6   0
57560302: 29w5d: RADIUS(000192F2): Send Accounting-Request to RADIUS-IP:1646 id 1646/15, len 240
57560303: 29w5d: RADIUS:  authenticator E2 AB 99 7E 0C C6 77 09 - A2 F2 B5 F8 77 A4 08 A2
57560304: 29w5d: RADIUS:  Acct-Session-Id     [44]  18  "4D00000000036DCB"
57560305: 29w5d: RADIUS:  Framed-Protocol     [7]   6   PPP                       [1]
57560306: 29w5d: RADIUS:  Vendor, Cisco       [26]  13
57560307: 29w5d: RADIUS:   ssg-service-info   [251] 7   "NTEST"
57560308: 29w5d: RADIUS:  Vendor, Cisco       [26]  42
57560309: 29w5d: RADIUS:   Cisco AVpair       [1]   36  "parent-session-id=4D00000000036DC9"
57560310: 29w5d: RADIUS:  Framed-IP-Address   [8]   6   CLIENT-IP
57560311: 29w5d: RADIUS:  User-Name           [1]   11  "000001473"
57560312: 29w5d: RADIUS:  Acct-Status-Type    [40]  6   Start                     [1]
57560313: 29w5d: RADIUS:  NAS-Port-Type       [61]  6   Virtual                   [5]
57560314: 29w5d: RADIUS:  NAS-Port            [5]   6   0
57560315: 29w5d: RADIUS:  NAS-Port-Id         [87]  10  "1/0/0/41"
57560316: 29w5d: RADIUS:  Connect-Info        [77]  12  "GlobalInet"
57560317: 29w5d: RADIUS:  Vendor, Cisco       [26]  41
57560318: 29w5d: RADIUS:   Cisco AVpair       [1]   35  "client-mac-address=001f.2989.e29e"
57560319: 29w5d: RADIUS:  Service-Type        [6]   6   Framed                    [2]
57560320: 29w5d: RADIUS:  NAS-IP-Address      [4]   6   NAS-IP
57560321: 29w5d: RADIUS:  Event-Timestamp     [55]  6   1236968460
57560322: 29w5d: RADIUS:  Nas-Identifier      [32]  19  "BRAS"
57560323: 29w5d: RADIUS:  Acct-Delay-Time     [41]  6   0
57560324: 29w5d: RADIUS: Received from id 1645/37 RADIUS-IP:1645, Access-Accept, len 44
57560325: 29w5d: RADIUS:  authenticator 7B 5B 8F 95 75 34 CC 4D - 31 FC BB 6B 58 B0 25 7B
57560326: 29w5d: RADIUS:  Session-Timeout     [27]  6   86400
57560327: 29w5d: RADIUS:  Vendor, Cisco       [26]  18
57560328: 29w5d: RADIUS:   ssg-control-info   [253] 12  "QV10239999"
57560329: 29w5d: RADIUS(000192F2): Received from id 1645/37
57560330: 29w5d: SSS MGR [uid:323]: Got reply Apply Config from PM
57560331: 29w5d: SSS MGR [uid:323]: Successfully applied policy config
57560332: 29w5d: SSS MGR [uid:323]: Handling Update Service action
57560333: 29w5d: SSS MGR [uid:323]: Update: segment 715575, owner 184550433
57560334: 29w5d: SSS MGR [uid:323]:   Per-user config 4B00076B
57560335: 29w5d: SSS LTERM [uid:323]: Switching session updated
57560336: 29w5d: SSS MGR [uid:323]: Handling Updating Service, Features Applied action
57560337: 29w5d: AAA/ID(000192F2): Resetting disconnect cause
57560338: 29w5d: RADIUS/ENCODE(000192F2):Orig. component type = PPoE
57560339: 29w5d: RADIUS(000192F2): Config NAS IP: NAS-IP
57560340: 29w5d: RADIUS(000192F2): Config NAS IP: NAS-IP
57560341: 29w5d: RADIUS(000192F2): sending
57560342: 29w5d: RADIUS(000192F2): Send Accounting-Request to RADIUS-IP:1646 id 1646/16, len 240
57560343: 29w5d: RADIUS:  authenticator 9E 20 38 DC C7 F7 AA 74 - B1 4F BB 7B 10 C3 E5 85
57560344: 29w5d: RADIUS:  Acct-Session-Id     [44]  18  "4D00000000036DCA"
57560345: 29w5d: RADIUS:  Vendor, Cisco       [26]  13
57560346: 29w5d: RADIUS:   ssg-service-info   [251] 7   "NTEST"
57560347: 29w5d: RADIUS:  User-Name           [1]   11  "000001473"
57560348: 29w5d: RADIUS:  Framed-Protocol     [7]   6   PPP                       [1]
57560349: 29w5d: RADIUS:  Framed-IP-Address   [8]   6   CLIENT-IP
57560350: 29w5d: RADIUS:  Vendor, Cisco       [26]  42
57560351: 29w5d: RADIUS:   Cisco AVpair       [1]   36  "parent-session-id=4D00000000036DC9"
57560352: 29w5d: RADIUS:  Acct-Status-Type    [40]  6   Start                     [1]
57560353: 29w5d: RADIUS:  NAS-Port-Type       [61]  6   Virtual                   [5]
57560354: 29w5d: RADIUS:  NAS-Port            [5]   6   0
57560355: 29w5d: RADIUS:  NAS-Port-Id         [87]  10  "1/0/0/41"
57560356: 29w5d: RADIUS:  Connect-Info        [77]  12  "GlobalInet"
57560357: 29w5d: RADIUS:  Vendor, Cisco       [26]  41
57560358: 29w5d: RADIUS:   Cisco AVpair       [1]   35  "client-mac-address=001f.2989.e29e"
57560359: 29w5d: RADIUS:  Service-Type        [6]   6   Framed                    [2]
57560360: 29w5d: RADIUS:  NAS-IP-Address      [4]   6   NAS-IP
57560361: 29w5d: RADIUS:  Event-Timestamp     [55]  6   1236968460
57560362: 29w5d: RADIUS:  Nas-Identifier      [32]  19  "BRAS"
57560363: 29w5d: RADIUS:  Acct-Delay-Time     [41]  6   0
57560364: 29w5d: RADIUS: Received from id 1646/16 RADIUS-IP:1646, Accounting-response, len 20
57560365: 29w5d: RADIUS:  authenticator 24 CB 7B 8C 0F 00 53 F3 - C0 FF 9E 96 90 6C AC 69
57560366: 29w5d: RADIUS: Received from id 1646/14 RADIUS-IP:1646, Accounting-response, len 20
57560367: 29w5d: RADIUS:  authenticator 47 E4 B7 47 75 2A D7 4D - B7 BA 40 FF 22 F9 2E 2F
57560368: 29w5d: RADIUS: Received from id 1646/15 RADIUS-IP:1646, Accounting-response, len 20
57560369: 29w5d: RADIUS:  authenticator 4D D4 25 CD ED 30 62 9C - B8 01 38 F2 C7 C3 69 B9

 

prepaid-config

subscriber feature prepaid pppoe-prepaid
threshold time 60 seconds
threshold volume 2 Mbytes
interim-interval 1 minutes
method-list author prep-author
method-list accounting prep-account
password cisco

 

Часть конфига, отвечающая за service-start

policy-map type control ISG_PPPOE
class type control always event service-start
  10 service-policy type service identifier service-name

 

Сервисы:

 

TEST

Service-Type: Outbound-User
Cisco-Service-Info: AP
Cisco-Service-Info: MC
Cisco-Service-Info: R0.0.0.0;0.0.0.0
Cisco-Service-Info: QU;20480000;3840000;7680000;D;20480000;3840000;7680000
Acct-Interim-Interval: 60
Cisco-AVPair: subscriber:accounting-list=BM
Cisco-AVPair: ip:traffic-class=in default drop
Cisco-AVPair: ip:traffic-class=out default drop
Cisco-AVPair: ip:traffic-class=in access-group 102 priority 50
Cisco-AVPair: ip:traffic-class=out access-group 102 priority 50
Cisco-AVPair: prepaid-config=pppoe-prepaid

LOCAL

Service-Type: Outbound-User
Cisco-Service-Info: MC
Acct-Interim-Interval: 60
Cisco-AVPair: ip:traffic-class=in default drop
Cisco-AVPair: ip:traffic-class=out default drop
Cisco-AVPair: ip:traffic-class=in access-group 100 priority 10
Cisco-AVPair: ip:traffic-class=out access-group 100 priority 10

 

Даже представить не могу, куда копать...

Изменено пользователем SERAPHIM

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

4D00000000036DCA - это препейд аккаунтинг, а 4D00000000036DCB - это просто аккаунтинг того же самого сервиса. если он не нужен, то лучше убрать aaa accounting network default, а там где аккаунтинг будет нужен, прописывать явно нужный метод. если есть QoS, то и по нему в ISG может аккаунтинг слаться, используя дефолтный метод. поэтому по одному и тому же сервису его может приходить много, но он разный немножко.

Изменено пользователем Bambuk

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

aaa accounting network default в конфиге БРАСа отродясь не было...

После вашего поста попробовал убрать из описания сервиса Cisco-AVPair: subscriber:accounting-list=BM

Костыль конечно, но вроде как работает: аккаунтинг-реквест по сервису посылается только после того, как придет access-accept по препейд. Посмотрим за воскресенье статистику при такой работе.

 

Для меня до сих пор остается непонятным тот факт, что при наличии Cisco-AVPair: subscriber:accounting-list=LIST в описании сервиса сразу посылается отдельный аккаунтинг по сервису в независимости от того, пришел access-accept по препейду или access-reject.

Если приходит реджект - пользователь сервиса все-равно не получает... а при акцепте получает дублированный трафик...

Вот сижу и думаю: это баг или все-таки фича?...

 

P.S. Bambuk отдельное спасибо за наводку на верную мысль...

 

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

aaa accounting network default в конфиге БРАСа отродясь не было...

После вашего поста попробовал убрать из описания сервиса Cisco-AVPair: subscriber:accounting-list=BM

Костыль конечно, но вроде как работает: аккаунтинг-реквест по сервису посылается только после того, как придет access-accept по препейд. Посмотрим за воскресенье статистику при такой работе.

 

Для меня до сих пор остается непонятным тот факт, что при наличии Cisco-AVPair: subscriber:accounting-list=LIST в описании сервиса сразу посылается отдельный аккаунтинг по сервису в независимости от того, пришел access-accept по препейду или access-reject.

Если приходит реджект - пользователь сервиса все-равно не получает... а при акцепте получает дублированный трафик...

Вот сижу и думаю: это баг или все-таки фича?...

 

P.S. Bambuk отдельное спасибо за наводку на верную мысль...

Думаю что фича, если я правильно уловил...

Например у Вас есть 2 сервиса и считать их нужно отдельно.

Я тестировал ISG но в продакшн оно еще не запущено, у меня с аккаунтингом вышло вот что

http://wiki.sirmax.noname.com.ua/index.php/ISG-Accounting

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

в принципе да, это как оказалось, фича....

посмотрел поподробнее логи радиуса и понял, отчего в отчетах не всегда сессии были дублированы:

оба сервиса для интернета (до препейда и после) отдавались с одним Acct-Session-Id, в результате чего радиус при записи в SQL обламывался на дупах, и записывал только одну сессию.

Всем спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для меня до сих пор остается непонятным тот факт, что при наличии Cisco-AVPair: subscriber:accounting-list=LIST в описании сервиса сразу посылается отдельный аккаунтинг по сервису в независимости от того, пришел access-accept по препейду или access-reject.

Если приходит реджект - пользователь сервиса все-равно не получает... а при акцепте получает дублированный трафик...

Вот сижу и думаю: это баг или все-таки фича?...

Это два разных аккаунтинга. Если используется препейд, то нужно юзать тот аккаунтинг, в котором Acct-Session-Id равен Acct-Session-Id, который был в access-request по соответствующему сервису.

По хорошему обработку препейд аккаунтинга надо делать так:

-приходит запрос на авторизацию сервиса, запоминаем Acct-Session-Id из него.

-приходящий аккаунтинг проверяем по имеющимся Acct-Session-Id, которые авторизовали. если Acct-Session-Id не нашли, то ругаемся на него и не обрабатываем.

-если пришел Stop, то удаляем Acct-Session-Id из списка активных.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

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

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.