COA: відмінності між версіями

Матеріал з NoDeny
Перейти до навігації Перейти до пошуку
Немає опису редагування
Немає опису редагування
Рядок 1: Рядок 1:
Модуль Radius Change of Authorization
Модуль Radius Change of Authorization


COA - это расширение Radius протокола, позволяющее менять параметры сессии подключенного абонента. COA позволяет посылать команды от радиус-сервера клиенту. Без этого расширения невозможно внести какие-либо изменения, например скорость, до того момента, когда клиент сам не обратится к Radius.
COA - это расширение Radius протокола, позволяющее менять параметры сессии подключенного абонента. Без этого расширения невозможно внести какие-либо изменения, например скорость, до того момента, когда клиент сам не обратится к Radius. Например, вы настроили dhcp-сервер, который выдает скорость через радиус-атрибуты. Клиент делает dhcp-запрос и пока не выйдет время срока аренды ip, dhcp-сервер не может изменить скорость, заблокировать доступ и т.д. В случае использования расширения COA это можно сделать. COA позволяет посылать команды от радиус-сервера клиенту.  


Модуль запускается так:
Модуль запускается так:

Версія за 10:30, 10 березня 2016

Модуль Radius Change of Authorization

COA - это расширение Radius протокола, позволяющее менять параметры сессии подключенного абонента. Без этого расширения невозможно внести какие-либо изменения, например скорость, до того момента, когда клиент сам не обратится к Radius. Например, вы настроили dhcp-сервер, который выдает скорость через радиус-атрибуты. Клиент делает dhcp-запрос и пока не выйдет время срока аренды ip, dhcp-сервер не может изменить скорость, заблокировать доступ и т.д. В случае использования расширения COA это можно сделать. COA позволяет посылать команды от радиус-сервера клиенту.

Модуль запускается так:

perl noserver.pl -v -g=coa.cfg.pm

Предварительно необходимо настроить конфиг в /usr/local/nodeny/modules/coa/create.cfg.coa.cfg.pm.

В конфиге в переменных $coa_connect__state_on, $coa_connect__state_off и $coa_disconnect указываются атрибуты, которые посылаются Radius-сервером клиенту в определенных ситуациях: 1) В $coa_connect__state_on атрибуты, которые посылаются когда авторизуется абонент, которому разрешен доступ в интернет 2) В $coa_connect__state_off атрибуты, которые посылаются когда авторизуется абонент, которому запрещен доступ в интернет 3) В $coa_disconnect атрибуты, которые посылаются когда абонент отключается (перестает быть авторизованным)

Не обязательно использовать все три переменные.

Атрибуты задаются таким образом:

$coa_connect__state_on = {
    type     => тип пакета,
    template => шаблон,
};

Если же необходимо послать несколько команд:

$coa_connect__state_on = [
    {
        type     => тип пакета,
        template => шаблон,
    },
    {
        type     => тип пакета,
        template => шаблон,
    }
];

Тип пакета может быть:

coa - предписывает изменить параметры сессии disconnect - предписывает отключить клиента

Шаблон - это текст с атрибутами в виде:

атрибут=значение

В двойных фигурных скобках можно указать данные конкретного абонента, например:

Шаблон:Ip - ip адрес Шаблон:Auth ses - имя сессии Шаблон:Speed in1 kb - входящая скорость в килобитах Шаблон:Speed in1 mb - входящая скорость в мегабитах