# 運用・管理 / RADIUSプロキシー

RADIUSプロキシーは、RADIUSクライアント（NAS）とRADIUSサーバーの間でRADIUSパケットを中継する機能です。
Note

RADIUSプロキシーは、RADIUS Dynamic Authorization（DA）メッセージの中継には対応していません。

RADIUSプロキシーは、NASに対してはRADIUSサーバーとして、実際のRADIUSサーバーに対してはNASとしてふるまいます。
次図のように各拠点に多数のNASが散在する場合、各拠点にRADIUSプロキシーを配置すれば、中央のRADIUSサーバーから見たNASの数は少なくなります。
また、RADIUSサーバーの増設時やアドレスの変更時にも、RADIUSプロキシーの設定だけを変更すればよく、個々のNASの設定は変える必要がありません。

さらにRADIUSプロキシーでは、RADIUS要求パケットに含まれる属性値によって転送先のRADIUSサーバーを振り分けることもできます。
特に「username@DOMAIN」、「DOMAIN/username」のような形式のユーザー名を用いる環境において、DOMAIN部分（ドメインまたはレルムと呼びます）の値によって異なるRADIUSサーバーに転送する設定はよく使われます。

## 基本設定

### 複数のNASを集約する

ここではもっとも基本的な設定として、複数のNASをRADIUSプロキシーで集約し、実際のRADIUSサーバーから見たNASの数を少なくする設定を示します。

1. RADIUSプロキシーの設定を行うため、RADIUSプロキシーモードに移動します。これには、radius-server proxy-serverコマンドを使います。

       awplus(config)# radius-server proxy-server
       awplus(config-radproxy)#

2. RADIUSプロキシーが上位RADIUSサーバーと通信するときに始点アドレスとして使用するIPアドレスを固定設定します。これには、source-interfaceコマンドを使います。
   上位RADIUSサーバーにはこのアドレスをNASアドレスとして登録することになります。

       awplus(config-radproxy)# source-interface 192.168.100.1

3. 転送先のRADIUSサーバーを登録します。これには、serverコマンド（RADIUSプロキシーモード）を使います。
   keyにはRADIUSサーバー側で設定した共有パスワードを指定してください。
   転送先RADIUSサーバーを複数登録している場合は、NASからRADIUS要求を受信した時点で利用可能な（ダウンしていない）サーバーのうち、登録順の一番早いものに転送します。

       awplus(config-radproxy)# server 192.168.10.5 key secret5
       awplus(config-radproxy)# server 192.168.10.6 key secret6

4. NASを登録します。これには、nasコマンドを使います。

       awplus(config-radproxy)# nas 192.168.10.101 key himitsu101
       awplus(config-radproxy)# nas 192.168.10.102 key himitsu102
       awplus(config-radproxy)# nas 192.168.10.103 key himitsu103
       awplus(config-radproxy)# nas 192.168.10.104 key himitsu104
       awplus(config-radproxy)# nas 192.168.10.105 key himitsu105

5. RADIUSプロキシーは初期状態で無効化されているため、明示的に有効化する必要があります。これには、proxy enableコマンドを使います。

       awplus(config-radproxy)# proxy enable

### ドメイン（レルム）によって転送先を振り分ける

ここでは、NASから受け取ったRADIUS要求のユーザー名（User-Name属性値）に含まれるドメイン（レルム）によって、下記のとおり転送先のRADIUSサーバーを振り分けるものとします。

ルール番号 | ドメイン（レルム） | ユーザー名の例 | 転送先RADIUSサーバー
10 | A | user1@A A\user1 user1%A A/user1 | 172.16.10.5
172.16.10.6
20 | B | user1@B B\user1 user1%B B/user1 | 172.17.10.5
172.17.10.6
| その他（レルムなしを含む） | user1 Z\user1 ... | 192.168.10.5
192.168.10.6

