daloRADIUS

daloRADIUS
FreeRADIUSの認証データをMySQLに蓄えつつ、
ユーザ、パスワード、アトリビュート等をWebブラウザ経由で管理出来るフロントエンド。


WebGUIでFreeRADIUSを操作できるとは言え、
daloRADIUSの開発が0.9.9で停止しているみたいなのと、
複雑な登録・削除を行うとSQL構文のエラーが出る為、ガチで使いたい人にはお勧め出来ない。


しかし、癖のある動作を理解してしまえば、かなり使いやすいツール。
自宅サーバとかのホームユースなら十分以上な機能を持っている。

FreeRADIUSのMySQL管理化

daloRADIUSを利用するには、FreeRADIUS環境が動いている事が前提となる。
通常のFreeRADIUSはテキストベースで認証データを管理している。
その為、daloRADIUSで読み込める様に、テキスト管理からDB管理にする必要がある。
※一度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;



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 :: }