はじめに
このドキュメントでは、Cisco Catalyst 9800 シリーズ ワイヤレス コントローラで 802.1X セキュリティを備えた WLAN を設定する方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- Catalyst 9800 ワイヤレス コントローラ シリーズ(Catalyst 9800-CL)
- Cisco IOS® XE 17.12.5
- Cisco ISE 3.0
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
設定
ネットワーク図

WLC の設定
9800 WLC での認証、許可、およびアカウンティング(AAA)の設定
GUI:
ステップ 1:Remote Authentication Dial-In User Service(RADIUS)サーバーを宣言します。[設定(Configuration)] > [セキュリティ(Security)] > [AAA] > [サーバー/グループ(Servers / Groups)] > [RADIUS] > [サーバー(Servers)] > [+追加(+ Add)] に移動して、RADIUS サーバー情報を入力します。 Configuration > Security > AAA > Servers / Groups > RADIUS > Servers > + Add

今後、中央Web認証(または認可変更[CoA]を必要とする任意の種類のセキュリティ)を使用する予定がある場合は、CoAのサポートが有効になっていることを確認し、CoAサーバキーを設定します。
注:Cisco 9800 WLCの認可変更(CoA)サーバキーは、WLCとRADIUSサーバ間のCoA要求の認証に使用される共有秘密です。正常に通信するには、このキーがRADIUSサーバのCoA設定と一致している必要があります。 CoAメッセージの拒否を防ぐため、すべてのデバイスでCoAサーバキーが安全かつ一貫して設定されていることを確認します。

ステップ 2:RADIUS サーバーを RADIUS グループに追加します。[設定(Configuration)] > [セキュリティ(Security)] > [AAA] > [サーバー/グループ(Servers / Groups)] > [RADIUS] > [サーバーグループ(Server Groups)] > [+追加(+ Add)] に移動します。グループに名前を付け、Assigned Servers リストにある、これまでに作成したサーバーを移動させます。 Configuration > Security > AAA > Servers / Groups > RADIUS > Server Groups > + Add.
Assigned Servers.

ステップ 3:認証方式リストを作成します。移動先: Configuration > Security > AAA > AAA Method List > Authentication > + Add.

情報を入力します。

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 authentication dot1x <dot1x-list-name> group <radius-grp-name>
AAA デッドサーバー検出に関する注意事項
RADIUS サーバーを設定したら、そのサーバーが「ALIVE」と見なされるかどうかを確認できます。
#show aaa servers | s WNCD
Platform State from WNCD (1) : current UP
Platform State from WNCD (2) : current UP
Platform State from WNCD (3) : current UP
Platform State from WNCD (4) : current UP
...
特に複数の RADIUS サーバーを使用する場合は、WLC で dead criteria と deadtime を設定できます。dead criteria,
deadtime
#radius-server dead-criteria time 5 tries 3
#radius-server deadtime 5
注:dead criteria は、RADIUS サーバーをデッド状態と指定するために使用される基準です。dead criteria
これは次のもので構成されます:1.コントローラが RADIUS サーバーから有効なパケットを最後に受け取ってから、そのサーバーがデッド状態と指定されるまでに経過する必要がある時間を示すタイムアウト(秒単位)。2.コントローラで連続何回タイムアウトが発生したら、RADIUS サーバーをデッド状態と指定するかを示すカウンタ。
注: は、dead-criteria によってサーバーがデッド状態と指定された後、サーバーがデッドステータスを維持する時間(分単位)を指定します。deadtime
このデッドタイムが経過すると、コントローラはサーバーを UP(ALIVE)としてマークし、登録クライアントに状態の変更を通知します。状態が UP に変わった後もサーバーが到達不能なままである場合、および dead criteria が満たされている場合、そのサーバーは deadtime の間隔で再びデッド状態に指定されます。
WLAN プロファイルの設定
GUI:
ステップ 1:WLAN を作成します。Configuration > Tags&Profiles > WLANs > + Addの順に移動し、必要に応じてネットワークを設定します。

ステップ 2:WLAN 情報を入力します。

ステップ 3a:[セキュリティ(Security)] タブに移動し、必要なセキュリティメソッドを選択します。この場合は、WPA2 + 802.1x になります。

3b。 WPA2+WPA3混合モードの例、
注:Cisco 9800 WLC上のWPA2+WPA3混合モードにより、最新のWPA3デバイスと従来のWPA2デバイスのシームレスな共存が可能になり、可能な限り互換性と拡張セキュリティが確保されます。Fast Transition(FT)はこのシナリオではオプションです。AKM FT+802.1xが有効になっている場合は必須です。

ステップ 4:[セキュリティ(Security)] > [AAA] タブで、9800 WLC での AAA 設定セクションのステップ 3 で作成した認証方式を選択します。Security > AAA

CLI:
# config t
# wlan <profile-name> <wlan-id> <ssid-name>
# security dot1x authentication-list <dot1x-list-name>
# no shutdown
ポリシープロファイルの設定
ポリシープロファイル内で、どの VLAN にクライアントを割り当てるかを決定できます。ここには、その他の設定(アクセス制御リスト [ACL]、Quality of Service [QoS]、モビリティアンカー、タイマーなど)もあります。
デフォルトのポリシープロファイルを使用することも、新しいプロファイルを作成することもできます。
GUI:
[設定(Configuration)] > [タグとプロファイル(Tags & Profiles)] > [ポリシープロファイル(Policy Profile)] に移動し、default-policy-profile を設定するか、新規に作成します。

プロファイルを有効にします。
また、アクセスポイント(AP)がローカルモードの場合、ポリシープロファイルで中央スイッチング、中央認証、および中央DHCPが有効になっていることを確認します。

[アクセスポリシー(Access Policies)] タブで、クライアントを割り当てる必要がある VLAN を選択します。

ISE が VLAN 割り当てなどの Access-Accept の属性を返すようにする場合は、[詳細(Advanced)] タブで AAA オーバーライドを有効にしてください。Advanced

CLI:
# config
# wireless profile policy <policy-profile-name>
# aaa-override
# central switching
# description "<description>"
# vlan <vlanID-or-VLAN_name>
# no shutdown
ポリシータグの設定
ポリシータグは、SSID をポリシープロファイルにリンクするために使用されます。新しいポリシータグを作成するか、default-policy タグを使用します。
GUI:
[設定(Configugation)] > [タグとプロファイル(Tags & Profiles)] > [タグ(Tags)] > [ポリシー(Policy)] に移動し、必要に応じて新しいものを追加します。Configugation > Tags & Profiles > Tags > Policy

WLAN プロファイルを目的のポリシープロファイルにリンクします。



CLI:
# config t
# wireless tag policy <policy-tag-name>
# wlan <profile-name> policy <policy-profile-name>
ポリシータグの割り当て
必要な AP にポリシータグを割り当てます。
GUI:
1つのAPにタグを割り当てるには、Configuration > Wireless > Access Points > AP Name > General Tags,
で該当するポリシータグを割り当て、 Update & Apply to Device.

注:AP のポリシータグが変更されると、9800 WLC へのアソシエーションがドロップされ、数分後に再び参加となることに注意してください。
複数の AP に同じポリシータグを割り当てるには、[設定(Configuration)] > [ワイヤレス設定(Wireless Setup)] > [詳細(Advanced)] > [今すぐ開始(Start Now)] > [適用(Apply)] に移動します。 Configuration > Wireless Setup > Advanced > Start Now > Apply.

タグを割り当てる AP を選択し、[+ Tag APs] をクリックします。 + Tag APs

ポリシー、サイト、および RF に適用するタグを選択し、[保存してデバイスに適用(Save & Apply to Device)] をクリックします。Save

CLI:
# config t
# ap <ethernet-mac-addr>
# policy-tag <policy-tag-name>
# end
ISE 設定
ISE での WLC の宣言
ステップ 1:ISE コンソールを開き、図に示すように [管理(Administration)] > [ネットワークリソース(Network Resources)] > [ネットワークデバイス(Network Devices)] > [追加(Add)] に移動します。Administration > Network Resources > Network Devices > Add

ステップ2.ネットワークデバイスを設定します。
必要に応じてモデル名、ソフトウェアバージョン、説明を入力し、デバイスタイプ、場所、または WLC に基づいてネットワーク デバイス グループを割り当てることができます。
この IP アドレスは、認証要求を送信する WLC インターフェイスに対応しています。これはデフォルトでは、図に示すように管理インターフェイスです。

詳細については、 Network Device Groups
『Cisco Identity Services Engine管理者ガイド』の「ネットワークデバイスの管理」の章の「ネットワークデバイスグループ
ISE での新しいユーザの作成
ステップ 1:図に示すように、[管理(Administration)] > [ID管理(Identity Management)] > [ID(Identities)] > [ユーザー(Users)] > [追加(Add)] に移動します。 Administration > Identity Management > Identities > Users > Add

ステップ2.ユーザーの情報を入力します。この例でユーザーは ALL_ACCOUNTS という名前のグループに属していますが、必要に応じて調整できます(図参照)。

認証プロファイルの作成
認証プロファイルは、条件が一致したときに返される一連の属性で構成されます。Authorization Profile
認証プロファイルは、クライアントにネットワークへのアクセス権があるかどうかを判断し、アクセス制御リスト(ACL)、VLAN オーバーライド、またはその他のパラメータをプッシュします。この例に示す認証プロファイルは、クライアントのアクセス許可を送信し、クライアントを VLAN 1416 に割り当てます。
ステップ 1:[ポリシー(Policy)] > [ポリシー要素(Policy Elements)] > [結果(Results)] > [認証(Authorization)] > [認証プロファイル(Authorization Profiles)] に移動し、[追加(Add)] ボタンをクリックします。Policy > Policy Elements > Results > Authorization > Authorization Profiles
Add

ステップ 2:図にように、値を入力します。ここでは、例として VLAN などの AAA オーバーライド属性を返すことができます。WLC 9800 は、VLAN ID または名前を使用するトンネル属性 64、65、81 を受け入れ、AirSpace-Interface-Name 属性の使用も受け入れます。AirSpace-Interface-Name

ポリシーセットの作成
ポリシーセットは、認証ルールのコレクションを定義します。作成するには、[ポリシー(Policy)] > [ポリシーセット(Policy Sets)] に移動し、リスト内の最初のポリシーセットの歯車をクリックして、次の図に示すように [上に新しい行を挿入(Insert new row above)] を選択します。Policy > Policy Sets
Insert new row above

このポリシーセットの名前を設定し、条件を作成します。この例では、条件として WLC からのトラフィックを照合することを指定しています。
Radius:NAS-IP-Address EQUALS X.X.X.X // X.X.X.X is the WLC IP address
[許可されるプロトコル/サーバーの順序(Allowed Protocols / Server Sequence)] で [デフォルトのネットワークアクセス(Default Network Access)] が選択されていることを確認します。Default Network Access
Allowed Protocols / Server Sequence

認証ポリシーの作成
認証ポリシーを設定するには、ポリシーセットの設定を入力する必要があります。これは、ポリシーセット行の右側にある青い矢印をクリックすると実行できます。Policy Set

認証ポリシーは、ユーザーのログイン情報が正しいかどうかを確認するために使用されます(ユーザーが本当に本人かどうかを確認します)。 [認証ポリシー(Authenticaton Policy)] で認証ポリシーを作成し、次の図に示すように設定します。Authenticaton Policy,
この例で使用するポリシーの条件は次のとおりです。
RADIUS:Called-Station-ID ENDS_WITH // is the SSID of your WLAN
また、この認証ポリシーの [使用(Use)] タブで [内部ユーザー(Internal Users)] を選択します。Use

認証ポリシーの作成
同じページで に移動し、新しいものを作成します。Authorization Policy
この認証ポリシーの条件は次のとおりです。
RADIUS:Called-Station-ID ENDS_WITH // is the SSID of your WLAN
このポリシーの [結果(Result)] > [プロファイル(Profiles)] タブで、以前に作成した認証プロファイルを選択します。Result > Profiles
Authorization Profile
これにより、ユーザーが認証されると、ISE は WLC に正しい属性を送信します。

この時点で、WLC と ISE のすべての設定が完了し、クライアントとの接続を試みることができます。
ISE許可プロトコルポリシーの詳細については、『Cisco Identity Services Engine Administrator Guide』の「Manage Authentication Policies」の章を参照してください。
ISEアイデンティティソースの詳細については、『Cisco Identity Services Engine Administrator Guide: Identity Sources』の「Manage Users and External Identity Sources」の章を参照してください。
確認
次のコマンドを使用して、現在の設定を確認できます。
# show run wlan // WLAN configuration
# show run aaa // AAA configuration (server, server group, methods)
# show aaa servers // Configured AAA servers
# show ap config general // AP's configurations
# show ap name <ap-name> config general // Detailed configuration of specific AP
# show ap tag summary // Tag information for AP'S
# show wlan { summary | id | name | all } // WLAN details
# show wireless tag policy detailed <policy-tag name> // Detailed information on given policy tag
# show wireless profile policy detailed <policy-profile name>// Detailed information on given policy profile
トラブルシュート
注:外部ロードバランサの使用には問題はありません。ただし、calling-station-id RADIUS属性を使用して、ロードバランサがクライアント単位で動作していることを確認してください。UDP送信元ポートに依存するメカニズムは、9800からのRADIUS要求のバランシングではサポートされていません。
WLC でのトラブルシュート
WLC 9800 は、常時オンのトレース機能を備えています。これにより、クライアント接続に関連するすべてのエラー、警告および通知レベルのメッセージが常にログに記録され、インシデントまたは障害条件の発生後にログを表示できます。
生成されるログの量によりますが、通常は数時間から数日前までさかのぼることができます。
9800 WLC がデフォルトで収集したトレースを表示するには、SSH/Telnet で 9800 WLC に接続し、次の手順を実行します(セッションをテキストファイルに記録していることを確認します)。
ステップ 1:WLC の現在時刻を確認して、問題が発生した時点までのログをトラッキングできるようにします。
# show clock
ステップ 2:システム構成に示されている、WLC のバッファまたは外部 syslog から syslog を収集します。これにより、システムの正常性とエラー(発生している場合)をすぐに確認できます。
# show logging
ステップ 3:デバッグ条件が有効になっているかどうかを確認します。
# show debugging
IOSXE Conditional Debug Configs:
Conditional Debug Global State: Stop
IOSXE Packet Tracing Configs:
Packet Infra debugs:
Ip Address Port
------------------------------------------------------|----------
注:条件がリストされている場合は、有効な条件(MAC アドレス、IP アドレスなど)が発生したすべてのプロセスについて、トレースがデバッグレベルまでログに記録されていることを意味します。 これにより、ログの量が増加します。したがって、デバッグが必要ないときは、すべての条件をクリアすることをお勧めします。
ステップ 4:テスト対象の MAC アドレスがステップ 3 の条件としてリストされていない場合は、特定の MAC アドレスの常時通知レベルのトレースを収集します。
# 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 アドレス)と相関するすべてのプロセスのデバッグレベルのトレースが可能になります。 これは、GUI または CLI を使用して実行できます。
CLI:
条件付きデバッグを有効にするには、次の手順を実行します。
ステップ 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>
モニター時間が経過するか、debug wireless が停止すると、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
注:トラブルシュートセッションの後は、必ずデバッグ条件を削除してください。
GUI:
ステップ 1:[トラブルシューティング(Troubleshooting)] > [ラジオアクティブトレース(Radioactive Trace)] > [+追加(+ Add)] に移動し、トラブルシュートするクライアントの MAC/IP アドレスを指定します。Troubleshooting > Radioactive Trace > + Add

ステップ 2:[Start(スタート)] をクリックします。
ステップ 3:問題を再現します。
ステップ 4: [Stop] をクリックします。
ステップ 5:[生成(Generate)] ボタンをクリックし、ログを取得する時間間隔を選択して、[デバイスに適用(Apply to Device)] をクリックします。Generate
Apply to Device. In this example, the logs for the last 10 minutes are requested.

手順 6:ラジオアクティブトレースをコンピュータにダウンロードし、ダウンロードボタンをクリックして検査します。

ISE でのトラブルシュート
クライアント認証で問題が発生した場合は、ISE サーバーでログを確認できます。[操作(Operations)] > [RADIUS] > [ライブログ(Live Logs)] に移動すると、認証要求のリスト、一致したポリシーセット、各要求の結果などが表示されます。Operations > RADIUS > Live Logs
図に示すように、各行の [詳細(Details)] タブの下にある虫めがねをクリックすると、詳細を表示できます。Details
