はじめに
このドキュメントでは、Cisco Catalyst 9800ワイヤレスLANコントローラ(WLC)のAAAキャッシュの理解および設定方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- AAA認証の概念(RADIUSプロトコル、EAPプロトコルなど)
- ワイヤレスLANコントローラ(WLC)の操作と設定のワークフロー
- 802.1X認証方式と証明書管理
- 基本的な公開キーインフラストラクチャ(PKI)と証明書署名プロセス
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- Cisco Catalyst 9800シリーズワイヤレスLANコントローラ
- ソフトウェアリリース17.18.1以降(このリリースでサポートされるAAAキャッシュ機能)
- AAA/RADIUSサーバとしてのCisco Identity Services Engine(ISE)
- 802.1X、EAP-TLS、EAP-PEAP、MAB、およびiPSKをサポートするネットワークアクセスデバイス
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
802.1Xなどの認証方式は、外部認証サーバ(RADIUSサーバなど)との通信に依存します。 ワイヤレスLANコントローラ(WLC)がサーバに到達できない場合、またはサーバが使用できない場合、ワイヤレスクライアントはSSIDに接続できないため、サービスが中断されます。WLCは、認証が成功するまでクライアントトラフィックをブロックします。
リリース17.18.1以降では、AAAキャッシュ機能により、キャッシュされた認証エントリを使用してAAAサーバが使用できなくなっても、Catalyst 9800 WLCでワイヤレスクライアントを認証できます。これにより、AAAサーバの停止中のサービス中断が大幅に減少し、シームレスなクライアント接続が維持されます。
AAAキャッシュメカニズムは、アクセスポイントがローカルモードまたはFlexConnect(中央認証)モードで動作している場合にサポートされます。
Cisco Catalyst 9800 WLCのAAAキャッシュ機能:
- 初期認証(AAAサーバが到達可能な場合):WLCはRADIUSを使用して、クライアント認証要求を設定済みのAAAサーバに転送します。サーバがAccess-Acceptを返すと、WLCはAAAキャッシュにクライアント認証の詳細をローカルに保存します。
- クライアント再接続(AAAサーバが到達不能な場合):キャッシュエントリが期限切れになる前にクライアントが再接続すると、WLCはローカルAAAキャッシュに問い合わせます。有効なキャッシュデータが存在する場合は、AAAサーバに接続せずにネットワークアクセスが許可されます。
- フェールオーバーサポート:ネットワークの問題や障害が原因でAAAサーバに到達できない場合、WLCはキャッシュデータを使用してクライアントの認証を継続し、以前に認証されたユーザが中断なくアクセスを維持できるようにします。
- Cache Lifetime and Expiry:AAAキャッシュのエントリは一時的で、設定可能です。デフォルトのキャッシュ期間は24時間です。タイマーを0に設定すると、エントリが期限切れになることはありません。キャッシュエントリの期限が切れた後にクライアントが再接続すると、WLCは認証のためにAAAサーバへの到達を試みます。
VK-WLC#show aaa cache group VK-SRV-GRP all
-----------------------------------------------------------------
IOSD AAA Auth Cache entries:
Entries in Profile dB VK-SRV-GRP for exact match:
No entries found in Profile dB
--------------------------------------------------------------------
SMD AAA Auth Cache Entries:
Total number of Cache entries is 0
WNCD AAA Auth Cache entries:
MAC ADDR: C4E9.0A00.B1B0
Profile Name: VK-CACHE
User Name: vk@wireless.com
Timeout: 28800
Created Timestamp : 09/18/25 15:28:54 UTC
Server IP Address: 10.106.37.159
AAAキャッシュでサポートされる認証タイプは次のとおりです。
- EAP-TLS
- MSCHAPv2でのEAP-PEAP
- MAC認証バイパス(MAB)、MAB+PSK、およびMAB+802.1x/iPSK
設定
手順1:WLCでのAAAサーバの追加
まず、AAA(RADIUS)サーバをワイヤレスLANコントローラに追加します。これは、GUIまたはCLIを使用して実行できます。
GUI方式の場合:Configuration > Security > AAAの順に移動し、サーバを追加します。

