Поиск по этому блогу

понедельник, 28 февраля 2011 г.

ISG обрабатываем изменения в наборах услуг клиента

В каждый момент времени у нас есть файл, в котором мы имеем всех клиентов, которым мы даем доступ в интернет. Мы называем его whitelist, он генерируется из биллинга раз в определенное время. Каждый раз при его генерации я сделал обновление БД для Radius.
Для того, чтобы параметры сессии изменялись в соответствии с набором услуг клиента я использую следующий алгоритм:

  1. Взять идентификаторы пользователей, по которым произошли изменения(вычисляется хранимой процедурой под названием getneedcoa).
  2. Выгрузить активные сессии с ISG (snmpwalk -ccommunity -v2c ISGhost 1.3.6.1.4.1.9.9.150.1.1.3.1.2 | awk {'print $4'})
  3. Берем "пересечения" наборов данных, которые получились в пункте 1 и 2 и отправляем CoA запросы(Дисконнект) на NAS для этого пользователя.
Так как мы используем IPoE то пользователь не заметит дисконнект.(потеряется всего один пакет если он чего-либо скачивает). Этот алгоритм я использовал для написания скрипта.

Комментариев нет:

Отправить комментарий