Mikrotik и Freeradius (ограничение по времени пользователя)
Я использую freeradius для аутентификации пользователей для доступа в Интернет через маршрутизатор mikrotik.
Я хотел бы установить максимальный лимит времени в период по умолчанию в базе данных MySQL. Например, я бы хотел, чтобы у пользователя было общее время соединения 7 часов в течение недели. Какие значения и в каком поле базы данных я должен чередовать.
Справочное руководство, которое я использовал для своей реализации, находится здесь
Я попытался поиграться с различными переменными в таблице групповых ответов базы данных, и я получил ответ на тест, но, вероятно, я использую неправильные переменные, например, Session-Time = 60 просто сбрасывает сессию каждые 60 секунд (только для тестирования) и не отключать пользователя.
1 ответ
Время сеанса установит максимальное время сеанса. Это не учитывает другие правила, такие как максимальное время в течение дня или недели. Вам нужно больше логики для этого, чем атрибут в вашем ответе RADIUS.
Хранение с сохранением состояния необходимо, чтобы отслеживать использованное время для пользователя. RADIUS учета достаточно для этой цели. Например, при хранении учетных данных в MySQL вы можете запросить уже использованное время сеанса за период, чтобы вычислить новое время сеанса для предстоящего сеанса.
Для этого у FreeRADIUS есть модули: sqlcounter и counter. Документация охватывает примеры реализации.