CLI 方式:
radius server VK-ISE
address ipv4 10.106.37.159 auth-port 1812 acct-port 1813
key Cisco123
このコマンドは、指定のIPアドレス、認証ポート、アカウンティングポート、および共有キーを持つVK-ISEという名前のRADIUSサーバエントリを作成します。
ステップ2:AAAキャッシュプロファイルの作成(CLIのみ)
AAAキャッシュプロファイルを作成して、キャッシュの動作を定義します。この手順はCLI専用です。
aaa cache profile VK-CACHE all
このコマンドは、VK-CACHEという名前のキャッシュプロファイルを作成し、サポートされているすべての認証タイプのキャッシュを有効にします。
ステップ3:サーバグループを作成し、RADIUSサーバとキャッシュプロファイルをマッピングする(CLIのみ)
RADIUSサーバグループの作成、AAAサーバの関連付け、キャッシュの期限切れの設定、許可/認証プロファイルのマッピングを行います。
aaa group server radius VK-SRV-GRP
server name VK-ISE
cache expiry 8
cache authorization profile VK-CACHE
cache authentication profile VK-CACHE
deadtime 5
radius-server dead-criteria time 5 tries 5
次のコマンドセットを使用します。
- VK-SRV-GRPという名前のサーバグループを作成します。
- VK-ISEサーバを関連付けます
- キャッシュの有効期限を8時間に設定します
- 許可プロファイルと認証プロファイルの両方をVK-CACHEにマッピングします。
- 到達不能なサーバのデッドタイムを5分に設定し、再試行ロジックのデッド基準を設定する
ステップ4:認証および許可方式の作成
認証と許可の方式リストを定義し、サーバグループとキャッシュの使用を指定します。
aaa authentication dot1x default group VK-SRV-GRP cache VK-SRV-GRP
aaa authorization network default group VK-SRV-GRP cache VK-SRV-GRP
aaa local authentication default
authorization default
aaa authorization credential-download default cache VK-SRV-GRP
これらのコマンドは、802.1X認証とネットワーク許可のデフォルト方式リストを設定し、キャッシュとサーバグループに優先順位を付けます。
RADIUSサーバを試行する前に(ユーザがすでにキャッシュされている場合に認証を高速化するために)、WLCで最初にキャッシュをチェックするには、次のコマンドを使用します。
aaa authentication dot1x default cache VK-SRV-GRP group VK-SRV-GRP
aaa authorization network default cache VK-SRV-GRP group VK-SRV-GRP
これらの方式リストを使用すると、WLCは最初にキャッシュを調べ、ユーザがキャッシュ内に見つからない場合にのみサーバと通信するため、キャッシュされたクライアントの認証が高速になります。
ステップ5:TLS認証の設定(証明書のセットアップ)
EAP-TLS認証では、WLCとAAAサーバの両方で、認証局(CA)によって署名されたサーバ証明書が必要です。
Cisco ISE(AAAサーバ)上:
- Certificates > Certificate Management > Certificate Signing Requestsの順に選択して、証明書署名要求(CSR)を生成します。

- CSRの内容をコピーし、CAによる署名を取得します

- 署名付き証明書(.cerまたは.pem形式)をダウンロードします


- 署名付き証明書ファイルを参照し、「Submit」をクリックして、ISEで証明書をバインドします。



- EAP認証のシステム証明書に署名付き証明書が反映されていることを確認します

Cisco Catalyst 9800 WLCの場合:
- WLCでのCSRの生成
- ISEに使用されるのと同じCAによって署名されたCSRを取得します。
- 署名付き証明書をWLCにアップロードします

ステップ6:ローカルEAPプロファイルの作成とトラストポイントのマッピング
ローカルEAPプロファイルを作成し、EAP-TLS認証用のトラストポイントをマッピングします。
eap profile VK-EAP
method tls
pki-trustpoint newcert
このコマンドは、EAP-TLSを使用してVK-EAPという名前のEAPプロファイルを作成し、トラストポイントをnewcertという名前の証明書にマッピングします。
GUI方式の場合:Configuration > Security > Local EAPの順に移動し、EAPプロファイルを作成します。

ステップ7:SSIDへの方式リストとEAPプロファイルの適用
作成した認証とEAPプロファイルを使用するようにSSIDを設定します。

wlan vk802.1x 2 vk802.1x
local-auth VK-EAP
radio policy dot11 24ghz
radio policy dot11 5ghz
no security ft adaptive
security dot1x authentication-list default
no shutdown
この設定は次のとおりです。
- SSID vk802.1xをWLAN ID 2で作成します。
- VK-EAPプロファイルによるローカル認証を有効にします
- 2.4 GHzと5 GHzの両方の帯域に無線ポリシーを適用
- デフォルトの方式リストを使用して802.1X認証を強制します。
- SSIDを起動します(シャットダウンなし)。
ステップ8:ワイヤレスクライアントでのユーザ証明書の展開
ワイヤレスクライアントに、認証に必要なユーザ証明書があることを確認します。ラボ環境では、Active Directory(AD)ドメインに参加しているデバイスは、MMC(Microsoft Management Console)を介して証明書を受け取ることができます。 環境に応じて、証明書を配布する方法は他にもあります。


