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

ISG+IP Session+Idle Timeout

Мучаю ISG для выдачи сервисов хосту со статическим IP-адресом. Всё нужное выдаётся. Но проблема в том, что хочу отключения сессии в случае отсутствия пакетов от/на данный хост.

 

Вот тут есть умные слова Idle Timeout and Session timeout, но что-то в конфиге и мануалах я не наткнулся на этого.

 

На данный момент делаю так - раз в N минут service disconnect. Хотелось бы более элегантное (правильное) решение.

Share this post


Link to post
Share on other sites

Мучаю ISG для выдачи сервисов хосту со статическим IP-адресом. Всё нужное выдаётся. Но проблема в том, что хочу отключения сессии в случае отсутствия пакетов от/на данный хост.

 

Вот тут есть умные слова Idle Timeout and Session timeout, но что-то в конфиге и мануалах я не наткнулся на этого.

 

На данный момент делаю так - раз в N минут service disconnect. Хотелось бы более элегантное (правильное) решение.

show subscriber session id source- 10.1.1.1 255.255.255.255

 

смотри на строчки

 

Feature: IP Idle Timeout

Timeout value is 3600

Idle time is 00:00:34

 

=)

Share this post


Link to post
Share on other sites

Emulated7201#sh subscriber ses id sou <IP-адрес хоста> 255.255.255.255

Emulated7201#

Какбэ всё.

 

Можно вот так сделать:

Emulated7201#sh subscriber session detailed | i ime
Session Up-time: 02:10:18, Last Changed: 02:10:19
Service: ISGLocal, Active Time = 02:10:19
Session Up-time: 02:10:18, Last Changed: 02:10:19
Service: ISGInternet, Active Time = 02:10:19
Session Up-time: 02:10:19, Last Changed: 02:10:19
Service: ISGInternet, Active Time = 02:10:19
Service: ISGLocal, Active Time = 02:10:19
Interface: FastEthernet0/0, Active Time = 02:10:19
Emulated7201#sh subscriber session detailed | i ime

Но тут тоже не видно ключевых слов "Idle time". Более того, сессия у меня простаивает уже более двух часов.

Share this post


Link to post
Share on other sites

Обычно это делается одним из двух способов: конфигурация в CLI или выдача атрибута из радиуса.

Какой софт используете?

Share this post


Link to post
Share on other sites

Исключительно отечественный c7200-a3jk91s-mz.122-31.SB9.bin + dynamips/dynagen.

 

Я согласен любым. Но если расскажете про оба, будет ещё лучше.

Share this post


Link to post
Share on other sites

Мучаю ISG для выдачи сервисов хосту со статическим IP-адресом. Всё нужное выдаётся. Но проблема в том, что хочу отключения сессии в случае отсутствия пакетов от/на данный хост.

 

Вот тут есть умные слова Idle Timeout and Session timeout, но что-то в конфиге и мануалах я не наткнулся на этого.

 

На данный момент делаю так - раз в N минут service disconnect. Хотелось бы более элегантное (правильное) решение.

Данная проблема решена?

Если да, то поделитесь решением.

Share this post


Link to post
Share on other sites

Мы с радиуса выдаём атрибуты Session-timeout и Idle timeout.
Спасибо, уже разобрался.

Я эти атрибуты вешал на траффик-класс, а нужно на юзера.

На юзере все работает.

P.S. Может еще подскажете, как поменять параметры сессии без ее разрыва?

Share this post


Link to post
Share on other sites

