Как работает Termination-Action и Session-Timeout? - PullRequest
0 голосов
/ 06 ноября 2018

Я хочу реализовать возможность продлить / остановить сеанс.

Я добавляю записи в таблицу radreply:

Termination-Action := 1
Session-Timeout := 600

Сессия начинается успешно (10 минут), затем я вручную изменяю значение:

Session-Timeout := 3600

Я использую маршрутизатор MikroTi, после истечения срока действия (10 минут) сеанс просто прерывается, но должен быть новый запрос к серверу RADIUS? Насколько я понимаю, новый сеанс должен быть установлен, или существующий должен быть расширен без повторной авторизации.

Для MikroTik есть специальный параметр WISPr-Session-Terminate-Time, я пытался его использовать, но он не дал результатов, скажите, что я делаю не так?

https://freeradius.org/rfc/rfc2865.html#Termination-Action

https://wiki.mikrotik.com/wiki/Manual:RADIUS_Client

1 Ответ

0 голосов
/ 07 ноября 2018

Добро пожаловать в удивительный мир RADIUS, документы IETF RFC и слово «MAY». NAS не обязан чтить Termination-Action, он даже не обязан чтить Session-Timeout, он может молча игнорировать оба.

В реальном мире, выходящем за рамки стандартов, большинство NAS соблюдают Session-Timeout, но через некоторое время просто отключают сеанс.

Если вы хотите что-то менее разрушительное, вам нужно реализовать что-то локально для отслеживания продолжительности сеанса, а затем отправить PoD (пакет разъединений) на NAS. Чтобы PoD работали, ваш NAS должен будет поддерживать его, и вам обычно нужно явно его настроить.

Подробнее см. RFC5176 .

...