確認
CLIコマンドを使用して、9800 WLC上のAAAキャッシュエントリを確認できます。Catalyst 9800 WLCの場合、キャッシュエントリは「SMD AAA Auth Cache entries」ではなく、「WNCD AAA Auth Cache entries」の下に表示されます。
show aaa cache group <Server Group> all
このコマンドは、WLCに保存されている現在のAAAキャッシュエントリを表示します。出力例:
WNCD AAA Auth Cache entries
---------------------------
Client MAC: 00:11:22:33:44:55
SSID: vk802.1x
User: user@domain.com
Cache Expiry: 8h
Auth Method: EAP-TLS
...
AAAサーバが使用できないときに、クライアントが再接続でき、AAAキャッシュを介して認証されることを確認します。
注:PEAP認証(EAPを使用したEAPを使用)の場合、現在の設計では、RADIUSサーバによる認証中に各ユーザのユーザ名とクレデンシャルハッシュを含むCisco AVペアを返す必要があります。
cisco-av-pair = AS-Username=testuser
cisco-av-pair = AS-Credential-Hash=F2E787D376CBF6D6DD3600132E9C215D
すべてのユーザは、RADIUSでAVペア属性を設定する必要があります。
パスワードまたはAS-Credential-Hashは、NTハッシュ形式(https://codebeautify.org/ntlm-hash-generator)である必要があります。
トラブルシュート
AAAキャッシュおよび認証の問題のトラブルシューティングには、次の手順が含まれます。
ステップ1:AAAキャッシュエントリの確認
show aaa cache group <Server Group> all
予想されるクライアントエントリがキャッシュに存在することを確認します。
ステップ2:証明書のインストールとトラストポイントの検証
show crypto pki trustpoints
show crypto pki certificates
証明書が正しくインストールされ、EAP-TLS認証の適切なトラストポイントにマッピングされていることを確認します。
ステップ3:認証方式リストの確認
show running-config | include aaa authentication
show running-config | include aaa authorization
メソッドリストが正しいサーバグループとキャッシュプロファイルを参照していることを検証します。
ステップ5:RA内部トレースの確認
2025/09/18 13:02:37.069850424 {wncd_x_R0-0}{2}: [radius] [16292]: (ERR): RADIUS/DECODE: No response from radius-server; parse response; FAIL
2025/09/18 13:02:37.069850966 {wncd_x_R0-0}{2}: [radius] [16292]: (ERR): RADIUS/DECODE: Case error(no response/ bad packet/ op decode);parse response; FAIL
2025/09/18 13:02:37.069853220 {wncd_x_R0-0}{2}: [aaa-sg-ref] [16292]: (debug): AAA/SG: Server group wrapper ref count for public group VK-SRV-GRP decreased to 6
2025/09/18 13:02:37.069853836 {wncd_x_R0-0}{2}: [aaa-sg-ref] [16292]: (debug): AAA/SG: Server group ref count for public group VK-SRV-GRP decreased to 6
2025/09/18 13:02:37.069855784 {wncd_x_R0-0}{2}: [aaa-sg-cache] [16292]: (debug): AAA/AUTHEN/CACHE: Don't cache responses with errors
2025/09/18 13:02:37.069856826 {wncd_x_R0-0}{2}: [aaa-svr] [16292]: (debug): AAA SRV(00000000): protocol reply FAIL for Authentication
2025/09/18 13:02:37.069860954 {wncd_x_R0-0}{2}: [aaa-authen] [16292]: (debug): MAC address in AAA request is c4-e9-0a-00-b1-b0
2025/09/18 13:02:37.069864992 {wncd_x_R0-0}{2}: [aaa-svr] [16292]: (debug): AAA SRV(00000000): Authen method=CACHE VK-SRV-GRP
2025/09/18 13:02:37.069868198 {wncd_x_R0-0}{2}: [ewlc-infra-evmgr] [16292]: (debug): Add message event handle: 0x5ed36139f348
2025/09/18 13:02:37.069875634 {wncd_x_R0-0}{2}: [ewlc-infra-evmgr] [16292]: (debug): Evmgr message event cb handler invoked, handle: 0x5ed36139f348
2025/09/18 13:02:37.069876688 {wncd_x_R0-0}{2}: [wncd_0] [16292]: (debug): Sanet eventQ: AAA_CACHE_EVENT, message:0
2025/09/18 13:02:37.069887794 {wncd_x_R0-0}{2}: [aaa-prof] [16292]: (debug): AAA/PROFILE/DB: Find - Found entry for user vk@wireless.com:C4E90A00B1B0:
2025/09/18 13:02:37.069955264 {wncd_x_R0-0}{2}: [aaa-sg-cache] [16292]: (debug): AAA/AUTHEN/CACHE(00000000): Secure authen type 8 cannot be authenticated directly from cacheWe may need local eap >>>> this indiates that cache/local auth is being used
2025/09/18 13:02:37.070019998 {wncd_x_R0-0}{2}: [wncd_0] [16292]: (debug): AAA Local EAP(1419) Sending the Rxd EAP packet(id 0) to EAP subsys
2025/09/18 13:02:37.070022944 {wncd_x_R0-0}{2}: [ewlc-infra-evmgr] [16292]: (debug): Add message event handle: 0x5ed36123b0c8
2025/09/18 13:02:37.070025886 {wncd_x_R0-0}{2}: [aaa-sg-cache] [16292]: (debug): AAA/AUTHEN/CACHE(00000000): PASS for username vk@wireless.com
2025/09/18 13:02:37.070028162 {wncd_x_R0-0}{2}: [ewlc-infra-evmgr] [16292]: (debug): Evmgr message event cb handler invoked, handle: 0x5ed36123b0c8参照: