RADIUS

FITELnet-F100は、ISDNの着信の認証を外部のサーバで行うRADIUS(Remote Authentication Dial In User Service)のクライアント機能をサポートしています。(V01.00系)
また、RADIUSのアカウンティングサービスクライアント機能もサポートしています。
RADIUSおよびRADIUSアカウンティングは、RFC2138、RFC2139で標準化されています。


RADIUSって何?

RADIUSは、Remote Authentication Dial In User Serviceの略で、ダイヤルアップユーザの認証を行うサービスの名称です。
NAS(Network Access Server)が着信した際に、その相手が着信を許可してよい相手かを、外部のサーバ(RADIUSサーバ)を利用して行う機能が、RADIUS機能です。

RADIUSは、サーバ−クライアントモデルで動作し、NAS側をRADIUSクライアント、許可するかどうかを判断する側をRADIUSサーバとなります。

RADIUSを使用することにより、NASが複数存在するような環境でも、ユーザ情報の制御をRADIUSサーバ1箇所変更することで適用することができます。

また、RADIUSアカウンティング機能では、ユーザごとに送受信オクテット数や、接続時間などを記録する(アカウンティング)ことができます。

RADIUSは、今日では、ダイヤルアップユーザの認証を行うだけでなく、いろいろな認証のサービスとして利用されています。
FITELnetシリーズでは、FITELnet-Rシリーズや、FITELnet-Gシリーズで、ログイン認証をRADIUSで行う機能をサポートしています。
また、FITELnet-F8000、F3000では、ログイン認証に加え、IPsecの拡張認証やIPsec通信のアカウンティングを、RADIUSで行う機能もサポートしています。

ISDNのダイヤルアップ認証は、FITELnet-Eシリーズでもサポートしています。


RADIUS認証のしくみ

RADIUSは、サーバ−クライアントモデルで動作し、NAS側がRADIUSクライアント、認証する側がサーバとなります。
RADIUSは、UDP/IPを使用しますので、RADIUSクライアントとRADIUSサーバは、IP通信を行える環境に配置しておく必要があります。

RADIUSクライアントは、認証が必要なイベント(ISDNの着信や、ログインなど)が発生した場合に、RADIUSサーバに対して、『ユーザ名』『パスワード』の情報と、RADIUSクライアントを示す情報(IPアドレスもしくはあらかじめ決められたID)を通知します。RADIUSサーバは、この通知に対して、RADIUSサーバ内に設定されたユーザ情報データベースを参照し、認証成功もしくは認証失敗を、RADIUSクライアントに通知します。
RADIUSクライアントは、この内容にしたがって、ISDNの着信を許可したり、切断したりします。

RADIUSサーバは、RADIUSクライアントからの通知を受けた際、そのRADIUSクライアントが信用できるかどうかを確認するために、あらかじめ同じ合言葉(共有シークレットと呼ぶ)を設定(radius-server host コマンド)しておく必要があります。

以下の図で、もう少し詳しくみてみましょう。

RADIUSクライアントは、認証が必要なイベントが発生した場合に、RADIUSサーバの指定したUDPポート(デフォルトは1812番)宛に、Access-Requestメッセージを送信します。このAccess-Requestメッセージには、『ユーザ名』として"User-Name"アトリビュートが、『パスワード』として"User-Password"もしくは"CHAP-Password"アトリビュートが含まれています。また、RADIUSクライアントを示す情報として、『IPアドレス情報』("NAS-IP-Address"アトリビュート)もしくは、『あらかじめ決められたID』("NAS-Identifier"アトリビュート)を含みます。
※ FITELnet-F100は、NAS-Identifierアトリビュートをサポートしていません。

『パスワード』情報として"User-Password"アトリビュートを使用するか"CHAP-Password"を使用するかは、ISDN回線の認証プロトコルにより異なります。ISDN回線の認証プロトコルにCHAPを利用する場合は"CHAP-Password"アトリビュート/PAPを利用する場合は"User-Password"を使用します。

