COA: відмінності між версіями
Sv (обговорення | внесок) Немає опису редагування |
Sv (обговорення | внесок) Немає опису редагування |
||
Рядок 1: | Рядок 1: | ||
Модуль Change of Authorization | === Модуль Change of Authorization === | ||
COA - это расширение Radius протокола, позволяющее менять параметры сессии подключенного абонента. Без этого расширения невозможно произвести какие-либо изменения, например скорости, до того момента, когда клиент сам не обратится к Radius. Например, вы настроили dhcp-сервер, который выдает скорость через радиус-атрибуты. Клиент делает dhcp-запрос и пока не выйдет время срока аренды ip, dhcp-сервер не может изменить скорость, заблокировать доступ и т.д. В случае использования расширения COA это можно сделать. COA позволяет посылать команды от радиус-сервера клиенту. | COA - это расширение Radius протокола, позволяющее менять параметры сессии подключенного абонента. Без этого расширения невозможно произвести какие-либо изменения, например скорости, до того момента, когда клиент сам не обратится к Radius. Например, вы настроили dhcp-сервер, который выдает скорость через радиус-атрибуты. Клиент делает dhcp-запрос и пока не выйдет время срока аренды ip, dhcp-сервер не может изменить скорость, заблокировать доступ и т.д. В случае использования расширения COA это можно сделать. COA позволяет посылать команды от радиус-сервера клиенту. |
Версія за 20:15, 30 квітня 2021
Модуль 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-сервером клиенту в определенных ситуациях:
- В $coa_connect__state_on атрибуты, которые посылаются когда авторизуется абонент, которому разрешен доступ в интернет
- В $coa_connect__state_off атрибуты, которые посылаются когда авторизуется абонент, которому запрещен доступ в интернет
- В $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 - входящая скорость в мегабитах
Если в параметрах авторизации будет параметр nas - coa пакет будет послан на сервер, ip которого берется из nas. В противном случае пакет будет послан на ip, указанный в конфиге.