Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

Существует несколько способов увидеть отладочный вывод 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 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.

  • 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
  • No labels