Skip to content

jely-scs/Radius-Server-Python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Radius-Server-Python

Тестовое задание для компании Ideco Автор: Щербаков Дмитрий С использованием http://habrahabr.ru/post/111799/ http://habrahabr.ru/post/111906/ а также кучи разных материалов с 173.194.35.230

Radius сервер написан по RFC 2865 http://tools.ietf.org/html/rfc2865#page-22.

Общая схема работы Данная реализация обеспечивает только первую ступень - авторизацию. Реализована только схема PAP. При получении запроса от клиента сервер сравнивает пароль в своей SQLite базе. В случае успеха сервер отправляет ip из своей базы.

Предварительно

  1. Нужно поставить Python 2.7.1+ Это можно сделать различными способами. Для Ubuntu можно использовать sudo apt-get install python
  2. Также следует поставить необходимые модули: pyrad, sqlite3. Для Ubuntu все элементарно: sudo apt-get install python-pyrad python-sqlite
  3. Для запуска клиента следует установить модуль freeradius

Запуск Переходим в директорию с исходниками. По умолчанию это /src. Запуск осуществляется командой python radius_server.py

Клиент Переходим в директорию /client. client.conf - файл конфигурации client.sh - исполняемый файл. Ему необходимы права для запуска. В этом файле указана единственная команда: radclient -f client.conf -s localhost:1645 auth qq Если рассматривать ее подробнее, то -f client.conf указание файла конфигурации -s - печатать результаты localhost:1645 - адрес:порт подключения auth - только авторизация qq - public secret. Необходим для правильного раскодирования пароля. Должен совпадать у клиента и сервера.

Конфигурация В папке /src/conf есть файл dictionary.bak он используется для добавления в ответы сервера дщополнительных аттрибутов. Для текущей задачи этот файл пустой. Файл /src/config.py - главный файл конфигурации для всего проекта. Все настройки хранятся там. Он исполняемый, поэтому его следует редактировать внимательно.

Штатных средств для выключения сервера не предусмотрено. Он выключается только через SIGINT :-) Приятного использования.

About

Тестовое задание для компании Ideco

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages