LINUX.ORG.RU
решено ФорумAdmin

Freeradius и Simultaneous-Use: кто виноват и что делать?

 , simultaneous


0

2

Есть сервер freeradius. С одной стороны у него mikrotik, с другой sql. Всё работает но возник вопрос о нескольких одновременных сеансах одного пользователя.

В описании /usr/share/doc/freeradius/configuration/simultaneous_use сказано что для работы нужно задать check атрибут Simultaneous-Use, это задано.

Там же сказано что сервер хранит список сеансов в /var/log/radutmp. В конфигурации сайта, в секции accounting и в session добавлен параметр radutmp, файл /var/log/radius/radutmp появился, команда radwho стала выдавать результат.

В проверке принимает участие скрипт checkrad, который проверяет наличие этого сеанса на NAS. Для того чтобы он работал нужно указать тип NAS. Здесь возникли некие сложности но есть очень хороший тип «other» который означает «не проверять, использовать radutmp». Поставил его, в данном случае это пока приемлемо.

Если не работает есть страница в документации: https://www.freeradius.org/documentation/freeradius-server/4.0.0/trouble-shooting/user.html , там рекомендуют radiusd -X. Запускаю, собираю вывод в файл и подключаю последовательно два раза одного клиента.

В обоих случаях выполняются секции authorize, session и post-auth. Но в первом случае session возвращает ok а во втором случае fail. Насколько я понимаю, это в частности указывает что атрибут используется.

Если session = fail то должно быть завершение и post-auth идти не должно? Как можно понять почему происходит авторизация второй раз?

★★★★★
Ответ на: комментарий от Pinkbyte

Спасибо, заработало.

Что интересно, эту страницу я проходил. Неуспех в прошлый раз возможно связан с тем, что radutmp не было и radwho не давал результата. Про них, кстати, в этой статье ни слова а по умолчанию они не включены.

Первые три части:

  • Did the user get Access-Accept?
  • Did the server then get an Accounting-Request for that user?
  • Did the accounting data go into the radacct table?

у меня «Yes» (и во всяком случае до вопроса об одновременных логинах всё работало исправно).

Затем там говорится что надо добавить строку sql, но не говорится в какой секции. Добавил в секцию session и заработало. Определённо помню что уже раскомментировал там sql раньше, возможно тогда не заработало из за того что не было radutmp. Впрочем, были и ещё некоторые метания, в результате чего тип NAS стал other. И был момент, когда при установке второго сеанса пользователь получал сообщение о причине, но тогда оказалось что и новые сеансы не устанавливаются. Сейчас уведомления нет, но это потеря небольшая.

sin_a ★★★★★
() автор топика
Ответ на: комментарий от sin_a

Да, ИМХО freeradius - одна из самых сложных в плане конфигурирования служб. 100500 секций куда в конфиг можно вставить вызовы всякого. Гибкость во всём теле - это хорошо. Но интуитивной понятности конфигов явно не хватает, а учитывая не так чтобы всеобъемлющую документацию - увы многое приходится делать методом научного тыка и потом тщательно отлаживать(во избежании всяких побочных эффектов).

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

С одной стороны, если понимать материал то наверно всё не так плохо. А с другой стороны, они предоставляют поддержку и кто мы такие чтобы осуждать их за некоторую лаконичность документации.

sin_a ★★★★★
() автор топика