インターフェース / ポート認証
本製品は、スイッチポート上のポート認証機能としてMACベース認証とIEEE 802.1X認証(以下、802.1X認証)機能を実装しています。ポート認証機能を使用すると、スイッチポートに接続された機器やその利用者(ユーザー)を認証し、認証に成功したときだけ同機器からの通信、および、同機器への通信を許可するよう設定できます。また、ダイナミックVLAN機能により、認証に成功した機器を特定のVLANにアサインすることも可能です。
概要
ポート認証のシステムは、通常下記の3要素から成り立っています。
- Authenticator(認証者)
ポートに接続してきたSupplicant(クライアント)を認証する機器またはソフトウェア。認証に成功した場合はポート経由の通信を許可、失敗した場合はポート経由の通信を拒否する。認証処理そのものは、認証サーバー(RADIUSサーバー)に依頼する(Supplicantの情報を認証サーバーに中継して、認証結果(成功・失敗)を受け取る)。
- 802.1X認証ではEAPメッセージの交換によってSupplicantを認証する(ユーザー認証)。
- MACベース認証ではSupplicantのMACアドレスによって認証を行う(機器認証)。
- 802.1X認証ではEAPメッセージの交換によってSupplicantを認証する(ユーザー認証)。
- 認証サーバー(RADIUSサーバー)
Authenticatorの要求に応じて、Supplicantを認証する機器またはソフトウェア。ユーザー名、パスワード、MACアドレス、所属VLANなどの認証情報を一元管理している。Authenticatorとの間の認証情報の受け渡しにはRADIUSプロトコルを用いる。
- Supplicant(クライアント)
ポートへの接続時にAuthenticatorから認証を受ける機器またはソフトウェア。802.1Xの認証を受けるためには、802.1X Supplicantの機能を備えている必要がある。802.1X Supplicant機能は、一部のOSに標準装備されているほか、単体のクライアントソフトウェアとして用意されていることもある。一方、MACベースの認証を受けるために特殊な機能は必要ない。
本製品の各スイッチポートは、Authenticatorとして動作可能です。認証サーバー(RADIUSサーバー)は別途用意する必要がありますが、小規模環境では本製品内蔵のローカルRADIUSサーバーを使うこともできます(詳しくは「運用・管理」の「RADIUSサーバー」をご覧ください)。
認証方式
ポートに接続された機器(および機器を使用するユーザー。以下同様)の認証方法としては、次の3種類をサポートしています。- IEEE 802.1X認証(以下、802.1X認証)
802.1X認証は、EAP(Extensible Authentication Protocol)というプロトコルを使って、おもにユーザー単位で認証を行う仕組み。802.1X認証を利用するには、認証する側(Authenticator)と認証される側(Supplicant)の両方が802.1Xに対応している必要がある。本製品の802.1X認証モジュールが現在サポートしているEAP認証方式は次のとおり。
- EAP-MD5
- EAP-TLS
- EAP-TTLS
- EAP-PEAP
- EAP-MD5
- MACアドレスベース認証(以下、MACベース認証)
MACベース認証は、機器のMACアドレスに基づいて機器単位で認証を行う仕組み。Supplicant側に特殊な機能を必要としないため、認証サーバーにMACアドレスを登録するだけで使用できるという特徴がある。
認証方式の併用
本製品は、同一ポート上でMACベース認証と802.1X認証を併用することができます。併用時は次の順序で認証が行われます。
- MACベース認証 → 802.1X認証
併用時の動作をもう少し詳しく説明すると次のようになります(次項で述べる2ステップ認証無効時の動作)。
- MACベース認証を実施
- 任意のパケットを受信したら、その送信元MACアドレスをユーザー名およびパスワードとして、RADIUSサーバーに認証を要求
- 認証成功なら該当Supplicantに通信を許可(認証プロセス完了)
- 認証失敗なら次の認証方式に進む
- 任意のパケットを受信したら、その送信元MACアドレスをユーザー名およびパスワードとして、RADIUSサーバーに認証を要求
- 802.1X認証を実施
- 認証成功なら該当Supplicantに通信を許可(認証プロセス完了)
- 認証失敗なら該当Supplicantの通信を拒否(認証プロセス完了)
- 認証成功なら該当Supplicantに通信を許可(認証プロセス完了)
認証方式を併用する場合のポイントは次のとおりです。
- いずれか1つの方式で成功すれば認証成功となる。
- 再認証(auth reauthenticationコマンド)は、認証に成功した方式で行う
- どのホストモード(auth host-modeコマンド。詳細は後述)でも認証方式の併用が可能。
- 必ず最初にMACベース認証が行われる(パケット受信をトリガーとして自動的に行われる認証方式であるため)。
- MACベース認証に失敗しても、802.1X認証で認証失敗しないかぎり認証失敗後の待機状態にはならない
- 認証方式ごとに異なるRADIUSサーバーを使用するような設定も可能(詳細は「運用・管理」の「RADIUSクライアント」を参照)
2ステップ認証
MACベース認証と802.1X認証を併用する場合、初期設定では、前述のとおりどちらか1つの方式で認証に成功すれば通信が許可されますが、セキュリティーをより高めるため、両方の方式に成功したときだけ通信を許可するようにも設定できます。この機能は「2ステップ認証」と呼び、スイッチポートごとにauth two-step enableコマンドで有効化できます。
2ステップ認証を有効にしたポートでは、SupplicantがMACベース認証と802.1X認証の両方の認証方式を連続してパスしたときに初めて通信が許可されます。
2ステップ認証で認証成功となる組み合わせは次のとおりです。
- auth two-step orderコマンドを設定していない場合
次の順序で認証をパスすれば認証成功となります。
- MACベース認証 ○ → 802.1X認証 ○
- MACベース認証 ○ → 802.1X認証 ○
- auth two-step orderコマンドを設定している場合
同コマンドで指定した順序でパスしたときだけ認証成功となります。
順序は次の2つからどちらか一方を選択します。
- MACベース認証 ○ → 802.1X認証 ○
- 802.1X認証 ○ → MACベース認証 ○(auth two-step orderコマンド設定時のみ利用可能)
- MACベース認証 ○ → 802.1X認証 ○
次に、2ステップ認証を使用する際の留意事項を示します。
- 2ステップ認証は、Auth-fail VLAN、ゲストVLAN、ダイナミックVLANとの併用も可能です。
2ステップ認証とダイナミックVLANを併用する場合は、2つ目の認証成功時にRADIUS-Acceptパケットで指定されたVLANがアサインされます(1つ目の認証成功時に指定されたVLANは無視されます)。
- 2ステップ認証では、Supplicantが1つ目の方式で認証に成功した後、一定の時間内に2つ目の認証が行われない場合、該当Supplicantの認証情報は削除されます(次に該当Supplicantからパケットを受信した場合は、1つ目の認証方式からやりなおします)。
- 2ステップ認証が有効なポートにおいて、特定のSupplicantだけ2ステップ認証の対象外とすることも可能です。それには、auth supplicant-macコマンドで該当SupplicantのMACアドレスを指定し、port-controlパラメーターでskip-second-authオプションを指定してください。
ホストモード
ホストモードとは、ポート認証におけるスイッチポート固有の設定項目の1つです。あるポートにおいて、1台のSupplicantにだけポート越えの通信を許可するか、それとも複数のSupplicantに通信を許可するか、複数のSupplicantに通信を許可する場合はすべてのSupplicantを個別に認証するかどうかなどを制御するために使います。初期状態では、すべてのスイッチポートがSingle-Hostモードに設定されています。これは1ポート・1Supplicantの構成を想定したモードで、各ポートにおいて最初に認証をパスしたSupplicantだけが通信を許可されます。HUBなどを介して1ポートに複数のSupplicantを接続しても、2番目以降のSupplicantは通信できません。1つのポートに複数のSupplicantを接続したい場合は、ホストモードをMulti-HostモードかMulti-Supplicantモードに変更する必要があります。
ホストモードには次の3種類があり、インターフェースモードのauth host-modeコマンドで変更できます。初期設定はSingle-Hostモードです。
- Single-Hostモード(単一ホストモード)
1ポートあたり1台のみ通信を許可するモード。最初に認証をパスしたSupplicantだけに通信を許可する
- Multi-Hostモード(複数ホスト相乗りモード)
1ポートあたり複数台の通信を許可するモード。最初のSupplicantが認証をパスすると、その後に接続したSupplicantは認証を行うことなく通信できる。Multi-HostモードでダイナミックVLANを利用する場合、2番目以降のSupplicantは認証を経ず、結果的に個別の VLAN IDを割り当てられないため、最初のSupplicantのVLANがそれ以降に接続した他のSupplicantにも適用されることとなる
- Multi-Supplicantモード(複数ホスト個別認証モード)
1ポートあたり複数台の通信を許可するモード。個々のSupplicantをMACアドレスで識別し、個別に認証を行うことで1台ずつ通信の許可・拒否を決定する。Multi-SupplicantモードでダイナミックVLANを利用する場合は、最初に認証をパスしたSupplicantのVLANがそれ以降に接続した他のSupplicantにも適用される。2番目以降のSupplicantのVLAN属性が最初のSupplicantのそれと異なる場合、初期設定では認証失敗となるが、設定を変更することにより認証成功として最初のSupplicantと同じVLANを割り当てることもできる(この設定はauth dynamic-vlan-creationコマンドのruleパラメーターで行う)
基本設定
ここでは、ポート認証システムを運用するために最低限必要な設定を示します。ポート認証の設定は、おおよそ次の流れで行います。
- 認証サーバーの準備(ユーザー・機器情報の登録など)
ポート認証では、いずれの認証方式でも実際の認証をRADIUSサーバーに依頼するため、あらかじめRADIUSサーバーを用意し、ユーザー情報や機器情報(MACアドレス)を登録しておいてください。どのような情報を登録すべきかは、本解説編の「RADIUSサーバーの設定項目」のセクションで説明しています。
本製品内蔵のローカルRADIUSサーバーを利用する場合は、「運用・管理」の「RADIUSサーバー」を参照して、ローカルRADIUSサーバーの設定を済ませておいてください。
- 本製品のポート認証機能の設定
本製品のポート認証機能を使うためには、ルーターとしての基本設定以外に、最低限以下の設定が必要です。
- RADIUSクライアント機能の設定(認証サーバーの登録)
- ポート認証機能の設定
- RADIUSクライアント機能の設定(認証サーバーの登録)
ここでは、1の「認証サーバーの準備」については触れません。ご使用のRADIUSサーバーのマニュアルをご覧になるか、「運用・管理」の「RADIUSサーバー」をご覧ください。
2の「本製品のポート認証機能の設定」は、各認証方式で共通なものと異なるものがありますが、ここではごく基本的な設定にしか触れません。以下の基本設定例は、次の構成を前提としています。
WAN側・LAN側のIPアドレスや経路など、IPの基本設定までは完了しているものとします。

