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