GNU Radius. База пользователей в MySQL.
Одно из излюбленных мест хранения базы пользователей – MySQL. Можно много дискутировать на тему хорошо это или плохо, но хранят, и чаще всего хранят потому, что во-первых привычней, во-вторых, чаще всего имеются готовые системы бекапа MySQL, в третьих – большая часть софта умеет работать с MySQL. В общем рассмотрим работу GNU Radius с MySQL.
Для этого надо собрать FreeRadius с поддержкой MySQL:
┌────────────────────────────────────────────────────────────────────┐ │ Options for gnu-radius 1.6.1_2 │ │ ┌────────────────────────────────────────────────────────────────┐ │ │ │ [X] CLIENT Enable build client │ │ │ │ [ ] DBM Enable DBM support │ │ │ │ [X] MYSQL Enable MySQL support │ │ │ │ [ ] POSTGRESQL Enable PostgreSQL support │ │ │ │ [ ] SNMP Enable SNMP support │ │ │ │ [ ] EMACS Enable emacs dotfiles install │ │ │ │ [ ] PAM Enable PAM support │ │ ├─└────────────────────────────────────────────────────────────────┘─┤ │ [ OK ] Cancel │ └────────────────────────────────────────────────────────────────────┘
Следующим этапом создадим базу MySQL, таблицу пользователей и внесем пользователей.
mysql -uroot -p create database raddb; use raddb; СREATE TABLE `passwd` ( `user_name` varchar(32), `service` char(64) NOT NULL default 'Framed-PPP', `password` char(64) default NULL); grant select on raddb.* to 'raddb'@localhost' identified by 'raddb-777';
А теперь добавим пользователя:
insert into passwd set user_name='hilik', service='Framed-PPP', password=encrypt('hilik-123');
Теперь настраиваем сам GNU-RADIUS. Для этого сначала пропишем настройки базы. База настраивается в /usr/local/etc/raddb/sqlserver. Настройки должны быть такие:
interface mysql server localhost port 3306 login raddb password raddb-777 keepopen yes idle_timeout 14400 doauth yes auth_db raddb auth_query SELECT password \ FROM passwd \ WHERE user_name='%u' doacct no
Теперь пропишем адрес откуда будут приходить за авторизацией у меня это целая сеть 192.168.250.0/24. Авторизация прописывается в файле /usr/local/etc/raddb/clients:
192.168.250.0/24 cisco-123
И в файле /usr/local/etc/raddb/users опишем схему авторизации:
DEFAULT Auth-Type = SQL,
Simultaneous-Use = 1
Service-Type = Framed-User,
Framed-Protocol = PPPНастройка на этом закончена. Можно запускать. Предварительно разрешим запуск:
echo 'radiusd_enable="YES"' >> /etc/rc.conf
и запустим его:
/usr/local/etc/rc.d/radiusd start
На этом настройка окончена.



