radtest и radclient

Как можно потестировать работу сервера FreeRadius ? Есть два способа:

Для простой проверки с логином-паролем достаточно:

Если же нужно «подробное» тестирование (например при отладке FreeRadius), с эмуляцией авторизации аккаунтингом и прочим, можно воспользоваться radclient.

простая авторизация:

авторизация с необычными параметрами:

аккаунтинг:

FreeRadius и аутентификация через внешний скрипт

Например можно реализовать вот так:

В этом случае, PHP должен только проверить логин&пароль и ответить либо Accept либо Reject.

Добавляем модуль python для FreeRadius3

Случилось так, что стандартными средствами FreeRadius авторизации ну никак не «разрулить» те условия, которые необходимы. Решение: включим/поставим модуль python для FreeRadius и будем использовать его для авторизации и выдачи абонентам сетевых настроек.

Далее пути указаны для Ubuntu.

1) Сделаем симлинк (читай включим модуль) для модуля pyhton в папке

2) В файле настроек пропишем путь для файла написанного на языке python, который будет отвечать за авторизацию, и имя собственно модуля, например work:

Так-же нужно расскоментировать те функции, которые будут вызываться модулем. Например:

 

3) Создадим модуль work. Можно на основе example. В моём случае он адаптирован под python3 (в «базе» он поставляется пот python 2.7):

И чуть изменим файл radiusd.py:

В файле default включим модули в секциях authorize и authenticate:

Запускаем:

В логах наблюдаем:

Не запускается MySQL. Исправляем ))

Сначала смотрим логи mysql. Вдумчиво. Возможно что-то удастся понять и устранить (может банально кончилось место на диске).

Если не помогает, то в файле my.cnf добавляем строчку:

И далее пытаемся запустить mysql:

Если запустилось — проверяем таблицы:

Далее убираем из my.cnf строчку innodb_force_recovery=1 иперезапускам сервис:

Есть шанс что всё заработает 😉

1 16 17 18 19 20 55