Rambler's Top100


Вы

посетитель









Доступ при блокировке

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

При стандартном поведении системы на запрос аутентификации/авторизации абонента, заблокированного по балансу, выдается access-reject. Наша же задача заключается в том, чтобы авторизовывать заблокированного абонента и на сессию выдавать необходимые для ограничения доступа атрибуты.

Сначала создадим объединение, которое будет содержать пользователей, заблокированных по балансу. Автоматически обновлять состав этого объединения возможно путем удаления/занесения заблокированных пользователей из объединения при включении/выключении УЗ. Для этого можно в скриптах script_off, script_on вызывать внешние скрипты groups_off.sh и groups_on.sh:

/usr/local/billing/groups_off.sh $login | mysql -ubilling -pbilling billing
/usr/local/billing/groups_on.sh $login | mysql -ubilling -pbilling billing

Ниже представлено примерное содержание скриптов groups_off.sh, groups_on.sh (здесь id агента равно 1, название объединение заблокированных пользователей - 'blocked by balance'):

/usr/local/billing/groups_off.sh

#!/bin/sh

login=$1;

echo "insert ignore into gr_staff select group_id, vg_id from vgroups, groups where vg_id = (select vg_id from vgroups where id = 1 and login = '$login' limit 1) and blocked in (1,4) and name = 'blocked by balance';"

/usr/local/billing/groups_on.sh

#!/bin/sh

login=$1;

echo "delete ignore from gr_staff where vg_id = (select vg_id from vgroups where id = 1 and login = '$login' limit 1) and group_id = (select group_id from groups where name = 'blocked by balance' limit 1);"

Для того чтобы разрешить аутентификацию заблокированным пользователям необходимо на access-reject выдавать следующие radius-атрибуты, привязанные к созданному нами выше объединению ('blocked by balance'):
• Ограничение доступа. Filter-Id. В списке контроля доступа (ACL) разрешается доступ только к разрешенным ресурсам (например, личный кабинет, web-site оператора);
• Ограничение времени сессии. Session-Timeout. (Опционально);
• Ограничение скорости доступа (Опционально);
• Перенаправление всех web запросов пользователей на информативную страницу. ip:l4redirect. (Опционально в случае использования cisco ISG).



Рассмотрим более подробно атрибут ip:l4redirect, отвечающий за перенаправление запросов пользователей, который может принимать следующее значение:

redirect list 112 to ip X.X.X.X port 80

где ACL 112 отвечает какие запросы абонентов перенаправлять на информационную страницу X.X.X.X:




В начало страницы