Существует несколько способов увидеть отладочный вывод RADIUS-сервера.

Внимание: возможность работы raddebug/radsniff не была предусмотрена при установке ABillS до версии 0.92. На системах, которые при установке имели более раннюю версию нужно предпринять дополнительные действия, чтобы raddebug/radsniff заработали.

raddebug

Запустить:

raddebug

По умолчанию завершается после 60 секунд работы. Чтобы работало неограниченное время, используйте аргумент -t 0. Можно запускать только один экземпляр raddebug одновременно.

Описание некоторых аргументов (полное описание - см. man raddebug):

-c condition

Установить условие отладки. Формат условия описан в секции CONDITIONS man unlang. Пример:

  • User-Name == 'test' || User-Name == 'test2'
-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-запроса. Примеры фильтра:

  • 'User-Name == "test"'
  • 'NAS-IP-Address != "127.0.0.1"'
-R filter

Фильтр по атрибутам RADIUS-ответа. Пример фильтра:

  • 'Reply-Message == "USER_NOT_EXIST"'
-s secretpassRADIUS secret. Указывать необязательно, но, если он не указан, могут, например, не расшифровываться пароли.
-xВыводить больше отладочной информации. По умолчанию пакеты выводятся в одну строчку, без деталей.
-e <event>[,<event>]

Показывать только запросы с этими флагами событий.

event может быть одним из следующих:

- received - a request or response.
- norsp    - seen for a request.
- rtx      - of a request that we've seen before.
- noreq    - could be matched with the response.
- reused   - ID too soon.
- error    - decoding the packet.
-W intervalВыводить статистику по пакетам раз в interval секунд (количество пакетов в секунду, задержки, разные типы пакетов). Не выводить сами пакеты.

С этой же целью можно использовать tcpdump:

tcpdump -i any -s 0 -v port 1812 or port 1813 or port 3799

Настройка системы для возможности работы raddebug/radsniff

Нужно только для систем, которые при установке имели версию до 0.92.