- すべてのポートがvlan1(デフォルトVLAN)に所属
- vlan1にはIPアドレス192.168.10.1/24を設定
- 外部のRADIUSサーバーを使用
- ポート1.0.8(vlan1)に接続
- IPアドレス:192.168.10.5
- 共有パスワード:himitsu
- ポート1.0.8(vlan1)に接続
- ポート1.0.1~1.0.4でポート認証を行う
- ダイナミックVLAN・ゲストVLANは使用しない
- ダイナミックVLAN・ゲストVLANは使用しない
MACベース認証機能の設定
本製品をMACベース認証のAuthenticatorとして使用する場合の基本設定を示します。- MACベース認証で使用するRADIUSサーバーのIPアドレスと共有パスワードを登録します。これには、radius-server hostコマンドを使います。
RADIUSクライアント機能の詳細については、「運用・管理」の「RADIUSクライアント」をご覧ください。
awplus(config)# radius-server host 192.168.10.5 key himitsu
- システム全体でMACベース認証機能を有効にします。これには、aaa authentication auth-macコマンドを使います。
awplus(config)# aaa authentication auth-mac default group radius
- ポート1.0.1~1.0.4でMACベース認証を有効にします。これには、auth-mac enableコマンドを使います。
awplus(config)# interface port1.0.1-port1.0.4 awplus(config-if)# auth-mac enable
- 複数端末を個別に認証するため、ホストモードをMulti-Supplicantモードに変更します。これには、auth host-modeコマンドを使います。
awplus(config-if)# auth host-mode multi-supplicant awplus(config-if)# exit
- デフォルトで有効になっているスパニングツリープロトコルの動作を無効にします。これにはspanning-tree enableコマンドをno形式で実行します。
- 動作モードがSTPのときは、次のようにキーワードstpを指定します。
awplus(config)# no spanning-tree stp enable - 動作モードがRSTPのときは、次のようにキーワードrstpを指定します。
awplus(config)# no spanning-tree rstp enable
- 動作モードがSTPのときは、次のようにキーワードstpを指定します。
設定は以上です。
802.1X認証機能の設定
本製品を802.1X認証のAuthenticatorとして使用する場合の基本設定を示します。- 802.1X認証で使用するRADIUSサーバーのIPアドレスと共有パスワードを登録します。これには、radius-server hostコマンドを使います。
RADIUSクライアント機能の詳細については、「運用・管理」の「RADIUSクライアント」をご覧ください。
awplus(config)# radius-server host 192.168.10.5 key himitsu
- システム全体で802.1X認証機能を有効にします。これには、aaa authentication dot1xコマンドを使います。
awplus(config)# aaa authentication dot1x default group radius
- ポート1.0.1~1.0.4で802.1X認証を有効にします。これには、dot1x port-controlコマンドでautoを指定します。
awplus(config)# interface port1.0.1-port1.0.4 awplus(config-if)# dot1x port-control auto
- 複数端末を個別に認証するため、ホストモードをMulti-Supplicantモードに変更します。これには、auth host-modeコマンドを使います。
awplus(config-if)# auth host-mode multi-supplicant awplus(config-if)# exit
設定は以上です。
応用設定
スイッチポートごとの詳細設定
ポート認証では、スイッチポートごとに各種の詳細設定が可能です。次に設定可能な項目と設定コマンドをまとめます。ここで挙げるコマンドは、スイッチポート固有の設定をするためのものなので、すべてインターフェースモードで実行します。
なお、設定項目によっては、ポート単位だけでなく、Supplicantごとに個別の設定が可能なものもあります。
全認証方式共通の設定項目
以下の項目は、対象ポートで有効化されているすべての認証方式に適用されます。| すべてのRADIUSサーバーが無応答だった場合(認証期間中にすべてのRADIUSサーバーがDead状態になった場合)、通常のポートでは認証失敗となるが、クリティカルポートとして設定したポートでは認証成功となる | |||
| ダイナミックVLANを有効にしたポートでは、認証をパスしたSupplicantを特定のVLANに動的に割り当てる。どのVLANに割り当てるかは、RADIUSサーバーから返された情報にしたがう。詳細は後述 | |||
| ゲストVLANを有効にしたポートでは、未認証のSupplicantをゲストVLANとして指定されたVLANに所属させる。通常、未認証時はポート越えの通信ができないが、ゲストVLAN所属の未認証Supplicant間であれば未認証時でも通信が可能となる。詳細は後述 | |||
| 1台のSupplicantにだけポート越えの通信を許可するか、複数のSupplicantに通信を許可するか、複数に許可する場合はすべてのSupplicantを個別に認証するかどうかなどを制御する | |||
| 複数のSupplicantに通信を許可する場合(Multi-HostモードかMulti-Supplicantモードのとき)、該当ポート配下からの通信を許可するSupplicantの最大数を指定する | |||
| 複数のSupplicantに通信を許可する場合(Multi-Supplicantモードのとき)、該当ポートのSupplicantの許可をVLANごとにひとつに制限する | |||
| 再認証有効時は、認証に成功したSupplicantを定期的に再認証する(再認証の動作は認証方式によって異なる) | |||
| 再認証有効時にSupplicantを再認証する間隔を指定する | |||
| 認証に失敗した後、該当Supplicantとの通信を拒否する期間を指定する | |||
| RADIUSサーバーに要求を送信した後、RADIUSサーバーからの応答を待つ時間を指定する | |||
| ローミング認証を有効にしたポート間では、一度認証をパスしたSupplicantが再認証を受けずに自由に移動して通信を継続できる。詳細は後述 | |||
| Auth-fail VLANを有効にしたポートでは、認証失敗したSupplicantをAuth-fail VLANとして指定されたVLANに所属させる | |||
認証方式ごとの設定項目
以下の項目は、認証方式ごとに設定を行います。特定の認証方式でしか設定できない項目もあります。| dot1x port-controlコマンド | auth-mac enableコマンド | 対象ポートで該当する認証方式を有効・無効化する | |
| なし | auth-mac method | MACベース認証時、RADIUSサーバーとの間で使用する認証方式をPAP、EAP-MD5から選択する | |
| なし | auth-mac reauth-relearningコマンド | MACベース認証で再認証を行うとき、SupplicantのMACアドレスをいったん削除して再学習するかどうかを設定する | |
| dot1x max-auth-failコマンド | なし | 何回認証に失敗したら該当Supplicantからの認証要求を一時的に拒否するかを設定する | |
| dot1x eapol-versionコマンド | なし | 802.1X認証で使用するEAPOLのバージョンを設定する | |
| dot1x max-reauth-reqコマンド | なし | 802.1X認証を行うとき、EAP Request/Identity パケットを何回まで再送するかを設定する | |
| auth timeout supp-timeoutコマンド | なし | 802.1X認証でSupplicantからの応答を待つ時間を指定する | |
| dot1x max-reqコマンド | なし | 802.1X認証を行うとき、アカウント情報(ユーザー名、パスワード)入力後の通信シーケンスにおいてタイムアウトが発生した場合に何回まで再送するかを設定する | |
Supplicantごとの設定項目
スイッチポートごとの詳細設定項目にはさらに、Supplicant単位の設定が可能なものもあります。これは、auth supplicant-macコマンドで行います。同コマンドを使用すると、特定のポートにおいて、特定のMACアドレスを持つSupplicantだけ無認証で通信を許可するなど、特定のSupplicantを特別扱いするような設定が可能です。
次にいくつか例を示します。
MACベース認証を行っているポート1.0.2~1.0.8において、MACアドレス0000.1122.3344を持つSupplicantだけは認証を行わずに常時通信を許可する。
awplus(config)# interface port1.0.2-1.0.8 awplus(config-if)# auth-mac enable awplus(config-if)# auth supplicant-mac 0000.1122.3344 port-control force-authorized
前記のポート1.0.2~1.0.8において、Supplicant「0000.f4cd.cdcd」に対してのみ再認証を行うよう設定する(ポート単位では再認証の設定をしていないと仮定します)。
awplus(config)# interface port1.0.2-1.0.8 awplus(config-if)# auth supplicant-mac 0000.f4cd.cdcd reauthentication
前記のポート1.0.2~1.0.8において、Supplicant「0000.1122.3344」の特別扱いをやめる。
awplus(config)# interface port1.0.2-1.0.8 awplus(config-if)# no auth supplicant-mac 0000.1122.3344
ポート認証設定のテンプレート化
ポート認証機能を使用するときの、各ポートへ入力する設定コマンドのテンプレート化が可能です。通常、ポート認証機能を使用する際は、複数のコマンドを設定する必要がありますが、本機能を使用することで、複数のコマンドをテンプレートにまとめることが可能になり、ポートへはテンプレートのみの設定で済みます。
これにより、複数の認証ポートの作成を効率化することができます。
ポート認証設定のテンプレート化は、次の手順で行います。
- ポート認証プロファイルを作成します。グローバルコンフィグモードのauth profileコマンド使って、プロファイル名(テンプレート名)を作成します。
awplus(config)# auth profile macauth - プロファイル(テンプレート)内に含めたいコマンドを入力します(プロファイルに含めることができるコマンドは、「ポート認証プロファイルモード」のコマンドのみです)。
awplus(config-auth-profile)# auth-mac enable awplus(config-auth-profile)# auth host-mode multi-supplicant awplus(config-auth-profile)# auth max-supplicant 5
設定は以上です。
あとはインターフェースモードのauth profileコマンドで、作成したプロファイル(テンプレート)を設定したいポートに添付することで、テンプレート化したポート認証設定が行えます。
例:ポート「1.0.5~1.0.8」への「macauth」テンプレートの添付設定例
awplus(config)# interface port1.0.5-1.0.8 awplus(config-if)# auth profile macauth
ダイナミックVLAN
ダイナミックVLANは、RADIUSサーバーから受け取った認証情報に基づいてポートの所属VLANを動的に変更する機能です。ダイナミックVLANの基本的な動作は次のとおりです。
なお、以下の説明において「本来のVLAN」とはswitchport access vlanコマンドで指定したVLANのことを指します。
Single-Hostモード時は、下記のルールにしたがい1台目のSupplicantが認証をパスしてVLANを割り当てられると、該当ポートは認証済み状態、かつ、1台目のSupplicantに割り当てられたVLANの所属となります。2台目以降のSupplicantは無視され、認証を受けられないため、ポート越えの通信もできません。
| 未認証 | ゲストVLANなし | 本来のVLAN | 不可 |
| ゲストVLANあり | ゲストVLAN | ゲストVLAN内のみ可 | |
| 認証済み | VLAN通知あり | RADIUSサーバーから通知されたVLAN | 制限なし |
| VLAN通知なし | 本来のVLAN | ||
- 未認証(認証前、認証失敗後、および、未認証固定)ポートの動作は、ゲストVLAN(詳細は次節)の有効・無効によって異なります。
- ゲストVLAN無効時、未認証ポートは本来のVLAN所属となります。ポート越えの通信は不可能です。
- ゲストVLAN有効時、未認証ポートはゲストVLAN所属となります。ゲストVLANと同一のVLAN内にかぎり、ポート越えの通信(スイッチング)が可能です。
- ゲストVLAN無効時、未認証ポートは本来のVLAN所属となります。ポート越えの通信は不可能です。
- RADIUSサーバーからのAccess-Acceptメッセージで有効なVLAN(製品上に登録されているVLAN)の情報が返ってきた場合、ポートはそのVLANの所属となります。認証成功となるため、ポート越えの通信も可能です。
- RADIUSサーバーからのAccess-Acceptメッセージで無効なVLAN(製品上に登録されていないVLAN)の情報が返ってきた場合、ポート認証機能としては認証失敗となります。そのため、ポートの所属は未認証時のもの(1.を参照)となります。
- RADIUSサーバーからのAccess-AcceptメッセージにVLANの情報が含まれていなかった場合、ポートは本来のVLAN所属となります。認証成功となるため、ポート越えの通信も可能です。
- 認証済みに固定設定されたポートは、本来のVLAN所属となります。認証済みなので、ポート越えの通信も可能です。
- 該当ポートまたはシステム全体でポート認証が無効に設定された場合、ポートは本来のVLAN所属となります。ポート認証が無効なので、ポート越えの通信に関する制限はありません。
Multi-Hostモードでは、前記ルールにしたがい1台目のSupplicantが認証をパスしてVLANを割り当てられると、該当ポートは認証済み状態、かつ、1台目のSupplicantに割り当てられたVLANの所属となります。Single-Hostモードと異なり、2台目以降のSupplicantは認証を受けることなくポート越えの通信が可能となります。なお、2台目以降は認証を受けないのでRADIUSサーバーからVLAN情報を受け取ることもなく、結果的に1台目と同じVLAN所属で通信することとなります。
Multi-Supplicantモードでは、前記ルールにしたがい1台目のSupplicantが認証をパスしてVLANを割り当てられると、該当ポートは認証済み状態、かつ、1台目のSupplicantに割り当てられたVLANの所属となります。Single-HostモードやMulti-Hostモードとは異なり、2台目以降のSupplicantも個別に認証を受けますが、2台目以降のSupplicantへのVLAN割り当てルールは、auth dynamic-vlan-creationコマンドのruleパラメーターによって、次の2つから選択できます。
- rule deny(初期設定)
2台目以降のSupplicantに対してRADIUSサーバーが返してきたVLANが、1台目のSupplicantと異なる場合、該当Supplicantは認証失敗となります。
- rule permit
2台目以降のSupplicantに対してRADIUSサーバーが返してきたVLANが、1台目のSupplicantと異なる場合であっても、該当Supplicantを認証成功とします。ただし、該当Supplicantの所属VLANは1台目のSupplicantと同じになります(RADIUSサーバーの返却してきたVLAN情報は無視される)。
ポートがダイナミックVLANにアサインされているときは、switchport access vlanコマンドで該当ポートの所属VLANを変更することはできません。ポートがダイナミックVLANから本来のVLANに戻るのは、次のときです。
- 認証済みのSupplicantがいなくなったとき
- リンクがダウンしたとき
- ポート上でポート認証が無効にされたとき
- システム上でポート認証が無効にされたとき
以下では、本製品をAuthenticatorとして使用し、さらにダイナミックVLAN機能を利用する場合の基本設定を示します。Authenticatorとしての動作には、IPの設定とRADIUSサーバーの指定が必須です。
ここでは、次のVLANをあらかじめ作成しておきます。
| vlan10 | 1.0.1 | 固定 | RADIUSサーバー設置 | 172.16.10.1/24 |
| vlan100 | (1.0.2-1.0.8) | 動的(ダイナミックVLAN) | 認証済みSupplicant収容 | 172.16.100.1/24 |
| vlan200 | 動的(ダイナミックVLAN) | 認証済みSupplicant収容 | 172.16.200.1/24 | |
| vlan240 | 1.0.2-1.0.8 | 固定 | 未認証Supplicant収容 | 172.16.240.1/24 |
ここでは、ポート1.0.2~1.0.8でMACベース認証を行うものとします。
SupplicantのためのVLANは、vlan100、vlan200、vlan240の3つです。
接続した直後のSupplicantは未認証のため、ポート本来のVLAN所属となります。本例では、認証を行うポートをvlan240に所属させておくことで、未認証Supplicantがvlan240所属になるようにします。なお、本例ではゲストVLANを設定していないため、vlan240の所属ポート間での通信はできません。
認証をパスしたSupplicantは、RADIUSサーバー側から返されたVLAN IDの情報に基づき、自動的にvlan100、vlan200のどちらかにアサインされます。また、DHCPサーバーの設定により、割り当てられるIPアドレスも172.16.100.200~172.16.100.240(vlan100のとき)か、172.16.200.200~172.16.200.240(vlan200のとき)のどちらかに変更されます。
- VLANを作成します。
ダイナミックVLANによってSupplicantに割り当てるVLANは、あらかじめvlanコマンドで定義しておく必要があります。
awplus(config)# vlan database awplus(config-vlan)# vlan 10 name FixedVLAN10 awplus(config-vlan)# vlan 100 name DynamicVLAN100 awplus(config-vlan)# vlan 200 name DynamicVLAN200 awplus(config-vlan)# vlan 240 name InitialFixedVLAN240 awplus(config-vlan)# exit
- 各スイッチポートをVLANに割り当てます。
ここでは、RADIUSサーバーを収容するポート1.0.1をvlan10に、ポート認証を行う1.0.2~1.0.8をvlan240に割り当てています。
vlan100とvlan200はダイナミックVLAN用なので、これらのVLANにポートを固定で割り当てることはしません。
awplus(config)# interface port1.0.1 awplus(config-if)# switchport access vlan 10 awplus(config-if)# exit awplus(config)# interface port1.0.2-1.0.8 awplus(config-if)# switchport access vlan 240 awplus(config-if)# exit
- 各VLANインターフェースにIPアドレスを設定します。
awplus(config)# interface vlan10 awplus(config-if)# ip address 172.16.10.1/24 awplus(config-if)# exit awplus(config)# interface vlan100 awplus(config-if)# ip address 172.16.100.1/24 awplus(config-if)# exit awplus(config)# interface vlan200 awplus(config-if)# ip address 172.16.200.1/24 awplus(config-if)# exit awplus(config)# interface vlan240 awplus(config-if)# ip address 172.16.240.1/24 awplus(config-if)# exit
- RADIUSサーバーのIPアドレスと共有パスワードを指定します。
awplus(config)# radius-server host 172.16.10.2 key himitsu
- Supplicantを収容するvlan100、vlan200、vlan240では、DHCPサーバー機能を使ってIPアドレスの動的割り当てを行うよう設定します。vlan240用のDHCPプールでは、リース時間を最小の20秒に設定しています。これは、ダイナミックVLANによって所属VLANが変更された場合に、クライアントのIPアドレスもすばやく変更されるようするためです。
awplus(config)# ip dhcp pool DynamicVLAN100 awplus(dhcp-config)# network 172.16.100.0/24 awplus(dhcp-config)# range 172.16.100.200 172.16.100.240 awplus(dhcp-config)# default-router 172.16.100.1 awplus(dhcp-config)# lease 0 2 0 awplus(dhcp-config)# subnet-mask 255.255.255.0 awplus(dhcp-config)# exit awplus(config)# ip dhcp pool DynamicVLAN200 awplus(dhcp-config)# network 172.16.200.0/24 awplus(dhcp-config)# range 172.16.200.200 172.16.200.240 awplus(dhcp-config)# default-router 172.16.200.1 awplus(dhcp-config)# lease 0 2 0 awplus(dhcp-config)# subnet-mask 255.255.255.0 awplus(dhcp-config)# exit awplus(config)# ip dhcp pool InitialFixedVLAN240 awplus(dhcp-config)# network 172.16.240.0/24 awplus(dhcp-config)# range 172.16.240.200 172.16.240.240 awplus(dhcp-config)# default-router 172.16.240.1 awplus(dhcp-config)# lease 0 0 0 20 awplus(dhcp-config)# subnet-mask 255.255.255.0 awplus(dhcp-config)# exit awplus(config)# service dhcp-server
- システム全体でMACベース認証を有効にします。
awplus(config)# aaa authentication auth-mac default group radius
- ポート1.0.2~1.0.8でMACベース認証を行うよう設定し、ダイナミックVLANを有効にします。
awplus(config)# interface port1.0.2-1.0.8 awplus(config-if)# auth-mac enable awplus(config-if)# auth dynamic-vlan-creation
設定は以上です。
ゲストVLAN
ゲストVLANは、未認証時にのみ割り当てられる、同一VLAN内での通信が可能なVLANです。ゲストVLANを設定していない場合、未認証の状態ではたとえ同一VLAN所属のポート間であっても通信できませんが、これらのポートに対して同じゲストVLANを設定しておけば、未認証状態でもゲストVLAN内にかぎって通信が可能になります。なお、認証にパスした後は、ゲストVLANではなくポート本来のVLAN、あるいは、ダイナミックVLANによって割り当てられたVLANの所属となります。
次に例を挙げながらゲストVLANの動作について説明します。
- ゲストVLANなし(ダイナミックVLANなし)の場合
awplus(config)# vlan database awplus(config-vlan)# vlan 240 awplus(config-vlan)# exit awplus(config)# aaa authentication auth-mac default group radius awplus(config)# interface port1.0.2-port1.0.8 awplus(config-if)# switchport access vlan 240 awplus(config-if)# auth-mac enable
この設定では、ポート1.0.2~1.0.8本来の所属はvlan240です。
- 未認証時
ゲストVLANの設定はされていないため、これらのポートに接続された未認証のSupplicantはvlan240の所属となります。これらのポートはすべて同一VLANですが、未認証のSupplicantがポートを越えて通信することはできません。
- 認証成功後
ダイナミックVLANの設定はされていないため、認証にパスした後も所属VLANは変わらずvlan240のままですが、ポート認証機能による通信上の制限はなくなります(未認証のSupplicantとの通信は不可)。
- 未認証時
- ゲストVLANなし(ダイナミックVLANあり)の場合
awplus(config)# vlan database awplus(config-vlan)# vlan 100,200,240 awplus(config-vlan)# exit awplus(config)# aaa authentication auth-mac default group radius awplus(config)# interface port1.0.2-port1.0.8 awplus(config-if)# switchport access vlan 240 awplus(config-if)# auth-mac enable awplus(config-if)# auth dynamic-vlan-creation
この設定では、ポート1.0.2~1.0.8本来の所属はvlan240です。
- 未認証時
ゲストVLANの設定はされていないため、これらのポートに接続された未認証のSupplicantはvlan240の所属となります。これらのポートはすべて同一VLANですが、未認証のSupplicantがポートを越えて通信することはできません。
- 認証成功後
ダイナミックVLANの設定がされているため、認証にパスした後はダイナミックVLANによって割り当てられたVLANの所属となります。ポート認証機能による通信上の制限もなくなります(未認証のSupplicantとの通信は不可)。
- 未認証時
- ゲストVLANあり(ダイナミックVLANなし)の場合
awplus(config)# vlan database awplus(config-vlan)# vlan 240,248 awplus(config-vlan)# exit awplus(config)# aaa authentication auth-mac default group radius awplus(config)# interface port1.0.2-port1.0.8 awplus(config-if)# switchport access vlan 240 awplus(config-if)# auth-mac enable awplus(config-if)# auth guest-vlan 248
この設定では、ポート1.0.2~1.0.8本来の所属はvlan240です。
- 未認証時
ゲストVLANとしてvlan248が指定されているため、これらのポートに接続された未認証のSupplicantはvlan248の所属となります。未認証のSupplicant同士は通信できますが、vlan248以外との通信ではできません(認証済みのSupplicantはゲストVLANから抜けるため未認証Supplicantと認証済みSupplicantの間では通信できません)。
- 認証成功後
ダイナミックVLANの設定はされていないため、認証にパスした後は本来のVLANであるvlan240の所属となり、ポート認証機能による通信上の制限もなくなります(未認証のSupplicantとの通信は不可)。
- 未認証時
- ゲストVLANあり(ダイナミックVLANあり)の場合
awplus(config)# vlan database awplus(config-vlan)# vlan 100,200,240,248 awplus(config-vlan)# exit awplus(config)# aaa authentication auth-mac default group radius awplus(config)# interface port1.0.2-port1.0.8 awplus(config-if)# switchport access vlan 240 awplus(config-if)# auth-mac enable awplus(config-if)# auth guest-vlan 248 awplus(config-if)# auth dynamic-vlan-creation
この設定では、ポート1.0.2~1.0.8本来の所属はvlan240です。
- 未認証時
ゲストVLANとしてvlan248が指定されているため、これらのポートに接続された未認証のSupplicantはvlan248の所属となります。未認証のSupplicant同士は通信できますが、vlan248以外との通信ではできません(認証済みのSupplicantはゲストVLANから抜けるため未認証Supplicantと認証済みSupplicantの間では通信できません)。
- 認証成功後
ダイナミックVLANの設定がされているため、認証にパスした後はダイナミックVLANによって割り当てられたVLANの所属となります。ポート認証機能による通信上の制限もなくなります(未認証のSupplicantとの通信は不可)。
- 未認証時
Auth-fail VLAN
Auth-fail VLANは、認証失敗時に割り当てられるVLANです。ハードウェアパケットフィルターを設定しAuth-fail VLANにアサインされたクライアントのアクセス制御が可能です。Auth-fail VLANの設定は、auth auth-fail vlanコマンドで行います。
ローミング認証
初期設定では、あるポートで認証をパスしたSupplicantが別の認証ポートに移動すると、移動前のポートから該当Supplicantの認証情報が削除され、移動先のポートで新たに認証を受けることになります。一方、ローミング認証を有効化した認証ポート間では、一度認証をパスしたSupplicantが新たに認証を受けずに自由に移動して通信を継続できます。
ローミング認証の基本的な仕様は次のとおりです。
- ローミング認証を行うポートはすべて同一の認証設定でなくてはならない。移動前と移動後のポートで認証関連の設定が異なる場合、移動先でSupplicantは再認証を受ける。
- 同一の認証設定であっても移動前と移動先のポートで所属VLANが異なる場合、移動先でSupplicantは再認証を受ける。
- MACベース認証が有効なポートから、認証が無効なポートに移動すると、移動前のポートからSupplicantの情報が削除される。そのため、その後再び元のポートに移動したときは認証を受ける。
- ローミング認証を有効にしたポートであっても、移動前のポートがリンクダウンする場合はSupplicant情報が初期化されるため移動先で新たに認証を受ける必要がある。
ローミング認証を有効化するには、auth roaming enableコマンドを使います。たとえば、MACベース認証が有効化されているポート1.0.2~1.0.8でローミング認証を有効化するには、次のようにします。
awplus(config)# interface port1.0.2-port1.0.8 awplus(config-if)# auth roaming enable
アカウンティング(利用記録)
ポート認証機能では、アカウンティングをサポートしているRADIUSサーバーを利用して、Supplicantのログイン・ログアウトを記録することもできます。初期設定ではアカウンティングは無効です。アカウンティングの有効化は、認証方式ごとに行います。
802.1X認証Supplicantのアカウンティングを有効にするには、aaa accounting dot1xコマンドを使います。ここでは、ログインとログアウトの両方を記録するため、対象イベントとしてstart-stopを指定しています。また、radius-server hostコマンドで登録したRADIUSサーバーを順に試行させるため、デフォルトのサーバーグループであるgroup radiusを指定しています。
awplus(config)# aaa accounting dot1x default start-stop group radius
MACベース認証Supplicantのアカウンティングを有効にするには、aaa accounting auth-macコマンドを使います。コマンドの使い方は802.1Xと同じです。
awplus(config)# aaa accounting auth-mac default start-stop group radius
認証方式ごとに異なるRADIUSアカウンティングサーバーを使用する方法など、詳しい設定については、「運用・管理」の「RADIUSクライアント」をご覧ください。
RADIUSサーバーの設定項目
ポート認証機能を利用するために必要なRADIUSサーバー(認証サーバー)の設定項目について簡単に説明します。802.1X認証
802.1X認証において、ダイナミックVLANを使用しないときは、ユーザーごとに下記の照合用属性を定義してください。| User-Name | ユーザー名 | 認証対象のユーザー名(例:"user1", "userB") |
| User-Password | パスワード | ユーザー名に対応するパスワード(例:"dbf8a9hve", "h1mi2uDa4o")。EAP-TLS使用時は不要(代わりにユーザー電子証明書の用意が必要) |
また、認証方式としてPEAP(EAP-MSCHAPv2)、EAP-TLS、EAP-TTLSを使う場合は、それぞれ下記の電子証明書を用意し、各機器上にインストールしておく必要があります。詳細はRADIUSサーバーおよびSupplicant(OSや専用ソフトウェアなど)のマニュアルをご参照ください。
| PEAP | Supplicant | 認証サーバー | 不要 |
| EAP-TLS | Supplicantと認証サーバー | 認証サーバー | Supplicant |
| EAP-TTLS | Supplicant | 認証サーバー | 不要 |
MACベース認証
MACベース認証において、ダイナミックVLANを使用しないときは、機器ごとに下記の照合用属性を定義してください。| User-Name | MACアドレス | 認証対象機器のMACアドレス。初期設定では「00-00-f4-11-22-33」の形式(ハイフンあり、a~fは小文字)だが、auth-mac usernameコマンドでハイフンの有無と大文字・小文字を変更できる |
| User-Password | MACアドレスまたは共通パスワード | 認証対象機器のMACアドレス。通常は機器ごとにUser-Nameと同じ値を指定する。ただし、auth-mac passwordコマンドを設定している場合は、すべての機器に対して同コマンドで設定した共通パスワードを指定すること |
ダイナミックVLAN(各認証方式共通)
802.1X認証、MACベース認証でダイナミックVLANを使用するときは、前述の照合用属性に加え、返却用属性として下記の3属性を追加設定してください。| Tunnel-Type | VLAN (13) | 固定値。指定方法はサーバーに依存 |
| Tunnel-Medium-Type | IEEE-802 (6) | 固定値。指定方法はサーバーに依存 |
| Tunnel-Private-Group-ID | VLAN IDかVLAN名 | 認証対象のユーザーや機器が認証をパスした後に所属させるVLANのIDか名前(例:10, "sales") |
| Egress-VLANID | VLANタグの有無とVLAN ID | 属性値の先頭オクテットが 0x32(ASCIIの「2」)ならタグなし、0x31(ASCIIの「1」)ならタグ付きを示す |
| Egress-VLAN-Name | VLANタグの有無とVLAN名 | 属性値の先頭オクテットが 0x32(ASCIIの「2」)ならタグなし、0x31(ASCIIの「1」)ならタグ付きを示す |
「Egress-VLANID」、「Egress-VLAN-Name」を指定する場合は、属性値の先頭をタグなしを示す 0x32(ASCIIの「2」)に設定してください。
タグ付きポートでは各Supplicantに対し、「Egress-VLANID」か「Egress-VLAN-Name」を指定してください。これらの属性は1つのSupplicantに対して複数指定することも可能です(1つのSupplicantに複数のVLANをアサインできます)。
「Egress-VLANID」、「Egress-VLAN-Name」のどちらの場合でも、属性値の先頭をタグ付きを示す 0x31(ASCIIの「1」)に設定してください。
RADIUS Dynamic Authorization
本製品は、RADIUSプロトコルを通じてユーザーセッションの切断や認可属性の変更を可能にするRADIUS Dynamic Authorization拡張に対応しています。本製品がサポートしているDynamic Authorization(DA)メッセージの種類と、各メッセージの受信時に実行するアクションは次のとおりです。
- Disconnect メッセージ - 指定されたSupplicantを切断します。
- Change-of-Authorization (CoA) メッセージ - 指定されたSupplicantの所属VLANを変更(ダイナミックVLAN使用時)、または、指定されたSupplicantの接続ポートをダウン・アップ(Port Bounce)します。
使用方法
本機能を使用するには、本製品とDAメッセージの送信元(Dynamic Authorizationクライアント)の両方に設定が必要です。本製品側では、radius dynamic-authorization-clientコマンドでDynamic Authorizationクライアントを登録します。
同コマンドではDynamic AuthorizationクライアントのIPv4アドレスと共有パスワードを指定してください。
awplus(config)# radius dynamic-authorization-client 172.16.10.2 key heMeetsTwo!
Dynamic Authorizationクライアント側では、Disconnectメッセージ、CoAメッセージ内に、セッション(本製品・Supplicantの組み合わせ)を特定するためのRADIUS属性を少なくとも1つ含める必要があります。また、VLAN変更のためのCoAメッセージ内には、変更後のVLANを指定するためのRADIUS属性も含める必要があります。
- セッションを特定するための属性(1つ以上指定)
- 本製品
- NAS-IP-Address (4) - 本製品のIPv4アドレス
- NAS-Identifier (32) - 本製品の識別子(auth radius send nas-identifierコマンドで設定する必要があります)
- NAS-IP-Address (4) - 本製品のIPv4アドレス
- Supplicant
- User-Name (1) - Supplicantの認証ユーザー名
- NAS-Port (5) - Supplicantが接続されている本製品のポートのインターフェースインデックス番号(ifIndex)(参照:show interfaceコマンド)
- Framed-IP-Address (8) - SupplicantのIPv4アドレス
- Called-Station-Id (30) - 本製品のMACアドレス
- Calling-Station-Id (31) - SupplicantのMACアドレス
- Acct-Session-Id (44) - アカウンティングセッションID
- User-Name (1) - Supplicantの認証ユーザー名
- 本製品
- (CoAのみ)変更後のVLANを指定するための属性
- タグなしポート(いずれか1つだけ指定)
- Egress-VLANID (56) - VLANタグの有無とVLAN ID
- Egress-VLAN-Name (58) - VLANタグの有無とVLAN名
- Tunnel-Private-Group-ID (81) - VLAN IDかVLAN名
- Egress-VLANID (56) - VLANタグの有無とVLAN ID
- タグ付きポート(複数の指定が可能)
- Egress-VLANID (56) - VLANタグの有無とVLAN ID
- Egress-VLAN-Name (58) - VLANタグの有無とVLAN名
- Egress-VLANID (56) - VLANタグの有無とVLAN ID
- タグなしポート(いずれか1つだけ指定)
設定や状態の確認
ポート認証機能の全般的な情報は、show authコマンド、show dot1xコマンドで確認します。たとえば、ポート1.0.2における802.1X認証の情報を確認したいときは次のようにします。
awplus# show dot1x interface port1.0.2
Supplicantの情報は、show auth supplicantコマンド、show dot1x supplicantコマンドで確認します。
たとえば、ポート1.0.2上の802.1X Supplicantを確認したいときは次のようにします。
awplus# show dot1x supplicant interface port1.0.2
briefオプションを付けると簡素な表示になります。
awplus# show dot1x supplicant interface port1.0.2 brief
Supplicantのログイン情報は、show auth sessionstatisticsコマンド、show dot1x sessionstatisticsコマンドで確認します。
たとえば、ポート1.0.2上の802.1X Supplicantのログイン情報を確認したいときは次のようにします。
awplus# show dot1x sessionstatistics interface port1.0.2