ドメイン（レルム）は、User-Name属性に含まれるユーザー名が次の形式の文字列のときだけ認識されます。
下記の例では、domainの部分がレルムとしてルールと照合されます。
照合後は、domain部分と区切り記号（@ % / \）は削除されてからRADIUSサーバーに転送されます（オプションにより削除しない設定も可能）。

    username@DOMAIN
    username%DOMAIN
    DOMAIN/username
    DOMAIN\username

1. RADIUSプロキシーの設定を行うため、RADIUSプロキシーモードに移動します。これには、radius-server proxy-serverコマンドを使います。

       awplus(config)# radius-server proxy-server
       awplus(config-radproxy)#

2. RADIUSプロキシーが上位RADIUSサーバーと通信するときに始点アドレスとして使用するIPアドレスを固定設定します。これには、source-interfaceコマンドを使います。
   上位RADIUSサーバーにはこのアドレスをNASアドレスとして登録することになります。

       awplus(config-radproxy)# source-interface 192.168.100.1

3. 転送先のRADIUSサーバーを登録します。
   keyにはRADIUSサーバー側で設定した共有パスワードを指定してください。
   ここでは、ユーザーの所属するドメイン（レルム）によって異なるサーバー群に転送させるため、ドメインごとにサーバーグループを定義します。
   サーバー自体の登録はserverコマンド（RADIUSプロキシーモード）で行います。

       awplus(config-radproxy)# server 172.16.10.5 key secret5A
       awplus(config-radproxy)# server 172.16.10.6 key secret6A
       awplus(config-radproxy)# server 172.17.10.5 key secret5B
       awplus(config-radproxy)# server 172.17.10.6 key secret6B
       awplus(config-radproxy)# server 192.168.10.5 key secret5
       awplus(config-radproxy)# server 192.168.10.6 key secret6

4. 個々のサーバーを登録したら、groupコマンドでグループを作成し、serverコマンド（RADIUSプロキシー・サーバーグループモード）で登録済みのサーバーをグループに追加します。

       awplus(config-radproxy)# group A
       awplus(config-radproxy-gr)# server 172.16.10.5
       awplus(config-radproxy-gr)# server 172.16.10.6
       awplus(config-radproxy-gr)# exit
       awplus(config-radproxy)# group B
       awplus(config-radproxy-gr)# server 172.17.10.5
       awplus(config-radproxy-gr)# server 172.17.10.6
       awplus(config-radproxy-gr)# exit

5. ドメイン（レルム）による振り分けルールを作成します。これには、rule realmコマンドを使います。

       awplus(config-radproxy)# rule 10 realm A group A
       awplus(config-radproxy)# rule 20 realm B group B

6. NASを登録します。これには、nasコマンドを使います。

       awplus(config-radproxy)# nas 192.168.10.101 key himitsu101
       awplus(config-radproxy)# nas 192.168.10.102 key himitsu102
       awplus(config-radproxy)# nas 192.168.10.103 key himitsu103
       awplus(config-radproxy)# nas 192.168.10.104 key himitsu104
       awplus(config-radproxy)# nas 192.168.10.105 key himitsu105
       awplus(config-radproxy)# nas 192.168.10.106 key himitsu106
       awplus(config-radproxy)# nas 192.168.10.107 key himitsu107
       awplus(config-radproxy)# nas 192.168.10.108 key himitsu108
       awplus(config-radproxy)# nas 192.168.10.109 key himitsu109
       awplus(config-radproxy)# nas 192.168.10.110 key himitsu110

7. RADIUSプロキシーは初期状態で無効化されているため、明示的に有効化する必要があります。これには、proxy enableコマンドを使います。

       awplus(config-radproxy)# proxy enable

### 任意の属性値によって転送先を振り分ける

ここでは、NASから受け取ったRADIUS要求の属性値によって、下記のとおり転送先のRADIUSサーバーを振り分けるものとします。

