Radiusと言ってもぱっとこない人は多いですが、簡単に言うとインターネットに接続するための、認証サーバーです。 すごく簡単に言いました。こんな感じとじぶんは認識しとります。 ということで、インストールからradtestまでの動作確認など、一連の手順をメモしておきます。
Radiusインストール手順
今回はCentOS6でインストールしました。 途中で引っかかってしまったところも回避策をメモっているのでご紹介します。
yumインストールでradiusをインストール
$ yum install freeradius Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile ~~~ Total download size: 1.4 M Installed size: 5.7 M Is this ok [y/N]: y ~~~ Installed: freeradius.x86_64 0:2.1.12-4.el6_3 Complete! #
freeradius_utilsのインストール ※参照先で紹介されているradtestが入っている。
$ yum install freeradius_utils
※インストールされたバージョンを確認
$ rpm -q freeradius freeradius-2.1.12-4.el6_3.x86_64
FreeRadiusの設定
インストールした後、以下設定を実施
- radiusd.conf FreeRadius全体の基本設定
- clients.conf 認証、アカウンティング要求を受け付けるRadiusクライアントの設定を定義する
- users 認証するユーザ情報を設定する。また、ファイル名はradiusd.confで変更可能
radiusd.confの設定
$ pwd /etc/raddb $ ls -la | grep radius* -rw-r----- 1 root radiusd 27848 10月 3 10:23 2012 radiusd.conf $ cp radiusd.conf radiusd.origin
$ vi radiusd.conf # Log authentication requests to the log file. # # allowed values: {no, yes} # auth = no
#auth = no → yesへ変更
clients.confの設定
$ pwd /etc/raddb $ ls -la | grep clients* -rw-r----- 1 root radiusd 6703 10月 3 10:23 2012 clients.conf $ cp clients.conf clients.origin # You can now specify one secret for a network of clients. # When a client request comes in, the BEST match is chosen. # i.e. The entry from the smallest possible network. # client 1.1.1.1 { secret = test shortname = RadiusTest }
- client = 認証要求を受け付ける対向機器のIPアドレスを設定(名前解決可能であればドメイン名でOK)
- secret = クライアント側で設定するパスフレーズ
- shortname = クライアント側で設定する名前
usersの設定
$ pwd /etc/raddb $ ls -la | grep users -rw-r----- 1 root radiusd 671 10月 3 10:23 2012 acct_users -rw-r----- 1 root radiusd 984 10月 3 10:23 2012 preproxy_users -rw-r----- 1 root radiusd 6524 10月 3 10:23 2012 users $ vi users# Deny access for a specific user. Note that this entry MUST # be before any other 'Auth-Type' attribute which results in the user # being authenticated. # # Note that there is NO 'Fall-Through' attribute, so the user will not # be given any additional resources. # #lameuser Auth-Type := Reject # Reply-Message = "Your account has been disabled." bobo Auth-Type := Local, User-Password =="testbobo"
ユーザーIDを「bobo」、パスワードを”testbobo”としてユーザ登録する
※FreeRadiusの動作確認 テストコマンド
$ radtest ユーザID パスワード 認証先 認証(auth)ポート secretキー
起動及び確認
$ service radiusd start radiusd を起動中: [ OK ] $ ps aux | grep radius radiusd 31244 0.0 0.3 152420 3284 ? Ssl 06:56 0:00 /usr/sbin/radiusd -d /etc/raddb root 31257 0.0 0.0 107456 916 pts/0 S+ 06:58 0:00 grep radius# service radius status radius: 認識されていないサービスです。 $ service radiusd status radiusd (pid 31244) を実行中...
radtest install(初期設定時にはパッケージに入っているが、インストールされていない)
$ yum provides '*/radtest' Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile * base: ftp.nara.wide.ad.jp * extras: ftp.nara.wide.ad.jp * updates: ftp.nara.wide.ad.jp ~~~~~ Total download size: 120 k Installed size: 216 k Is this ok [y/N]: y ~~~~~ Installed: freeradius-utils.x86_64 0:2.1.12-4.el6_3 Complete!
radtestがうまくいかない
→/etc/hostsへ機器のアドレスを追記
$ vi /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.10.94 {ホスト名} ←ホスティング機器の場合、認証がうまくいかないときがある為hostsファイルに名義してあげる ~ ~
access-rejectで拒否られる
hostsファイルの設定 radiusをインストール・設定する上で、単純な設定ですがまず一番最初に実施することとして、自身のhost名を/etc/hostsファイルに登録する必要がある。 通常のインストールでは問題はないが、ホスティング機器へのインストールなど、後にhost名を変える場合など、少し注意が必要。 hostsに自身の機器を名前解決できないと、認証が失敗することがある。
$ radtest bobo testbobo localhost 0 testing123 Sending Access-Request of id 2 to 127.0.0.1 port 1812 User-Name = "bobo" User-Password = "testbobo" NAS-IP-Address = 192.168.10.94 NAS-Port = 0 Message-Authenticator = 0x00000000000000000000000000000000 rad_recv: Access-Reject packet from host 127.0.0.1 port 1812, id=2, length=20
※usersファイルを修正
$bobo Auth-Type := Local, User-Password =="testbobo" bobo Cleartext-Password := "testbobo" ←こちらに変更
再度確認。
$ radtest bobo testbobo localhost 0 testing123 Sending Access-Request of id 250 to 127.0.0.1 port 1812 User-Name = "bobo" User-Password = "testbobo" NAS-IP-Address = 192.168.10.94 NAS-Port = 0 Message-Authenticator = 0x00000000000000000000000000000000 rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=250, length=20 #
※radtestでうまくいった。
まとめ
Radiusはホント最初のころはさっぱりでした。※今もです。 認証サーバなんて何の事かもわからないし、動作もわかりません。 わからなければ、まずは構築してみて動かしてみることが大切です。 じぶんも勉強していきます!
サーバーを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す