改訂履歴

2015.6.29 初出
2015.7.1 更新
2015.7.31 更新
2017.2.7 更新
2020.7.22 更新
2022.8.22 更新
2023.3.8 更新

FreeRADIUS 3 を用いて eduroam 対応の RADIUS サーバ (proxy および IdP 機能) を構築する方法について説明します。


想定


FreeRADIUSの導入

  1. FreeRADIUSのビルドにopenssl, tallocなどのライブラリが必要なので、OSにあらかじめ開発用のパッケージを導入しておきます。
  2. FreeRADIUS のソースパッケージを以下のサイトからダウンロードします。
    https://www.freeradius.org/
  3.  ダウンロードしたファイルを展開し、ビルド後、インストールします。

    $ tar zxf freeradius-server-3.2.0.tar.gz
    $ cd freeradius-server-3.2.0
    $ ./configure --prefix=/usr/local/freeradius/3.2.0
    $ make
    # make install

・makeまでは一般ユーザで構いませんが、make installはroot権限で行ってください。


FreeRADIUSの設定

  1. 設定ファイルのテンプレートraddb-3.2.0-eduroamJP.tgzをダウンロードします。
  2. どこか適当なディレクトリで、テンプレートを展開します。このテンプレートを参考に、raddb ディレクトリにあるファイルを書き換えます。
# cd /usr/local/freeradius/3.2.0/etc
# tar zxpf raddb-3.2.0-eduroamJP.tgz
                        

最低限、変更が必要なファイルは、以下のとおりです。設定の注意点も示します。


動作確認

  1. テスト用のアカウントを登録します (mods-config/files/authorizeに書き込む)。
  2. debugモードでradiusサーバを起動します。

    # /usr/local/freeradius/3.2.0/sbin/radiusd -fxx -l stdout
  3. パスを通した後、テスト用コマンドを実行します。

    # export PATH=$PATH:/usr/local/freeradius/3.2.0/bin
    # radtest ユーザ名@example.ac.jp パスワード localhost 1 testing123
    # radtest -t mschap ユーザ名@example.ac.jp パスワード localhost 1 testing123
    
    # radtest -t mschap ユーザ名@example.ac.jp パスワード localhost:18120 1 testing123
  4. 動作確認後は、必ずテスト用アカウントを削除して、radiusd を再起動してください。


eduroam JP参加時の注意事項

eduroam JPのトップレベルRADIUS proxyに接続する際に、機関側の設定不足によって認証連携がうまく動作しない例が散見されます。事務局の負担軽減のため、問い合わせの前に以下の点を確認、修正するようにお願いします。