Radius
導入
このパッケージは、FreeBSD の libradius をもとにしたものです。 この PECL モジュールは、Radius 認証 (» RFC 2865) および Radius 課金 (» RFC 2866) を完全にサポートします。 このパッケージは、Unix (FreeBSD および Linux でテストしました) および Windows で使用可能です。注意: libradius に関する正確な説明は» ここ にあります。設定ファイルについての詳細な説明は » ここです。
インストール手順
どうやってインストールするの?- tar パッケージを (通常は php4/ext に) 展開する
- radius-x.x の名前を radius に変更する
- php4 ディレクトリで ./buildconf を実行する
- ./configure --enable-radius を実行する
- make; make install
- tar パッケージを展開する
- radius-x.x ディレクトリで phpize を実行する
- radius-x.x ディレクトリで ./configure を実行する
- make; make install
Windows の場合は、 » http://snaps.php.net/ から php_radius.dll をダウンロードして使用することを推奨します。 PECL スナップショットのページ(使用する PHP のバージョンに応じて以下の適切なレポジトリを 選択してください)からこのバンドルされていない PECL エクステンションを入手することができます。 : » PECL for PHP 4.3.x, » PECL for PHP 5.0.x または » PECL Unstable。
定義済み定数
以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。- RADIUS_ACCESS_REQUEST ()
- 認証のリクエスト
- RADIUS_ACCESS_ACCEPT ()
- アクセスが許可されました
- RADIUS_ACCESS_REJECT ()
- アクセスが拒否されました
- RADIUS_ACCOUNTING_REQUEST ()
- 課金のリクエスト
- RADIUS_ACCOUNTING_RESPONSE ()
- 課金のレスポンス
- RADIUS_ACCESS_CHALLENGE ()
- アクセスチャレンジ
- RADIUS_USER_NAME (string)
- ユーザ名
- RADIUS_USER_PASSWORD (string)
- パスワード
- RADIUS_CHAP_PASSWORD (string)
- Chap パスワード。 chappass = md5(ident + plaintextpass + challenge)
- RADIUS_NAS_IP_ADDRESS (string)
- NAS IP アドレス
- RADIUS_NAS_PORT (int)
- NAS ポート
- RADIUS_SERVICE_TYPE (int)
-
サービスの型、以下のいずれか
RADIUS_LOGIN RADIUS_FRAMED RADIUS_CALLBACK_LOGIN RADIUS_CALLBACK_FRAMED RADIUS_OUTBOUND RADIUS_ADMINISTRATIVE RADIUS_NAS_PROMPT RADIUS_AUTHENTICATE_ONLY RADIUS_CALLBACK_NAS_PROMPT - RADIUS_FRAMED_PROTOCOL (int)
-
フレームのプロトコル、以下のいずれか
RADIUS_PPP RADIUS_SLIP RADIUS_ARAP RADIUS_GANDALF RADIUS_XYLOGICS - RADIUS_FRAMED_IP_ADDRESS (string)
- IP アドレス
- RADIUS_FRAMED_IP_NETMASK (string)
- ネットマスク
- RADIUS_FRAMED_ROUTING (int)
- ルーティング
- RADIUS_FILTER_ID (string)
- フィルタ ID
- RADIUS_FRAMED_MTU (int)
- MTU
- RADIUS_FRAMED_COMPRESSION (int)
-
圧縮、以下のいずれか
RADIUS_COMP_NONE RADIUS_COMP_VJ RADIUS_COMP_IPXHDR - RADIUS_LOGIN_IP_HOST (string)
- ログイン IP ホスト
- RADIUS_LOGIN_SERVICE (int)
- ログインサービス
- RADIUS_LOGIN_TCP_PORT (int)
- ログイン TCP ポート
- RADIUS_REPLY_MESSAGE (string)
- 応答メッセージ
- RADIUS_CALLBACK_NUMBER (string)
- コールバック番号
- RADIUS_CALLBACK_ID (string)
- コールバック ID
- RADIUS_FRAMED_ROUTE (string)
- フレームのルート
- RADIUS_FRAMED_IPX_NETWORK (string)
- フレームの IPX ネットワーク
- RADIUS_STATE (string)
- 状態
- RADIUS_CLASS (int)
- クラス
- RADIUS_VENDOR_SPECIFIC (int)
- ベンダ固有の属性
- RADIUS_SESSION_TIMEOUT (int)
- セッションタイムアウト
- RADIUS_IDLE_TIMEOUT (int)
- アイドルタイムアウト
- RADIUS_TERMINATION_ACTION (int)
- 停止アクション
- RADIUS_CALLED_STATION_ID (int)
- 呼び出し先ステーション ID
- RADIUS_CALLING_STATION_ID (string)
- 呼び出し元ステーション ID
- RADIUS_NAS_IDENTIFIER (int)
- NAS ID
- RADIUS_PROXY_STATE (int)
- Proxy の状態
- RADIUS_LOGIN_LAT_SERVICE (int)
- ログイン LAT サービス
- RADIUS_LOGIN_LAT_NODE (int)
- ログイン LAT ノード
- RADIUS_LOGIN_LAT_GROUP (int)
- ログイン LAT グループ
- RADIUS_FRAMED_APPLETALK_LINK (int)
- フレームの Appletalk リンク
- RADIUS_FRAMED_APPLETALK_NETWORK (int)
- フレームの Appletalk ネットワーク
- RADIUS_FRAMED_APPLETALK_ZONE (int)
- フレームの Appletalk ゾーン
- RADIUS_CHAP_CHALLENGE (string)
- チャレンジ
- RADIUS_NAS_PORT_TYPE (int)
-
NAS ポート型、以下のいずれか
RADIUS_ASYNC RADIUS_SYNC RADIUS_ISDN_SYNC RADIUS_ISDN_ASYNC_V120 RADIUS_ISDN_ASYNC_V110 RADIUS_VIRTUAL RADIUS_PIAFS RADIUS_HDLC_CLEAR_CHANNEL RADIUS_X_25 RADIUS_X_75 RADIUS_G_3_FAX RADIUS_SDSL RADIUS_ADSL_CAP RADIUS_ADSL_DMT RADIUS_IDSL RADIUS_ETHERNET RADIUS_XDSL RADIUS_CABLE RADIUS_WIRELESS_OTHER RADIUS_WIRELESS_IEEE_802_11 - RADIUS_PORT_LIMIT (int)
- ポートの限界
- RADIUS_LOGIN_LAT_PORT (int)
- ログイン LAT ポート
- RADIUS_CONNECT_INFO (string)
- 接続の情報
- RADIUS_ACCT_STATUS_TYPE (int)
-
課金状態の型、以下のいずれか
RADIUS_START RADIUS_STOP RADIUS_ACCOUNTING_ON RADIUS_ACCOUNTING_OFF - RADIUS_ACCT_DELAY_TIME (int)
- 課金の遅延時間
- RADIUS_ACCT_INPUT_OCTETS (int)
- 課金の入力バイト数
- RADIUS_ACCT_OUTPUT_OCTETS (int)
- 課金の出力バイト数
- RADIUS_ACCT_SESSION_ID (int)
- 課金のセッション ID
- RADIUS_ACCT_AUTHENTIC (int)
-
課金認証、以下のいずれか
RADIUS_AUTH_RADIUS RADIUS_AUTH_LOCAL RADIUS_AUTH_REMOTE - RADIUS_ACCT_SESSION_TIME (int)
- 課金のセッション時間
- RADIUS_ACCT_INPUT_PACKETS (int)
- 課金の入力パケット
- RADIUS_ACCT_OUTPUT_PACKETS (int)
- 課金の出力パケット
- RADIUS_ACCT_TERMINATE_CAUSE (int)
-
課金終了の原因、以下のいずれか
RADIUS_TERM_USER_REQUEST RADIUS_TERM_LOST_CARRIER RADIUS_TERM_LOST_SERVICE RADIUS_TERM_IDLE_TIMEOUT RADIUS_TERM_SESSION_TIMEOUT RADIUS_TERM_ADMIN_RESET RADIUS_TERM_ADMIN_REBOOT RADIUS_TERM_PORT_ERROR RADIUS_TERM_NAS_ERROR RADIUS_TERM_NAS_REQUEST RADIUS_TERM_NAS_REBOOT RADIUS_TERM_PORT_UNNEEDED RADIUS_TERM_PORT_PREEMPTED RADIUS_TERM_PORT_SUSPENDED RADIUS_TERM_SERVICE_UNAVAILABLE RADIUS_TERM_CALLBACK RADIUS_TERM_USER_ERROR RADIUS_TERM_HOST_REQUEST - RADIUS_ACCT_MULTI_SESSION_ID (string)
- 課金のマルチセッション ID
- RADIUS_ACCT_LINK_COUNT (int)
- 課金のリンク数
- RADIUS_VENDOR_MICROSOFT (int)
-
Microsoft 固有のベンダ属性 (» RFC 2548)、
以下のいずれか
RADIUS_MICROSOFT_MS_CHAP_RESPONSE RADIUS_MICROSOFT_MS_CHAP_ERROR RADIUS_MICROSOFT_MS_CHAP_PW_1 RADIUS_MICROSOFT_MS_CHAP_PW_2 RADIUS_MICROSOFT_MS_CHAP_LM_ENC_PW RADIUS_MICROSOFT_MS_CHAP_NT_ENC_PW RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_POLICY RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_TYPES RADIUS_MICROSOFT_MS_RAS_VENDOR RADIUS_MICROSOFT_MS_CHAP_DOMAIN RADIUS_MICROSOFT_MS_CHAP_CHALLENGE RADIUS_MICROSOFT_MS_CHAP_MPPE_KEYS RADIUS_MICROSOFT_MS_BAP_USAGE RADIUS_MICROSOFT_MS_LINK_UTILIZATION_THRESHOLD RADIUS_MICROSOFT_MS_LINK_DROP_TIME_LIMIT RADIUS_MICROSOFT_MS_MPPE_SEND_KEY RADIUS_MICROSOFT_MS_MPPE_RECV_KEY RADIUS_MICROSOFT_MS_RAS_VERSION RADIUS_MICROSOFT_MS_OLD_ARAP_PASSWORD RADIUS_MICROSOFT_MS_NEW_ARAP_PASSWORD RADIUS_MICROSOFT_MS_ARAP_PASSWORD_CHANGE_REASON RADIUS_MICROSOFT_MS_FILTER RADIUS_MICROSOFT_MS_ACCT_AUTH_TYPE RADIUS_MICROSOFT_MS_ACCT_EAP_TYPE RADIUS_MICROSOFT_MS_CHAP2_RESPONSE RADIUS_MICROSOFT_MS_CHAP2_SUCCESS RADIUS_MICROSOFT_MS_CHAP2_PW RADIUS_MICROSOFT_MS_PRIMARY_DNS_SERVER RADIUS_MICROSOFT_MS_SECONDARY_DNS_SERVER RADIUS_MICROSOFT_MS_PRIMARY_NBNS_SERVER RADIUS_MICROSOFT_MS_SECONDARY_NBNS_SERVER RADIUS_MICROSOFT_MS_ARAP_CHALLENGE
クイックスタート
どのように使用するの?- radius リソースを取得する
- ライブラリを設定する
- リクエストを作成する
- 属性を設定する
- リクエストを送信する
- 属性を受け取る
- radius リソースを閉じる (オプション)
このパッケージにはサンプル PHP スクリプトが含まれています。 このスクリプトでは、PAP あるいは CHAP (md5) を使用した radius 認証の 方法を説明しています。Microsoft Radius サーバを使用して認証を行う 場合は、CHAP (md5) を使用することはできません。Microsoft のサーバを 使用する場合は、MS-CHAPv1 あるいは MS-CHAPv2 を使用する必要があります。 しかし、正しいデータを生成するために md4、sha1 および des が必要となる こともあり、これは複雑な手順となります。同梱されている例では すべての認証方式を説明しており、そこには MS-CHAPv1 および MS-CHAPv2 も含まれています。MS-CHAP を動作させるためには、拡張モジュール mcrypt および mhash が必要となります。 バージョン 1.2 以降では、mcrypt 拡張モジュールは必要なくなりました。
連絡先の情報
コメント・バグフィックス・機能拡張・あるいは開発を手伝いたいなどの場合は、 メールを » mbretter@php.net に送ってください。Windows 用のバイナリは » ここから ダウンロードできます。目次
- radius_acct_open — 課金用の Radius ハンドルを作成する
- radius_add_server — サーバを追加する
- radius_auth_open — 認証用の Radius ハンドルを作成する
- radius_close — すべてのリソースを開放する
- radius_config — 指定した設定ファイルをライブラリに読み込ませる
- radius_create_request — 課金あるいは認証のリクエストを作成する
- radius_cvt_addr — 生データを IP アドレスに変換する
- radius_cvt_int — 生データを整数に変換する
- radius_cvt_string — 生データを文字列に変換する
- radius_demangle_mppe_key — 変形されたデータから mppe キーを得る
- radius_demangle — データを復元する
- radius_get_attr — 属性を取得する
- radius_get_vendor_attr — ベンダ固有の属性を取得する
- radius_put_addr — IP アドレス属性を設定する
- radius_put_attr — バイナリ属性を設定する
- radius_put_int — 整数属性を設定する
- radius_put_string — 文字列属性を設定する
- radius_put_vendor_addr — ベンダ固有の IP アドレス属性を設定する
- radius_put_vendor_attr — ベンダ固有のバイナリ属性を設定する
- radius_put_vendor_int — ベンダ固有の整数属性を設定する
- radius_put_vendor_string — ベンダ固有の文字列属性を設定する
- radius_request_authenticator — リクエスト認証子を返す
- radius_send_request — リクエストを送信し、応答を待つ
- radius_server_secret — 共有秘密鍵を返す
- radius_strerror — エラーメッセージを返す
固有名詞の分類
Weblioに収録されているすべての辞書からRadiusを検索する場合は、下記のリンクをクリックしてください。

- Radiusのページへのリンク