ルール番号 | 属性名 | マッチ条件 | 属性値の例 | 転送先RADIUSサーバー
10 | NAS-IP-Address | 192.168.10.10* | 192.168.10.101 192.168.10.102 ... | 172.16.10.5
172.16.10.6
20 | NAS-IP-Address | 192.168.10.11* | 192.168.10.111 192.168.10.112 ... | 172.17.10.5
172.17.10.6
| その他 | - | 192.168.10.121 192.168.10.122 ... | 192.168.10.5
192.168.10.6

振り分けに使用できる属性は次のとおりです。

- User-Name
- NAS-IP-Address
- NAS-Identifier
- Calling-Station-Id
- Called-Station-Id

なお、User-Name属性はドメインベース転送ルール（rule realm）でもパターンマッチの対象になりますが、ドメインベース転送ルールではUser-Name属性値内のドメイン（レルム）文字列だけが照合されるのに対し、属性ベース転送ルールではUser-Name属性に含まれる文字列全体が照合されます。また、ドメインベース転送ルールではデフォルトでUser-Name属性値のドメイン部分を削除しますが、属性ベース転送ルールでは属性値の変更は行いません。

1. RADIUSプロキシーの設定を行うため、RADIUSプロキシーモードに移動します。これには、radius-server proxy-serverコマンドを使います。

       awplus(config)# radius-server proxy-server
       awplus(config-radproxy)#

2. RADIUSプロキシーが上位RADIUSサーバーと通信するときに始点アドレスとして使用するIPアドレスを固定設定します。これには、source-interfaceコマンドを使います。
   上位RADIUSサーバーにはこのアドレスをNASアドレスとして登録することになります。

       awplus(config-radproxy)# source-interface 192.168.100.1

3. 転送先のRADIUSサーバーを登録します。
   keyにはRADIUSサーバー側で設定した共有パスワードを指定してください。
   ここでは、NASのIPアドレス範囲によって異なるサーバー群に転送させるため、IP範囲ごとにサーバーグループを定義します。
   サーバー自体の登録はserverコマンド（RADIUSプロキシーモード）で行います。

       awplus(config-radproxy)# server 172.16.10.5 key secret5nas10x
       awplus(config-radproxy)# server 172.16.10.6 key secret6nas10x
       awplus(config-radproxy)# server 172.17.10.5 key secret5nas11x
       awplus(config-radproxy)# server 172.17.10.6 key secret6nas11x
       awplus(config-radproxy)# server 192.168.10.5 key secret5
       awplus(config-radproxy)# server 192.168.10.6 key secret6

4. 個々のサーバーを登録したら、groupコマンドでグループを作成し、serverコマンド（RADIUSプロキシー・サーバーグループモード）で登録済みのサーバーをグループに追加します。

       awplus(config-radproxy)# group nas10x
       awplus(config-radproxy-gr)# server 172.16.10.5
       awplus(config-radproxy-gr)# server 172.16.10.6
       awplus(config-radproxy-gr)# exit
       awplus(config-radproxy)# group nas11x
       awplus(config-radproxy-gr)# server 172.17.10.5
       awplus(config-radproxy-gr)# server 172.17.10.6
       awplus(config-radproxy-gr)# exit

5. 属性値による振り分けルールを作成します。これには、rule attributeコマンドを使います。

       awplus(config-radproxy)# rule 10 attribute NAS-IP-Address 192.168.10.10* group nas10x
       awplus(config-radproxy)# rule 20 attribute NAS-IP-Address 192.168.10.11* group nas11x

6. NASを登録します。これには、nasコマンドを使います。

       awplus(config-radproxy)# nas 192.168.10.101 key himitsu101
       awplus(config-radproxy)# nas 192.168.10.102 key himitsu102
       awplus(config-radproxy)# nas 192.168.10.111 key himitsu111
       awplus(config-radproxy)# nas 192.168.10.112 key himitsu112
       awplus(config-radproxy)# nas 192.168.10.121 key himitsu121
       awplus(config-radproxy)# nas 192.168.10.122 key himitsu122