Я тестировал через CoA смену как услуги, так и параметров QoS услуги. Работало. К сожалению, дальше тестирования не ушло. :(

 

Может у кого есть наработки/готовый CoA-портал? На форуме уже приводились примеры работы с CoA, через radclient

Share this post


Link to post
Share on other sites

Обнаружился косяк с idle timeot.

ASR постоянно обнуляет счетчик Idle time, больше 5-10 минут не наматывается, соответственно сессии по таймауту не отваливаютя.

Данный косяк наблюдал на 2.3.2-advipservices и на 2.5.1-advipservices.

Share this post


Link to post
Share on other sites

Idle time - время неактивности. Может просто шёл какой-то трафик?

Session-Timeout (RADIUS-атрибут 27) - может вам его надо задавать?

Share this post


Link to post
Share on other sites

Подниму пожалуй тему.

Ни у кого не было проблем с рестартом сервиса после idle-timeout ?

Имеем следующее -

 

gw-regit#sh ver

Cisco IOS Software, 7200 Software (C7200P-ADVENTERPRISEK9-M), Version 12.2(33)SRE, RELEASE SOFTWARE (fc1)

 

gw-regit#sh policy-map service

Current policy profile DB contents are:

Profile name: nas-port:10.255.0.1:0/0/3/1499, 3 references

ssg-account-info "ALOCAL"

ssg-account-info "APREPAID_INTERNET"

Profile name: PREPAID_INTERNET, 3 references

traffic-class "in access-group 196 priority 200"

traffic-class "out access-group 196 priority 200"

traffic-class "out default drop"

traffic-class "in default drop"

idletime 600 (0x258)

accounting-list "ISG-AUTH-1"

Profile name: LOCAL, 5 references

traffic-class "in access-group 195 priority 5"

traffic-class "in default drop"

traffic-class "out access-group 195 priority 5"

traffic-class "out default drop"

ssg-service-info "QU;50000000;75000000;D;50000000;75000000"

 

gw-regit#sh subsc sess de

поскипано

Access-type: IP-Interface Client: SM

Policy event: Service Selection Request

Profile name: nas-port:10.255.0.1:0/0/3/1499, 2 references

ssg-account-info "ALOCAL"

ssg-account-info "APREPAID_INTERNET"

Active services associated with session:

name "LOCAL"

Rules, actions and conditions executed:

subscriber rule-map ISG-INTERFACE-POLICY

condition always event session-start

10 authorize aaa list ISG-AUTH-1 identifier nas-port

subscriber rule-map default-internal-rule

condition always event idle-timeout

1 disconnect

поскипано

 

Сервис LOCAL остался, PREPAID_INTERNET умер по тайм ауту.

 

В политиках у нас

 

gw-regit#sh policy-map control

Rule: default-internal-rule

Class-map: always event account-logon

Action: 1 authenticate

Executed: 0

 

Class-map: always event idle-timeout

Action: 1 disconnect

Executed: 8

 

Class-map: always event session-timeout

Action: 1 disconnect

Executed: 0

 

Class-map: always event keepalive-timeout

Action: 1 disconnect

Executed: 0

 

Rule: internal-rule-session-restart

Class-map: always event session-restart

Action: 1 service disconnect delay 60

Executed: 0

 

Rule: ISG-INTERFACE-POLICY

Class-map: always event session-start

Action: 10 authorize aaa list ISG-AUTH-1 identifier nas-port

Executed: 430

 

Action: 20 set-timer UNAUTH-TIMER 1

Executed: 426

 

Action: 30 service-policy type service name LOCAL_L4R

Executed: 6

 

Class-map: always event session-restart

Action: 10 authorize aaa list ISG-AUTH-1 identifier nas-port

Executed: 0

 

Action: 20 set-timer UNAUTH-TIMER 1

Executed: 0

 

Action: 30 service-policy type service name LOCAL_L4R

Executed: 0

 

Видно что срабатывает always event idle-timeout, но как по новой сервис запустить ?

Share this post


Link to post
Share on other sites

> как по новой сервис запустить ?

COA-запросом, например.

 

Быть может лучше idle-timeout не на сервис вешать, а на сессию? Чтобы при "10 authorize aaa list ISG-AUTH-1 identifier nas-port" радиус выдавал idle-timeout?

Share this post


Link to post
Share on other sites

> как по новой сервис запустить ?

COA-запросом, например.

 

Быть может лучше idle-timeout не на сервис вешать, а на сессию? Чтобы при "10 authorize aaa list ISG-AUTH-1 identifier nas-port" радиус выдавал idle-timeout?

пробовал и на сессию и на сервис вешать, почти все клиенты нормально отваливаются и сессия прибивается, а один остается висеть без сервиса.

Хотелось бы сделать так чтобы если таймаут вышел то сессия оборвалась, но пока чтото не получается

Share this post


Link to post
Share on other sites

> как по новой сервис запустить ?

COA-запросом, например.

 

Быть может лучше idle-timeout не на сервис вешать, а на сессию? Чтобы при "10 authorize aaa list ISG-AUTH-1 identifier nas-port" радиус выдавал idle-timeout?

пробовал и на сессию и на сервис вешать, почти все клиенты нормально отваливаются и сессия прибивается, а один остается висеть без сервиса.

Хотелось бы сделать так чтобы если таймаут вышел то сессия оборвалась, но пока чтото не получается

Люди, что то затупил.

Можно конечно к пользователю прибить session-timeout, но мне незачем увеличивать кол-во записей в БД.

Как можно отстрелить пользователя после того, как он залогинился после 24 часов? (профили пользователей и сервисвов находятся в радиусе)

 

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

 

 

policy-map type control S1

class type control always event session-start

10 authorize aaa list ISG-AUTH password cisco identifier source-ip-address

!

class type control always event access-reject

1 service-policy type service name OPENGARDEN

2 service-policy type service name L4REDIRECTOR

!

 

 

Делал по примерам как тут, но там я не совсем понял что к чему, да и не заработало это у меня.

Кто поделится информацией?

 

 

Share this post


Link to post
Share on other sites

> как по новой сервис запустить ?

COA-запросом, например.

 

Быть может лучше idle-timeout не на сервис вешать, а на сессию? Чтобы при "10 authorize aaa list ISG-AUTH-1 identifier nas-port" радиус выдавал idle-timeout?

пробовал и на сессию и на сервис вешать, почти все клиенты нормально отваливаются и сессия прибивается, а один остается висеть без сервиса.

Хотелось бы сделать так чтобы если таймаут вышел то сессия оборвалась, но пока чтото не получается

Люди, что то затупил.

Можно конечно к пользователю прибить session-timeout, но мне незачем увеличивать кол-во записей в БД.

Как можно отстрелить пользователя после того, как он залогинился после 24 часов? (профили пользователей и сервисвов находятся в радиусе)

 

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

 

 

policy-map type control S1

class type control always event session-start

10 authorize aaa list ISG-AUTH password cisco identifier source-ip-address

!

class type control always event access-reject

1 service-policy type service name OPENGARDEN

2 service-policy type service name L4REDIRECTOR

!

 

 

Делал по примерам как тут, но там я не совсем понял что к чему, да и не заработало это у меня.

Кто поделится информацией?

 

Официальные доки рулят.

 

Share this post


Link to post
Share on other sites

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.