И вот я только сейчас узнал, что документация лежит в исходном tarball’е. Скачайте архив FreeRadius, распакуйте его – там будет директория doc(s)…
Два события происходят, когда в дело включается одновременное использование… FreeRadius запрашивает таблицы учёта, чтобы проверить, есть ли активные сессии (как вы совершенно справедливо упомянули ниже – query_check). Однако, из-за природы протокола UDP, который используется в Radius, пакеты могут теряться. Сообщения Accounting-Stop могут быть потеряны, и Radius-сервер никогда не получит пакет, который фактически сообщает ему, что пользователь вышел из системы. Чтобы это обойти, предусмотрен второй шаг. Когда Radius-сервер подозревает (на основе запроса учёта), что обнаружен дубликат входа, он опрашивает NAS, чтобы точно определить, так ли это – и вот тут в игру вступает checkrad.
В файле clients.conf ваш nas_type должен быть правильно определён – иначе FreeRadius не будет знать, как вызывать checkrad. Checkrad также должен функционировать должным образом, иначе вы получите ложное обнаружение дублирующегося пользователя, когда его на самом деле нет.
Будь вы используете SNMP или Telnet, ваш файл nas_passwd также должен быть правильно настроен (убедитесь в правильных разрешениях на файл), чтобы checkrad мог получить community (в случае SNMP) или данные учётной записи пользователя (в случае Telnet) для входа. Если вы используете SNMP, Radius-сервер, очевидно, должен иметь доступ к опросу SNMP-сервера, если вы используете Telnet, Radius-сервер, очевидно, должен иметь доступ по Telnet к MT.
И ещё одна распространённая ошибка: Simultaneous-Use – это пункт проверки, а не ответ…