FITELnet-F100が送信する、Access-Requestのアトリビュート一覧

Type値 Attribute名称 通知内容
1 User-Name 発信者番号通知による認証の場合は、相手の電話番号
PPPの認証の場合は、ユーザから通知されたユーザ名
2 User-Password 発信者番号通知による認証の場合は、radius-server dialcheck mapping-to-usernameコマンドで指定されたパスワード
PAPの認証の場合は、ユーザから通知されたパスワード
3 CHAP-Password CHAPの認証の場合は、ユーザから通知(CHAP Respondse)された、Response Valueがそのまま入ります。
4 NAS-IP-Address FITELnet-F100のIPアドレス。
5 NAS-Port F100の物理ポート番号。
6 Service-Type Fremed-User(2)
7 Framed-Protocol PPP(1)
31 Calling-Station-ID 発信者の電話番号


Access-Requestメッセージを受信したRADIUSサーバは、自身に設定されたユーザ情報データベースから、『ユーザ名』『パスワード』に一致するレコードが存在すれば、RADIUSクライアントに対してAccess-Acceptを送信します。一致するレコードがない場合は、Access-Rejectを送信します。Access-Acceptを受信した場合は接続許可、Access-Rejectを受信した場合は接続拒否となります。


FITELnet-F100がサポートしている、Access-Responseのアトリビュート一覧

Type値 Attribute名称 通知内容
8 Framed-IP-Address ISDN発信者に割り当てるIPアドレス
9 Framed-IP-Netmask ISDN発信者に割り当てるサブネットマスク。
19 Callback-Number コールバック機能を使用する場合の、コールバックISDN番号


RADIUSアカウンティングのしくみ

RADIUSアカウンティングも、パケットフォーマットなどの基本的な機構は、RADIUSと同等です。
RADIUSアカウンティングの目的は、NASが接続しているユーザの状態を、サーバ側で管理することにあります。

RADIUSアカウンティングクライアントは、アカウンティングのイベント(ISDNの着信や、ログインなど)が発生した場合、RADIUSアカウンティングサーバの指定したUDPポート(デフォルトは1813番)宛に、Accounting-Requestメッセージを送信します。このAccounting-Requestメッセージには、値が"Start(1)"である"Acct-Status-Type"アトリビュートにが含まれています。
Accounting-Requestメッセージを受信したRADIUSアカウンティングサーバは、RADIUSアカウンティングクライアントに対して、アカウンティングが可能であれば、Accounting-Responseを送信します。

その後、ISDNの切断やログアウトといった、アカウンティング終了のイベントが発生した場合に、再度RADIUSアカウンティングサーバに対してAccounting-Requestメッセージを送信します。このときの、Accounting-Requestメッセージには、値が"Stop(2)"である"Acct-Status-Type"アトリビュートが含まれています。また、このときのAccounting-Requestには、送受信した総オクテット数などの情報がアトリビュート情報として通知されます。

FITELnet-F100が送信する、Accounting-Requestのアトリビュート一覧

Type値 Attribute名称 通知内容
40 Acct-Status-Type アカウンティングリクエストの属性(Start or Stop)
42 Acct-Input-Octets そのユーザから受信したオクテット数
43 Acct-Output-Octets そのユーザに対して送信したオクテット数
44 Acct-Session-Id アカウンティングのセッションID
45 Acct-Authentic ユーザを認証した方法(RADIUSもしくはLocal)
46 Acct-Session-Time ISDNを接続していた時間
47 Acct-Input-Packets そのユーザから受信したパケット数
48 Acct-Output-Packets そのユーザに対して送信したパケット数


FITELnet-F100 の着信のしくみ

FITELnet-F100では、ISDNの接続に、Dialerという概念を利用します。
ISDNの接続には、必ず1つDialerを使用して通信を行います。FITELnet-F100では、最大20のDialerをサポートしています。

