はじめに
このドキュメントでは、Catalyst 9800ワイヤレスLANコントローラアクセスポイント(AP)認証ポリシーを設定する方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- 9800 WLC
- ワイヤレスコントローラへのコマンドラインインターフェイス(CLI)アクセス
使用するコンポーネント
シスコでは、次のハードウェアとソフトウェアのバージョンを推奨しています。
- 9800 WLC v17.3
- AP 1810W
- AP 1700
- Identity Service Engine(ISE)v2.2
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
アクセスポイント(AP)を認証するには、9800 Wireless LAN Controller(WLC)を使用するローカルデータベース、または外部Remote Authentication Dial-In User Service(RADIUS)サーバに対して、APのイーサネットMACアドレスを認証する必要があります。
この機能により、許可されたアクセスポイント(AP)だけがCatalyst 9800ワイヤレスLANコントローラに加入できるようになります。このドキュメントでは、コントローラに加入するためにMACフィルタエントリを必要とするが、一般的なAP認証フローをトレースしないメッシュ(1500シリーズ)APについては説明しません(参考資料を参照)。
設定
ネットワーク図
コンフィギュレーション
MAC AP認証リスト – ローカル
許可されたAPのMACアドレスは、9800 WLCにローカルに保存されます。
ステップ 1:ローカル認証クレデンシャルダウンロード方式リストを作成します。
Configuration > Security > AAA > AAA Method List > Authorization > + Addの順に移動します。
ステップ 2:APのMAC許可を有効にします。
Configuration > Security > AAA > AAA Advanced > AP Policyの順に移動します。 Authorize APs against MACを有効にし、ステップ1で作成したAuthorization Method Listを選択します。
ステップ 3:APのイーサネットMACアドレスを追加します。
Configuration > Security > AAA > AAA Advanced > Device Authentication > MAC Address > + Addの順に移動します。
注:APのイーサネットMACアドレスは、バージョン16.12のWeb UI(xx:xx:xx:xx:xx:xx(または)xxxx.xxxx.xxxx(または)xx-xx-xx-xx-xx(xx))で入力した場合、次のいずれかの形式である必要があります。バージョン17.3では、区切り文字なしでxxxxxxxxxxxxの形式にする必要があります。CLI形式は、どのバージョンでも常にxxxxxxxxxxxxです(16.12では、Web UIはconfigの区切り文字を削除します)。Cisco Bug ID CSCvv43870により、以降のリリースではCLIまたはWeb UIであらゆる形式を使用できます。
CLI:
# config t
# aaa new-model
# aaa authorization credential-download <AP-auth> local
# ap auth-list authorize-mac
# ap auth-list method-list <AP-auth>
# username <aaaabbbbcccc> mac
MAC AP認証リスト – 外部RADIUSサーバ
9800 WLCの設定
許可されたAPのMACアドレスは、外部RADIUSサーバ(この例ではISE)に保存されます。
ISEでは、APのMACアドレスをユーザ名/パスワードまたはエンドポイントとして登録できます。手順に沿って、どちらかの方法を選択して使用する方法が指示されます。
GUI:
ステップ 1:RADIUSサーバを宣言します。
Configuration > Security > AAA > Servers / Groups > RADIUS > Servers > + Addの順に移動し、RADIUSサーバの情報を入力します。
将来的に中央 Web 認証(または CoA を必要とするあらゆる種類のセキュリティ)を使用する予定がある場合は、CoA のサポートが有効になっていることを確認します。
ステップ 2:RADIUSサーバをRADIUSグループに追加します。
Configuration > Security > AAA > Servers / Groups > RADIUS > Server Groups > + Addの順に移動します。
ISEでAPのMACアドレスをユーザ名として認証するには、MAC-Filteringをnoneのままにします。
ISEでAPのMACアドレスをエンドポイントとして認証するには、MACフィルタリングをMACに変更します。
ステップ 3:認証クレデンシャルダウンロード方式リストを作成します。
Configuration > Security > AAA > AAA Method List > Authorization > + Addの順に移動します。
ステップ 4:APのMAC許可を有効にします。
Configuration > Security > AAA > AAA Advanced > AP Policyの順に移動します。 Authorize APs against MACを有効にし、ステップ3で作成したAuthorization Method Listを選択します。
CLI:
# config t
# aaa new-model
# radius server <radius-server-name>
# address ipv4 <radius-server-ip> auth-port 1812 acct-port 1813
# timeout 300
# retransmit 3
# key <shared-key>
# exit
# aaa group server radius <radius-grp-name>
# server name <radius-server-name>
# exit
# aaa server radius dynamic-author
# client <radius-server-ip> server-key <shared-key>
# aaa authorization credential-download <AP-auth> group <radius-grp-name>
# ap auth-list authorize-mac
# ap auth-list method-list <AP-ISE-auth>
ISEの設定
ステップ 1:9800 WLCをISEに追加するには、次の手順を実行します。
ISEでの9800 WLCの宣言
必要な手順を使用して、認証に基づいてAPのMACアドレスを設定します。
MACアドレスをエンドポイントとして認証するためのUSEの設定
MACアドレスをユーザ名/パスワードとして認証するためのISEの設定
MACアドレスをエンドポイントとして認証するためのISEの設定
ステップ2:(オプション)アクセスポイントのIDグループを作成します。
9800はAP認証とともにNASポートタイプ属性を送信しないため(Cisco Bug IDCSCvy74904)、 ISEはAP認証をMABワークフローとして認識しません。したがって、ISEでNAS-PORT-type属性を必要としないようにMABワークフローを変更しない限り、APのMACアドレスがエンドポイントリストに含まれている場合は、APを認証できません。
Administrator > Network device profileの順に移動し、新しいデバイスプロファイルを作成します。RADIUSを有効にし、有線MABのservice-type=call-checkを追加します。残りは、シスコの元のプロファイルからコピーできます。これは、有線MABにnasポートタイプの条件を設定しないという考え方です。
9800のネットワークデバイスエントリに戻り、プロファイルを新しく作成したデバイスプロファイルに設定します。
Administration > Identity Management > Groups > Endpoint Identity Groups > + Addの順に移動します。
名前を選択して、Submitをクリックします。
ステップ 3:APのイーサネットMACアドレスをエンドポイントIDグループに追加します。
Work Centers > Network Access > Identities > Endpoints > +の順に移動します。
必要な情報を入力します。
ステップ 4:内部エンドポイントを含むデフォルトの認証ルールで使用されているIDストアを確認します。
A. Policy > Authenticationの順に移動し、IDストアをメモします。
B. Administration > Identity Management > Identity Source Sequences > Identity Nameの順に移動します。
C.内部エンドポイントが属していることを確認します。それ以外の場合は、それらを追加します。
MACアドレスをユーザ名/パスワードとして認証するためのISEの設定
この方法では、ユーザ名と同じパスワードを許可するために低いパスワードポリシーが必要になるため、お勧めしません。
ただし、ネットワークデバイスプロファイルを変更できない場合は、回避策として使用できます。
ステップ2:(オプション)アクセスポイントのIDグループを作成します。
Administration > Identity Management > Groups > User Identity Groups > + Addの順に移動します。
名前を選択して、Submitをクリックします。
ステップ 3:現在のパスワードポリシーで、ユーザ名とパスワードとしてMACアドレスを追加できることを確認します。
Administration > Identity Management > Settings > User Authentication Settings > Password Policyの順に移動し、少なくとも次のオプションが無効になっていることを確認します。
注:パスワードを変更していない場合は、Disable user account after XX days if password was not changed.オプションを無効にすることもできます。これはMACアドレスなので、パスワードは変更されません。
ステップ 4:APのイーサネットMACアドレスを追加します。
Administration > Identity Management > Identities > Users > + Addの順に移動します。
必要な情報を入力します。
注: Name およびLogin Passwordfieldsは、APのイーサネットMACアドレスで、すべて小文字で、セパレータなしにする必要があります。
APを認証する認可ポリシー
図に示すように、Policy > Authorizationの順に移動します。
図に示すように、新しいルールを挿入します。
まず、ルールの名前と、アクセスポイント(AccessPoint)が保存されているIDグループ(AccessPoints)を選択します。 MACアドレスをユーザ名パスワードとして認証する場合はユーザIDグループを選択し、APのMACアドレスをエンドポイントとして認証する場合はエンドポイントIDグループを選択します。
その後、認可プロセスがこのルールに該当する原因となる他の条件を選択します。この例では、認可プロセスは、サービスタイプ「Call Check」を使用し、認証要求がIPアドレス10.88.173.52から送信される場合に、このルールに一致します。
最後に、そのルールに一致するクライアントに割り当てられている認可プロファイルを選択し、Doneandをクリックして図のように保存します。
注:すでにコントローラに参加しているAPは、関連付けを失いません。ただし、許可リストを有効にした後で、コントローラとの通信が失われて再加入が試行されると、認証プロセスが実行されます。MACアドレスがローカルまたはRADIUSサーバにリストされていない場合、コントローラに再接続できません。
確認
9800 WLCでAP認証リストが有効になっているかどうかを確認します。
# show ap auth-list
Authorize APs against MAC : Disabled
Authorize APs against Serial Num : Enabled
Authorization Method List : <auth-list-name>
RADIUS設定を確認します。
# show run aaa
トラブルシュート
WLC 9800には常時トレース機能があります。これにより、すべてのAP加入関連エラー、警告、および通知レベルのメッセージが継続的にログに記録され、発生後にインシデントまたは障害状態のログを表示できます。
注:生成されるログの量は、数時間から数日までさかのぼって変化します。
9800 WLCがデフォルトで収集したトレースを表示するには、次の手順でSSH/Telnet経由で9800 WLCに接続します。(セッションをテキストファイルに必ず記録してください)。
ステップ 1:コントローラの現在時刻を確認して、問題が発生した時刻までログを追跡できるようにします。
# show clock
ステップ 2:システム設定に従って、コントローラのバッファまたは外部syslogからsyslogを収集します。これにより、システムの正常性とエラー(発生している場合)をすぐに確認できます。
# show logging
ステップ 3:デバッグ条件が有効になっているかどうかを確認します。
# show debugging
IOSXE Conditional Debug Configs:
Conditional Debug Global State: Stop
IOSXE Packet Trace Configs:
Packet Infra debugs:
Ip Address Port
------------------------------------------------------|----------
注:条件が一覧表示されている場合は、有効な条件(MACアドレス、IPアドレスなど)に遭遇するすべてのプロセスについて、トレースがデバッグレベルで記録されていることを意味します。これにより、ログの量が増加します。そのため、アクティブにデバッグを行っていない場合は、すべての条件をクリアすることを推奨します。
ステップ 4:テスト対象のMACアドレスが条件としてリストされていないとします。ステップ3では、特定の無線MACアドレスのAlways-On Notice Level(EUI)トレースを収集します。
# show logging profile wireless filter { mac | ip } { <aaaa.bbbb.cccc> | <a.b.c.d> } to-file always-on-<FILENAME.txt>
セッションの内容を表示するか、ファイルを外部TFTPサーバにコピーできます。
# more bootflash:always-on-<FILENAME.txt>
or
# copy bootflash:always-on-<FILENAME.txt> tftp://a.b.c.d/path/always-on-<FILENAME.txt>
条件付きデバッグとラジオアクティブトレース
常時接続トレースで、調査中の問題のトリガーを判別するのに十分な情報が得られない場合は、条件付きデバッグを有効にして無線アクティブ(RA)トレースをキャプチャできます。これにより、指定された条件(この場合はクライアントMACアドレス)と対話するすべてのプロセスにデバッグレベルのトレースが提供されます。
ステップ 5:有効なデバッグ条件がないことを確認します。
# clear platform condition all
手順 6:モニタするワイヤレスクライアントのMACアドレスのデバッグ条件を有効にします。
このコマンドは、指定されたMACアドレスの監視を30分間(1800秒)開始します。必要に応じて、この時間を最大 2085978494 秒まで増やすことができます。
# debug wireless mac <aaaa.bbbb.cccc> {monitor-time <seconds>}
注:同時に複数のクライアントをモニタするには、MACアドレスごとにdebug wireless MAC <aaaa.bbbb.cccc>コマンドを実行します。
注:ターミナルセッションでは、すべてが後で表示できるように内部でバッファされているため、クライアントアクティビティの出力は表示されません。
手順 7:監視する問題または動作を再現します。
ステップ 8:デフォルトまたは設定されたモニタ時間が経過する前に問題が再現した場合は、デバッグを停止します。
# no debug wireless mac <aaaa.bbbb.cccc>
モニタ時間が経過するか、ワイヤレスのデバッグが停止すると、9800 WLCは次の名前のローカルファイルを生成します。
ra_trace_MAC_aaaabbbbcccc_HHMMSS.XXX_timezone_DayWeek_Month_Day_year.log
ステップ 9: MAC アドレスアクティビティのファイルを収集します。 ra trace.log を外部サーバーにコピーするか、出力を画面に直接表示できます。
RAトレースファイルの名前を確認します。
# dir bootflash: | inc ra_trace
ファイルを外部サーバーにコピーします。
# copy bootflash:ra_trace_MAC_aaaabbbbcccc_HHMMSS.XXX_timezone_DayWeek_Month_Day_year.log tftp://a.b.c.d/ra-FILENAME.txt
内容を表示します。
# more bootflash:ra_trace_MAC_aaaabbbbcccc_HHMMSS.XXX_timezone_DayWeek_Month_Day_year.log
ステップ 10:根本原因がまだ明らかでない場合は、デバッグレベルのログのより詳細なビューである内部ログを収集します。すでに収集されて内部で保存されているデバッグログをさらに詳しく調べるだけなので、クライアントを再度デバッグする必要はありません。
# show logging profile wireless internal filter { mac | ip } { <aaaa.bbbb.cccc> | <a.b.c.d> } to-file ra-internal-<FILENAME>.txt
注:このコマンド出力は、すべてのプロセスのすべてのログレベルに関するトレースを返し、非常に大量です。これらのトレースを解析する場合は、Cisco TAC にお問い合わせください。
ra-internal-FILENAME.txt を外部サーバーにコピーするか、出力を画面に直接表示できます。
ファイルを外部サーバーにコピーします。
# copy bootflash:ra-internal-<FILENAME>.txt tftp://a.b.c.d/ra-internal-<FILENAME>.txt
内容を表示します。
# more bootflash:ra-internal-<FILENAME>.txt
ステップ 11デバッグ条件を削除します。
# clear platform condition all
注:トラブルシューティングセッションの後は、必ずデバッグ条件を削除してください。
参考資料
メッシュAPの9800 WLCへの加入