*Radius [#w590415c] [[FreeRADIUS:+http://freeradius.org/]] OSSのRadiusServerとしては、多分一番シェアが高い物。 ~ *インストール [#of8b6c87] &size(16){&font(b){1. 前書き};}; ソースから入れるなら、3.0.xを入れるべきなのだろうが、 CentOS6.5+FreeRADIUS3.0.3で構築を試みた結果、 libtallocとの連結やOpenSSLの組み込みとかで転けてやる気がなくなったので、楽な2.2.xで構築。 という事で、今回は以下の構成を前提にメモ。 OS : CentOS 6.5 x86_64 FreeRADIUS : 2.2.5 ~ &size(16){&font(b){2. FreeRADIUSのコンパイル};}; [[OpenSSL:http://www.ns-lab.org/wiki/?cmd=read&page=Linux%2FSource%2FOpenSSL]]もmakeでインストールしている事を前提。 yumなりapt-getなりでOpenSSLを入れた場合は、./configureのオプションを削ればOK # mkdir /usr/local/src/radius # cd /usr/local/src/radius # wget "ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.2.5.tar.gz" # tar zxvf freeradius-server-2.2.5.tar.gz # cd freeradius-server-2.2.5 # ./configure --prefix=/usr/local/radius-2.2.5 \ --with-openssl-lib-dir=/usr/local/openssl/lib \ --with-openssl-include-dir=/usr/local/openssl/include # make && make install 後は事後処理として、FreeRADIUSへPATHを通したり、ldconfigを打ったりする。 ~ &size(16){&font(b){3. インストール後処理};}; ログディレクトリを作成したり、FreeRADIUS用にユーザ・グループの作成。 # mkdir /var/run/radiusd # mkdir -p /var/log/radius/radacct # groupadd radiusd # useradd -g radiusd -d /var/log/radius -s /sbin/nologin radiusd # cd /usr/local # ln -s /usr/local/radius-2.2.5 ./radius # ln -s /uar/local/radius /etc/radius # chgrp -R radius /etc/radius/raddb/* ~ &size(16){&font(b){4. コンフィグ};}; 大規模システムならradiusのデータをMySQLへ流すのだろうが、 今回は小規模かつ平常時のメンテナンス性を重視する為、プレーンテキストで情報を保存する。 下記では、変更した部分のみ記載する。 ~ radiusd.conf prefix = /usr/local/radius #インストールディレクトリ localstatedir = /var #PIDやログの保存ディレクトリの親 user = radiusd #FreeRADIUSの実行ユーザ group = radiusd #FreeRADIUSの実行グループ port = 1812 #radius認証を受ける待ちポート番号 auth = yes #認証時のログを保存する security { allow_valnerable_openssl = yes #OpenSSLのHeartBeatチェックを行わない #上記オプションを入れないと、yumで入れた修正済みOpenSSL"1.0.1e+hoge"に対しても反応してしまう。 } ~ clients.conf client localhost { secret = "RadiusServerの認証パスワード" } client 192.168.1.0/24 { #認証を許可するIPアドレスorネットワーク secret = RadiusServerPassword #クライアントに適用させるRadiusServer認証パスワード shortname = RadiusServerName #クライアントに適用させるRadiusServer識別名 }