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