*daloRADIUS [#w1cfb5cf]
[[daloRADIUS:+http://www.daloradius.com/]]
FreeRADIUSの認証データをMySQLに蓄えつつ、
ユーザ、パスワード、アトリビュート等をWebブラウザ経由で管理出来るフロントエンド。
~
WebGUIでFreeRADIUSを操作できるとは言え、
daloRADIUSの開発が0.9.9で停止しているみたいなのと、
複雑な登録・削除を行うとSQL構文のエラーが出る為、ガチで使いたい人にはお勧め出来ない。
~
しかし、癖のある動作を理解してしまえば、かなり使いやすいツール。
自宅サーバとかのホームユースなら十分以上な機能を持っている。
~
*FreeRADIUSのMySQL管理化 [#y4180e1e]
daloRADIUSを利用するには、[[FreeRADIUS>Linux/Source/Radius]]環境が動いている事が前提となる。
通常のFreeRADIUSはテキストベースで認証データを管理している。
その為、daloRADIUSで読み込める様に、テキスト管理からDB管理にする必要がある。
&font(b){※一度FreeRADIUSを構築した状態からMySQLへ組み替える際に、バックアップはとる事};
 $ mysql -u root -p
 mysql> create database radius;
 mysql> grant all on radius.* to radius identified by 'FreeRadiusPass';
 mysql> flush privileges;
 mysql> quit;
 
 $ mysql -u radius -p radius < /etc/radius/raddb/sql/mysql/nas.sql
 Enter Password: *****
 $ mysql -u radius -p radius < /etc/radius/raddb/sql/mysql/schema.sql
 Enter Password: *****
 
 $ vi /etc/radius/raddb/sql/mysql/dialup.conf
 =========
 289 :: # Uncomment simul_count_query to enable simultaneous use checking
 290 :: simul_count_query = "SELECT COUNT(*) \
 291 ::     FROM ${acct_table1} \
 292 ::     WHERE username = '%{SQL-User-Name}' \
 293 ::     AND acctstoptime IS NULL"
~
FreeRADIUSのMySQL-DBを作成したら、コンフィグの変更を行う。
以下に書いてある箇所以外は全部コメントにする。
 $ vi /etc/radius/raddb/sql.conf
 ※実際に書き換えた箇所は"server"と"password"の二箇所のみ
 =========
 sql {
     database = "mysql"
     driver = "rlm_sql_${database}"
     server = "RadiusServerAddress"
     login = "radius"
     password = "FreeRadiusPass"
     radius_db = "radius"
 
     acct_table1 = "radacct"
     acct_table2 = "radacct"
     postauth_table = "radpostauth"
     authcheck_table = "radcheck"
     authreply_table = "radreply"
     groupcheck_table = "radgroupcheck"
     groupreply_table = "radgroupreply"
     usergroup_table = "radusergroup"
 
     deletestalesessions = yes
     sqltrace = no
     sqltracefile = ${logdir}/sqltrace.sql
     num_sql_socks = ${thread[pool].max_servers}
     connect_failure_retry_delay = 60
     lifetime = 0
     max_queries = 0
     nas_table = "nas"
 
     $INCLUDE sql/${database}/dialup.conf
 }

 $ vi /etc/radius/raddb/radiusd.conf
 ※sql.confをINCLUDEする箇所のアンコメントと、instantiateステートのコメントアウト
 =========
 743 :: $INCLUDE sql.conf
 779 :: instantiate {
 785 ::     #exec
 802 ::     #expr
 808 ::     #daily
 809 ::     #expiration
 810 ::     #logintime
 825 :: }

 $ vi /etc/radius/raddb/sites-enabled/default
 ※SQL認証をONにして、File認証をコメントアウト
 =========
 ###EAPトンネル内で許可する認証方式
 069 :: authorize {
 088 ::     preprocess
 107 ::     mschap
 136 ::     suffix
 156 ::     eap {
 157 ::         ok = return
 158 ::     }
 177 ::     sql
 198 ::     expiration
 199 ::     logintime
 223 :: }
 
 ###アカウンティングの接続ログ書式
 378 :: accounting {
 406 ::     sql
 432 ::     exec
 443 :: }
~
*テストデータの挿入 [#nd40dc5a]
初期状態ではDBにユーザ情報が入っていないので、テストユーザを作成して登録しておく。
下記では、Passwordアトリビュートのみを設定している。
-RadiusTestUser : テストユーザ名
-RadiusTestPass : テストユーザパスワード
※テストが終わったら、SQLコマンドかdaloRADIUS経由でテストユーザを削除する事
 $ mysql -u radius -p
 Enter Password: *****
 mysql> use radius;
 mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('RadiusTestUser', 'Password', 'RadiusTestPass');
 Query OK, 1 row affected (0.06 sec)
 mysql> quit;
~
*daloRADIUSコンフィグ [#vc094905]
apacheの設定に合わせて、daloRADIUSディレクトリのオーナーとユーザを変更したり、
ディレクトリ先に対してapacheのAliasを書く必要がある。
また、daroRADIUSには"PEAR::DB"が必要なので、合わせてインストールも行う。
 $ pear install DB
 $ cd /usr/local/src
 $ wget "http://downloads.sourceforge.net/project/daloradius/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.gz" daloradius-0.9-9.tar.gz
 $ tar zxvf daloradius-0.9.9.tar.gz
 $ mv daloradius-0.9-9 {$ApacheDocumentRoot}/daloradius
 $ cd {$ApacheDocumentRoot}/daloradius
 $ mysql -u radius -p radius < ./contrib/db/fr2-mysql-daloradius-and-freeradius.sql
 Enter Password: *****

 $ vi library/daloradius.conf.php
 =========
 26 :: $configValues['DALORADIUS_VERSION'] = '0.9-9';
 27 :: $configValues['FREERADIUS_VERSION'] = '2';
 28 :: $configValues['CONFIG_DB_ENGINE'] = 'mysql';
 29 :: $configValues['CONFIG_DB_HOST'] = 'localhost';
 30 :: $configValues['CONFIG_DB_PORT'] = '3306';
 31 :: $configValues['CONFIG_DB_USER'] = 'radius';
 32 :: $configValues['CONFIG_DB_PASS'] = 'FreeRadiusPass';
 33 :: $configValues['CONFIG_DB_NAME'] = 'radius';
~
*アクセス方法 [#cf0855d7]
Webブラウザから「http://"サーバIPアドレス"/daloradius/」に移動すれば、
daloRADIUSのログイン画面になる。
daloRADIUSの初期管理ユーザは、[ユーザ:administrator | パスワード:radius]になっている。
管理ユーザのパスワードを変更するには、以下の順番に移動して管理ユーザを編集する。
 [Config] -> [Operators] -> [List Operators] -> [administrator] -> [Operator Info]