7. RADIUSプロキシーは初期状態で無効化されているため、明示的に有効化する必要があります。これには、proxy enableコマンドを使います。

       awplus(config-radproxy)# proxy enable

### RADIUSクライアント（NAS）側の設定

RADIUSプロキシーを使用する環境では、RADIUSクライアント（NAS）の設定時に、使用するRADIUSサーバーとしてRADIUSプロキシーのアドレスやポート番号を指定し、共有パスワードもRADIUSプロキシーのNAS設定（nasコマンド（RADIUSプロキシーモード））で指定した文字列を指定します。

### RADIUSサーバー側の設定

RADIUSプロキシーを使用する環境では、RADIUSサーバーにおいて、RADIUSプロキシーのアドレスをNASのアドレスとして登録します。
前記設定例のように source-interfaceコマンド（RADIUSプロキシーモード）を設定している場合は、同コマンドで指定したアドレスをNASとして登録します。
RADIUSプロキシーの設定で上位サーバーを登録するときには、RADIUSサーバー側でNASごとに設定した共有パスワードが必要です。

### 状況確認

RADIUSプロキシーの転送先として登録した上位RADIUSサーバーの設定と状態は、show radius proxy-serverコマンドで確認できます。
RADIUSプロキシーの転送先として登録した上位RADIUSサーバーグループの設定と状態は show radius proxy-server groupコマンドで確認できます。
RADIUSプロキシーの転送先として登録した上位RADIUSサーバーごとの統計情報は show radius proxy-server statisticsコマンドで確認できます。

## その他

### RADIUSクライアント機能とRADIUSプロキシーの併用

同一装置上でRADIUSクライアント機能とRADIUSプロキシーを併用することもできます。
RADIUSクライアント機能の設定において、同一装置上のRADIUSプロキシーを使用するよう設定するには、以下に示す2つのコマンドで装置自身のIPアドレスと共有パスワードを設定します。
以下の例では装置のIPアドレスが「192.168.1.1」、共有パスワードが「secretA」であると仮定しています。

- radius-server hostコマンド
  RADIUSクライアントから見たRADIUSサーバー（ここでは同一装置上のRADIUSプロキシー）を指定します。

      awplus(config)# radius-server host 192.168.1.1 key secretA

- nasコマンド（RADIUSプロキシーモード）
  RADIUSプロキシーから見たRADIUSクライアント（NAS）（ここでは同一装置上のRADIUSクライアント）を指定します。

      awplus(config)# radius-server proxy-server
      awplus(config-radproxy)# nas 192.168.1.1 key secretA

### ローカルRADIUSサーバーとRADIUSプロキシーの併用

RADIUSプロトコルでは、デフォルトで下記のUDPポートを使います。

- 認証：1812
- アカウンティング：1813

同一装置上でローカルRADIUSサーバーとRADIUSプロキシーを併用する場合は、上記のポート番号が重複するため、どちらかの機能で待ち受けに使うUDPポート番号を変更する必要があります。また、これにともない、RADIUSクライアント（NAS）側でも、接続先ポート番号の設定を変更する必要があります。
Note

ローカルRADIUSサーバーはアカウンティングをサポートしていないため、認証用のポート（デフォルト1812）だけを使います。

ローカルRADIUSサーバー側の待ち受けポートを変更するには、server auth-portコマンド（RADIUSサーバーモード）を使います。
また、ローカルRADIUSサーバーにアクセスするNAS側でも接続先ポート番号の設定を適宜変更してください。

    awplus(config-radsrv)# server auth-port 11812

RADIUSプロキシー側の待ち受けポートを変更するには、proxy auth-portコマンド（RADIUSプロキシーモード）を使います。
また、RADIUSプロキシーにアクセスするNAS側でも接続先ポート番号の設定を適宜変更してください。

    awplus(config-radproxy)# proxy auth-port 11812 acct-port 11813