認証の設定は、各Dialerごとに、どの電話番号と接続する/どのユーザ名の相手と接続するかを設定できます。RADIUSを使用する場合も同様で、『どのDialerをRADIUS認証で使用するか』を設定(ppp authorization interface コマンド)します。ここで、RADIUSを使用するDialerは、着信の優先度が最低になりますので注意してください。FITELnet-F100の着信は、装置に設定された内容をまず確認し、接続できるDialerがなかった場合にRADIUSに問い合わせるという動作になります。

ISDNを着信した際、FITELnet-F100は、内部のテーブル(Dialer)を参照し、発信者番号通知で通知された番号からの接続を許可するかどうかを検索します。
内部のテーブルを検索しても許可するDialerが存在しない場合、RADIUSサーバへの認証を行う設定になって(radius-server dialcheck mapping-to-username コマンドの指定がある)いれば、RADIUSサーバに対して認証を依頼するためのAccess-Requestを送信します。ここで、Access-Acceptを受信すれば、PPPのPhaseに移行します。Access-Rejectを受信できなかった場合は、ISDNを切断します。複数のRADIUSサーバが登録されていた場合でも、Access-Rejectを受信した場合は、次のRADIUSサーバに問い合わせは行わずにISDNを切断します。

発信者番号による認証が確定した場合は、どのDialerで認証を行うかが決定されます。PPPの認証は、そのDialerの情報にしたがって行うことになります。


FITELnet-F100特有の情報

FITELnet-F100の、RADIUS に関する特有の機能を、以下に示します。

 登録できるRADIUSサーバ/RADIUSアカウンティングサーバ数

RADIUSサーバ/RADIUSアカウンティングサーバは、独立して登録することはできません。
RADIUSサーバ/RADIUSアカウンティングサーバとして、3エントリ登録(radius-server host コマンド)することができます。4エントリ以上登録した場合は、"elog"に"too many RADIUS host entries"と出力されます。この場合、先に設定された3エントリが有効となり、4エントリ目以降に登録されてたRADIUSサーバ/RADIUSアカウンティングサーバが無効になります。

複数のエントリがあった場合の優先順位は、
 @ 最も送受信エラーの少ないサーバ
 A 先に設定されたサーバ
となります。ネットワークに存在しない、あるいは、設定したRADIUSサーバへの経路がないといった理由で送受信エラーするサーバは、優先度が低くなります。


 再送とタイムアウト

RADIUSサーバ/RADIUSアカウンティングサーバへの再送およびタイムアウトは、設定により変更することができます。(radius-server retransmitコマンド/radius-server timeoutコマンド)
Access-Requestや、Accounting-Requestを送信後、タイムアウト時間が経過してもResponseを受信しなかった場合は、再送回数でしてされた回数再送を行います。再送をおこなってもResponseを受信しなかった場合、複数のRADIUSサーバ/RADIUSアカウンティングサーバエントリがあれば、次のサーバへのRequestを試みます。
全てのRADIUSサーバ/RADIUSアカウンティングサーバからのResponseを受信できなかった場合、ISDNの切断を行います。


 発信者番号通知による認証

Dialerが、発信者番号認証を行うかどうかは、dialer map コマンド(装置に設定された内容で認証)/radius-server dialcheck mapping-to-username コマンド(RADIUSで認証)で設定します。
発信者番号認証を行う場合は、番号が通知されてこない着信は、そのDialerを使用できません。


FITELnet-F100の設定

FITELnet-F100で、RADIUSを利用するための設定について説明します。コマンドの詳細は、コマンドリファレンスを参照してください。

 RADIUSで使用するDialerの登録(必須)

どのDialerをRADIUS認証で使用するかを設定します。Dialer番号に関わらず、RADIUS認証を使用するDialerは、着信の優先度が最低になります。
また、RADIUSで使用するDialerに指定されたDialerでは、認証プロトコルの設定・割り当てるIPアドレスの設定などが無効になり、すべてRADIUSの設定が有効になります。

Router(config)#ppp authorization interface dialer 1 radius


 RADIUSサーバ/RADIUSアカウンティングサーバの登録(必須)

RADIUSサーバ/RADIUSアカウンティングサーバを登録します。RADIUSサーバ/RADIUSアカウンティングサーバは、最大3エントリ登録できます。
設定したRADIUSサーバ/RADIUSアカウンティングサーバへの経路を確立しておく必要があります。

Router(config)#radius-server host 192.168.0.1 key secret-F100


 発信者番号認証をRADIUSサーバで行う場合の、パスワードの設定

発信者番号認証をRADIUSで行う場合の、パスワードを指定します。RADIUSサーバ側は、『User-Name:相手の電話番号、User-Password:ここで指定したパスワード』のユーザ情報データベースを登録しておく必要があります。

Router(config)#radius-server dialcheck mapping-to-username password ISDN-Password


 タイムアウトの設定

RADIUSサーバ/RADIUSアカウンティングサーバからの応答待ち時間(単位:秒)を設定します。ここで指定した時間Responseを受信しなかった場合は、Requestを再送します。

Router(config)#radius-server timeout 30


 再送回数の設定

RADIUSサーバ/RADIUSアカウンティングサーバへの最大再送回数を設定します。ここで指定した回数再送を行っても、Responseを受信しなかった場合は、次のRADIUSサーバ/RADIUSアカウンティングサーバにRequest先を変更します。

Router(config)# radius-server retransmit 16


 認証プロトコルの指定

PPP認証を行う場合の、認証プロトコル(CHAP or PAP)を指定します。

Router(config)# radius-server ppp authentication chap


設定例

設定例1 発信者番号認証/PPP認証を、全てRADIUSサーバで行う。プライマリRADIUSサーバを192.168.100.250、セカンダリRADIUSサーバを192.168.100.251とする

Router(config)#ppp authorization interface dialer 1 radius

Router(config)#radius-server dialcheck mapping-to-username password ISDN-Password

Router(config)#radius-server host 192.168.100.250 key Primary-secret
Router(config)#radius-server host 192.168.100.251 key Secondary-secret

Router(config)#interface bri 1
Router(config-if bri 1)#exit

Router(config)#interface dialer 1
Router(config-if dialer 1)#dialer interface bri 1
Router(config-if dialer 1)#ip address 192.168.200.1 255.255.255.0
Router(config-if dialer 1)#exit
Router(config)#
【解説】
ppp authorization interface dialer 1 radius Dialer1で、受信する接続に対しては、RADIUS認証を利用する。
radius-server dialcheck mapping-to-username password ISDN-Password RADIUSで発信者番号認証を行う。その際のUser-Passwordは、"ISDN-Password"とする。
radius-server host 192.168.100.250 key Primary-secret
radius-server host 192.168.100.251 key Secondary-secret
2つのRADIUSサーバ(192.168.100.250, 192.168.100.251)を登録する。
192.168.100.250との共有シークレットは"Primary-secret"、192.168.100.251との共有シークレットは"Secondary-secret"とする
interface bri 1 ISDNを接続するBRIを宣言します。
exit BRIインタフェース設定モードから、基本設定モードに移行します。
line dialer 1 Dialerインタフェース設定モードに移行します。1.で指定したRADIUS認証用のDialerを設定します。
dialer interface bri 1 このDialerが使用するインタフェース(BRI)を指定します。
ip address 192.168.200.1 255.255.255.0 このDialerを使用する場合の、IPアドレスを指定します。
exit Dialerインタフェース設定モードから、基本設定モードに移行します。


この設定の場合、RADIUSサーバ側では、以下の情報をもつユーザ情報データベースが登録されている必要があります。

User-Name 03xxxxxxxx
User-Passord ISDN-Password

このエントリは、発信者番号認証用のデータベースです。着信する電話機(ルータ)分登録しておく必要があります。


User-Name User1
User-Name User1-Password
Framed-IP-Address 192.168.200.254
Framed-IP-Netmask 255.255.255.0

このエントリは、PPP認証用のデータベースです。着信を許可するユーザ分登録しておく必要があります。

本文中での記載の会社名、サービス名、製品名、品名は各社の商標または登録商標です。