Child pages
  • Отладка RADIUS-сервера
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

Version 1 Next »

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

  • raddebug
    Предпочтительный способ. Позволяет увидеть отладочный вывод сервера, не перезапуская его.
  • radsniff
    Перехватывает проходящие по сети RADIUS-пакеты и отображает их в читаемом виде. Отображает только RADIUS-пакеты, не может отображать отладочный вывод сервера.
  • Остановить RADIUS-сервер, и запустить его с консоли в отладочном режиме: radiusd -X. Минус этого способа - необходимость перезапуска сервера.

Внимание: возможность работы 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.

  • 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