Linux/Source/daloRADIUS
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
ns-lab
nowsky system-lab
DigiLoog
Linux
Windows
開始行:
*daloRADIUS [#w1cfb5cf]
-[[daloRADIUS:+http://www.daloradius.com/]]
-[[GitHub daloradius:+https://github.com/lirantal/dalorad...
FreeRADIUSの認証データをMySQLに蓄えつつ、
ユーザ、パスワード、アトリビュート等をWebブラウザ経由で管...
メインラインの開発は0.9-9で終了しているが、GitHub版で稀に...
SourceForge版はSQL構文エラーが出たり日本語対応していなか...
GitHub版は諸々のDB不具合解消と日本語対応が行われている。
~
*FreeRADIUSのMySQL管理化 [#y4180e1e]
daloRADIUSを利用するには、[[FreeRADIUS>Linux/Source/Radiu...
通常のFreeRADIUSはテキストベースで認証データを管理してい...
その為、daloRADIUSで読み込める様に、テキスト管理からDB管...
&font(b){※一度FreeRADIUSを構築した状態からMySQLへ組み替え...
$ mysql -u root -p
mysql> create database radius;
mysql> grant all on radius.* to radius identified by 'Fr...
mysql> flush privileges;
mysql> quit;
$ mysql -u radius -p radius < /etc/radius/raddb/sql/mysq...
Enter Password: *****
$ mysql -u radius -p radius < /etc/radius/raddb/sql/mysq...
Enter Password: *****
$ vi /etc/radius/raddb/sql/mysql/dialup.conf
=========
289 :: # Uncomment simul_count_query to enable simultane...
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)...
Query OK, 1 row affected (0.06 sec)
mysql> quit;
~
*daloRADIUSコンフィグ [#vc094905]
apacheの設定に合わせて、daloRADIUSディレクトリのオーナー...
ディレクトリ先に対してapacheのAliasを書く必要がある。
また、daroRADIUSには"PEAR::DB"が必要なので、合わせてイン...
・SourceForge版
$ wget "http://downloads.sourceforge.net/project/dalorad...
$ tar zxvf daloradius-0.9.9.tar.gz
・GitHub版
$ git clone https://github.com/lirantal/daloradius dalor...
$ rm -rf daloradius/.git*
$ rm -rf daloradius/.ht*
$ pear install DB
$ cd /usr/local/src
$ mv daloradius-0.9-9 {$ApacheDocumentRoot}/daloradius
$ cd {$ApacheDocumentRoot}/daloradius
$ mysql -u radius -p radius < ./contrib/db/fr2-mysql-dal...
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 | パ...
管理ユーザのパスワードを変更するには、以下の順番に移動し...
[Config] -> [Operators] -> [List Operators] -> [administ...
~
*PHP7.0対応 [#g5074134]
-[[daloRADIUS PHP-7 Support:+https://github.com/lirantal/...
-[[Database error:+https://github.com/lirantal/daloradius...
SourceForgeで配布しているdaloRADIUSは、PHP7.0以上に対応し...
PHP7.0環境で動かすには、MySQLモジュールの参照部分と、DBエ...
# diff /daloradius/library/daloradius.conf.php /daloradi...
---
28c28
< $configValues['CONFIG_DB_ENGINE'] = 'mysqli';
---
> $configValues['CONFIG_DB_ENGINE'] = 'mysql';
# diff /daloradius/library/opendb.php /daloradius/librar...
97d96
< $dbSocket->query("SET SESSION sql_mode = '';");
終了行:
*daloRADIUS [#w1cfb5cf]
-[[daloRADIUS:+http://www.daloradius.com/]]
-[[GitHub daloradius:+https://github.com/lirantal/dalorad...
FreeRADIUSの認証データをMySQLに蓄えつつ、
ユーザ、パスワード、アトリビュート等をWebブラウザ経由で管...
メインラインの開発は0.9-9で終了しているが、GitHub版で稀に...
SourceForge版はSQL構文エラーが出たり日本語対応していなか...
GitHub版は諸々のDB不具合解消と日本語対応が行われている。
~
*FreeRADIUSのMySQL管理化 [#y4180e1e]
daloRADIUSを利用するには、[[FreeRADIUS>Linux/Source/Radiu...
通常のFreeRADIUSはテキストベースで認証データを管理してい...
その為、daloRADIUSで読み込める様に、テキスト管理からDB管...
&font(b){※一度FreeRADIUSを構築した状態からMySQLへ組み替え...
$ mysql -u root -p
mysql> create database radius;
mysql> grant all on radius.* to radius identified by 'Fr...
mysql> flush privileges;
mysql> quit;
$ mysql -u radius -p radius < /etc/radius/raddb/sql/mysq...
Enter Password: *****
$ mysql -u radius -p radius < /etc/radius/raddb/sql/mysq...
Enter Password: *****
$ vi /etc/radius/raddb/sql/mysql/dialup.conf
=========
289 :: # Uncomment simul_count_query to enable simultane...
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)...
Query OK, 1 row affected (0.06 sec)
mysql> quit;
~
*daloRADIUSコンフィグ [#vc094905]
apacheの設定に合わせて、daloRADIUSディレクトリのオーナー...
ディレクトリ先に対してapacheのAliasを書く必要がある。
また、daroRADIUSには"PEAR::DB"が必要なので、合わせてイン...
・SourceForge版
$ wget "http://downloads.sourceforge.net/project/dalorad...
$ tar zxvf daloradius-0.9.9.tar.gz
・GitHub版
$ git clone https://github.com/lirantal/daloradius dalor...
$ rm -rf daloradius/.git*
$ rm -rf daloradius/.ht*
$ pear install DB
$ cd /usr/local/src
$ mv daloradius-0.9-9 {$ApacheDocumentRoot}/daloradius
$ cd {$ApacheDocumentRoot}/daloradius
$ mysql -u radius -p radius < ./contrib/db/fr2-mysql-dal...
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 | パ...
管理ユーザのパスワードを変更するには、以下の順番に移動し...
[Config] -> [Operators] -> [List Operators] -> [administ...
~
*PHP7.0対応 [#g5074134]
-[[daloRADIUS PHP-7 Support:+https://github.com/lirantal/...
-[[Database error:+https://github.com/lirantal/daloradius...
SourceForgeで配布しているdaloRADIUSは、PHP7.0以上に対応し...
PHP7.0環境で動かすには、MySQLモジュールの参照部分と、DBエ...
# diff /daloradius/library/daloradius.conf.php /daloradi...
---
28c28
< $configValues['CONFIG_DB_ENGINE'] = 'mysqli';
---
> $configValues['CONFIG_DB_ENGINE'] = 'mysql';
# diff /daloradius/library/opendb.php /daloradius/librar...
97d96
< $dbSocket->query("SET SESSION sql_mode = '';");
ページ名: