Jump to content
Калькуляторы

ASR1K, ISG, dead radius fallback

Приветствую.

Во всех примерах полиси построен так, что если радиус не отвечает, то выдается некий временный сервис, а через минуту (ну или сколько настроишь) сеанс сбрасывается и начинается все сначала.

Тут проблема в том, что в промежутке после сброса сеанса и выдачи временного сервиса проходит достаточно времени (по умолчанию таймаут радиуса 20 секунд). Получается ерунда а не временный сервис. Кто нибудь смог сделать полиси так, чтобы пока радиус не очнулся, временный сервис не прерывался?

 

Вот что я пробовал, безуспешно:

policy-map type control testing
 class type control CM_C_IPOE_REJECT_REAUTH event timed-policy-expiry
  1 service disconnect
 !
 class type control CM_C_IPOE_RTIMEOUT_REAUTH event timed-policy-expiry
  10 authorize aaa list IPOE password ciscoo identifier source-ip-address 
 !
 class type control always event session-start
  10 authorize aaa list IPOE password ciscoo identifier source-ip-address 
 !
 class type control always event access-reject
  20 set-timer IPOE_REJECT_REAUTH 1
  30 service-policy type service name Redirect100
  40 service-policy type service name Redirect110
  50 service-policy type service name Redirect400
  60 service-policy type service name Redirect410
  70 service-policy type service name Redirect500
  80 service-policy type service name Redirect510
 !
 class type control always event radius-timeout
  10 set-timer IPOE_RTIMEOUT_REAUTH 1
  20 service-policy type service name Failover50m
 !
 class type control always event account-logon
  10 service-policy type service unapply name Failover50m
  20 service-policy type service aaa list IPOE identifier authenticated-username
 !
 class type control always event account-logoff
  1 service disconnect
 !

Это "работает" так, что при поднятии радиуса происходит авторизация, временный сервис Fallback50m остается на сеансе, а новые, выданые с радиуса в Cisco-Account-Info, игнорируются полностью.

Share this post


Link to post
Share on other sites

Только костыль делать: убирать таймер и в момент оживания радиуса подчищать unauth сессии. Можно сделать через emm на событие radius alive

Share this post


Link to post
Share on other sites

И правда костыль :(

 

Есть еще проблемка с ISG, когда сеанс нормально авторизован, на одной ASR'ке у меня в акаунтинг прилетет перечень подписаных сервисов и активироанных в виде Cisco-Account-Info=Nсервис, и Cisco-Account-Info=Aсервис.

А на другой, такой-же, только ПО чуток поновее, хотя ровно из той-же ветки, не прилетает, как я не бился. Конфиги вроде идентичные, никаких различий особых не углядел. Кто нибудь сталкивался?

 

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

 

Как назло смартнет прокис уже :(

Share this post


Link to post
Share on other sites

Посервисный аккаунтинг зло имхо)

сервисы из радиуса же? Там и надо сравнивать )

возможно с аккаунтиг листом что-то

Share this post


Link to post
Share on other sites

так мне не посервисный аккаунтинг надо, а просто перечень сервисов в аккаунтинге сессии

с листом вроде все ок, 20 проверил уже :(

 

Share this post


Link to post
Share on other sites
On 12/9/2017 at 11:25 AM, ShyLion said:

И правда костыль :(

 

Есть еще проблемка с ISG, когда сеанс нормально авторизован, на одной ASR'ке у меня в акаунтинг прилетет перечень подписаных сервисов и активироанных в виде Cisco-Account-Info=Nсервис, и Cisco-Account-Info=Aсервис.

А на другой, такой-же, только ПО чуток поновее, хотя ровно из той-же ветки, не прилетает, как я не бился. Конфиги вроде идентичные, никаких различий особых не углядел. Кто нибудь сталкивался?

 

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

 

Как назло смартнет прокис уже :(

Если кому интересно, обошел эту проблему другим способом - сеансу можно через Access-Accept передавать какие угодно куки в виде Cisco-Accounting-Info="Vстрока куки".

Этих кук можно отдать несколько.

Кроме того, этот набор можно менять с помощью CoA, предыдущие куки при этом удаляются. Так что так даже интересней получается, можно передавать любую инфу. Это полезно когда радиусов несколько для отказоустойчивости.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now