FreeRADIUS 2の導入

2009.10.1 更新

FreeRADIUS 2を用いてeduroam対応のRADIUSサーバを構築する方法について説明します。


想定


FreeRADIUSの導入

  1. FreeRADIUS のソースパッケージを以下のサイトからダウンロードします。
    http://www.freeradius.org/
  2. ダウンロードしたファイルを展開し、インストールします。
  3. $ tar jxf freeradius-2.1.1.tar.bz2
    $ cd freeradius-server-2.1.1
    $ ./configure --prefix=/usr/local
    $ make
    # make install 

基本設定の適用

  1. EAP-TTLS/MS-CHAPv2を使用し、認証用データベースに "users"ファイルを使用する設定のパッチを下記からダウンロードします。
    FreeRadius 2.1.1用パッチ(raddb-2.1.1.patch)
  2. FreeRADIUSの設定ファイルにパッチを当てます。
    # cd /usr/local/etc
    # patch -b -p0 <raddb-2.1.1.patch
    
このパッチは下記のファイルを対象としています。 個々のファイルの変更点を示します。

動作確認

  1. テスト用ユーザを登録します(ユーザの登録)
  2. radiusサーバを起動します
    # radiusd -X
    
  3. テスト用コマンドを実行します
    # radtest [ユーザ名] [ユーザパスワード] localhost NASポート番号 secret
    

自機関の登録

  1. RADIUSの設定変更
    proxy.confに下記を追加します。
    (末尾が example1.ac.jp のすべてのレルムについて自サーバでユーザ認証を行う設定です。)
  2. realm "~^(.+\\.)?example1\\.ac\\.jp$" {
    authhost   = LOCAL
    accthost   = LOCAL
    }
    
  3. 動作確認

アクセスポイントの登録

  1. 事前準備
    アクセスポイントのIPアドレス(APIP)とアクセス用のsecret(APsecret)と識別名(APname)を決定します。
  2. RADIUSの設定
    "client.conf"に下記を追加します。
    client APname {
        ipaddr = APIP
        secret = APsecret
    } 
    
  3. 設定の確認
    radtestが実行できるPCをアクセスポイントのIPアドレスで接続し、動作確認でのlocalhostを下記のようにRADIUSサーバのIPアドレスに変更し、secretAPsecretを設定して動作確認を行ってください
    # radtest [ユーザ名] [ユーザパスワード] RADIUSサーバのIPアドレス NASポート番号 APsecret
    
  4. アクセスポイントの設定
    RADIUSのIPアドレスとして、設定したRADIUSサーバのIPアドレスを、アクセスキーとしてAPsecretを設定します。

ユーザの登録

ユーザの登録は "users" ファイルに記述することで行います。

ユーザー名 "foo" 、パスワード "bar" の場合、下記を "users"ファイルに追加します。

"foo" Cleartext-Password := "bar"    

JP top radiusサーバへのproxyの設定

  1. 事前準備
  2. RADIUSの設定
    "proxy.conf"に下記を追加
    home_server jp-top-1 {
        type   = auth+acct
        ipaddr = jp-top-ip1
        port   = 1812
        secret = jp-top-secret-1
    }
    
    home_server jp-top-2 {
        type   = auth+acct
        ipaddr = jp-top-ip2
        port   = 1812
        secret = jp-top-secret-2
    }
    
    home_server_pool jp-top {
        type        = fail-over
        home_server = jp-top-1
        home_server = jp-top-2
    }
    
    realm DEFAULT {
        pool = jp-top
        nostrip
    }
    
  3. 動作確認
    記述が正しくできているかは動作確認でのユーザ名パスワードにeduroam.jpの管理者から入手したテスト用ユーザ名テスト用パスワード を使い確認してください。
    # radtest [テスト用ユーザ名] [テスト用ユーザパスワード] localhost NASポート番号 secret
    

[2009-10-01] 更新   後藤英昭(東北大学)
[2009-04-15] 更新   後藤英昭(東北大学)
[2008-12-24] 初出   大和純一, 後藤英昭(東北大学)
eduroam.jp ホーム