Существует несколько способов увидеть отладочный вывод RADIUS-сервера.
- raddebug
Предпочтительный способ. Позволяет увидеть отладочный вывод сервера, не перезапуская его. - radsniff
Перехватывает проходящие по сети RADIUS-пакеты и отображает их в читаемом виде. Отображает только RADIUS-пакеты, не может отображать отладочный вывод сервера. - Остановить RADIUS-сервер, и запустить его с консоли в отладочном режиме:
radiusd -X
. Минус этого способа - необходимость перезапуска сервера.
Внимание: возможность работы raddebug/radsniff не была предусмотрена при установке ABillS до версии 0.92. На системах, которые при установке имели более раннюю версию нужно предпринять дополнительные действия, чтобы raddebug/radsniff заработали.
Все перечисленные команды нужно запускать с правами root.
raddebug
Запустить:
raddebug
По умолчанию завершается после 60 секунд работы. Чтобы работало неограниченное время, используйте аргумент -t 0
. Можно запускать только один экземпляр raddebug
одновременно.
Описание некоторых аргументов (полное описание - см. man raddebug
):
-c condition | Установить условие отладки. Формат условия описан в секции CONDITIONS
|
---|---|
-i ipv4-address | Отображать отладочный вывод только для RADIUS-клиента (т. е. NAS'а) с заданным IPv4 адресом. |
-I ipv6-address | Отображать отладочный вывод только для RADIUS-клиента (т. е. NAS'а) с заданным IPv6 адресом. |
-u username | Отображать отладочный вывод только для пользователя с заданным именем (RADIUS-атрибут User-Name). |
-t timeout | Прекратить работу после timeout секунд. По умолчанию 60. Используйте -t 0 , чтоб ы работало неограниченное время. |
radsniff
Запустить:
radsniff -x
Описание некоторых аргументов (полное описание - см. radsniff -h
):
-i interface | Слушать только на этом интерфейсе. По умолчанию - все (all ) |
---|---|
-r filter | Фильтр по атрибутам RADIUS-запроса. Примеры фильтра:
|
-R filter | Фильтр по атрибутам RADIUS-ответа. Пример фильтра:
|
-s secretpass | RADIUS secret. Указывать необязательно, но, если он не указан, могут, например, не расшифровываться пароли. |
-x | Выводить больше отладочной информации. По умолчанию пакеты выводятся в одну строчку, без деталей. |
-e <event>[,<event>] | Показывать только запросы с этими флагами событий. event может быть одним из следующих: - received - a request or response. |
-W interval | Выводить статистику по пакетам раз в interval секунд (количество пакетов в секунду, задержки, разные типы пакетов). Не выводить сами пакеты. |
С этой же целью можно использовать tcpdump:
tcpdump -i any -s 0 -v port 1812 or port 1813 or port 3799
Настройка системы для возможности работы raddebug/radsniff
Нужно только для систем, которые при установке имели версию до 0.92.
raddebug и radsniff (только для Linux)
Создайте символические ссылки на исполняемые файлы FreeRADIUS:ln -s /usr/local/freeradius/bin/* /usr/bin/ ln -s /usr/local/freeradius/sbin/* /usr/sbin/
Или добавьте эти директории в $PATH (будет работать только для текущей сессии):
PATH=$PATH:/usr/local/freeradius/bin:/usr/local/freeradius/sbin
raddebug
Добавьте файл control-socket в sites-enabled и перезапустите FreeRADIUS:cp /usr/abills/misc/freeradius/v3/sites-enabled/control-socket /usr/local/freeradius/etc/raddb/sites-enabled/ #на Linux cp /usr/abills/misc/freeradius/v3/sites-enabled/control-socket /usr/local/etc/raddb/sites-enabled/ #на FreeBSD service radiusd restart