Для авторизации, аутентификации и аккаунтинга абонентов (AAA) в АСР «Гидра» существует специальный API и набор модулей.
Модуль |
Назначение |
---|---|
Прием RADIUS-пакетов от сетевого оборудования, передача запросов в АСР и выдача ответов оборудованию. |
|
|
Perl-скрипт для FreeRADIUS (модуль |
|
Агент АСР «Гидра», обрабатывающий RADIUS-запросы. Взаимодействует непосредственно с ядром АСР. |
При аутентификации и авторизации абонента взаимодействие организовано следующим образом:
- NAS отправляет RADIUS-пакет на авторизацию на сервер FreeRADIUS.
- FreeRADIUS декодирует пакет и передаёт набор RADIUS-атрибутов модулю
hard.pm
(rlm_perl
). - Модуль
hard.pm
по протоколу REST (HTTP+JSON) передает атрибуты агентуhard
. - Агент
hard
запрашивает у ядра АСР информацию об абоненте, его оборудовании и состоянии подключенных услуг. В случае отсутствия связи с АСР для выдачи ответа используется кэш из СУБД MongoDB .
Установка
Предполагается, что в системе уже установлен интерпретатор Perl 5.10 и выше, Python 2.6 или 2.7, а также другие пакеты , требуемые для работы агентов.
Debian/Ubuntu
Установите MongoDB:
apt-get install mongodb
Fedora/CentOS/RHEL
В новых версиях MongoDB есть в стандартной поставке. Установите пакеты:
yum install mongodb mongodb-server
Если таких пакетов в вашем дистрибутиве нет, создайте файл /etc/yum.repos.d/10gen.repo
со следующим содержанием:
[10gen] name=10gen Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64 gpgcheck=0
и повторите попытку. Полная информация доступна в справке MongoDB .
Gentoo
Установите MongoDB:
emerge mongodb