はじめに
このドキュメントでは、Cisco Spacesのキャプティブポータルを設定する方法について説明します。
前提条件
このドキュメントでは、Catalyst 9800ワイヤレスLANコントローラ(C9800 WLC)上のクライアントが、外部Web認証ログインページとしてスペースを使用できるようにします。
要件
次の項目に関する知識があることが推奨されます。
- 9800ワイヤレスコントローラへのコマンドラインインターフェイス(CLI)またはグラフィックユーザインターフェイス(GUI)アクセス
- Cisco Spaces
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- 9800-Lコントローラバージョン16.12.2s
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
Web認証は、サプリカントやクライアントユーティリティを必要としないシンプルなレイヤ3認証方式です。これは可能です
a) C9800 WLCの内部ページをそのまま使用するか、変更を投稿します。
b)カスタマイズされたログインバンドルをC9800 WLCにアップロードする。
c)外部サーバでホストされるカスタムログインページ。
Spacesが提供するキャプティブポータルを活用することは、基本的にC9800 WLC上のクライアントに外部Web認証を実装する方法です。
外部Web認証プロセスの詳細については、「Cisco Catalyst 9800シリーズコントローラでのWebベース認証」を参照してください。
C9800 WLCでは、仮想IPアドレスはグローバルパラメータマップで定義され、通常は192.0.2.1です
設定
ネットワーク図
9800コントローラをシスコスペースに接続
コントローラは、直接接続、スペースコネクタ経由、またはCMXテザリングのいずれかのオプションを使用してスペースに接続する必要があります。
この例では、Direct Connectオプションが使用されていますが、キャプティブポータルはすべてのセットアップで同じ方法で設定されています。
コントローラをCisco Spacesに接続するには、HTTPS経由でCisco Spaces Cloudに到達できる必要があります。9800コントローラをスペースに接続する方法の詳細については、『スペース – 9800コントローラの直接接続』を参照してください。
スペースでのSSIDの作成
ステップ 1:スペースのダッシュボードでキャプティブポータルをクリックします。
ステップ 2:キャプティブポータル固有のメニューを開き、ページの左上隅にある3行のアイコンをクリックして、SSIDをクリックします。
ステップ 3:Import/Configure SSIDをクリックし、Wireless Network typeとしてCUWN (CMX/WLC)を選択して、SSID名を入力します。
9800コントローラでのACLおよびURLフィルタの設定
ワイヤレスクライアントからのトラフィックは、認証が完了するまでネットワーク上で許可されません。Web認証の場合、これを完了するために、ワイヤレスクライアントがこのSSIDに接続してIPアドレスを受け取ると、クライアントポリシーマネージャの状態はWebauth_reqdの状態に移行します。クライアントはまだ認証されていないため、DHCP、DNS、およびHTTP(インターセプトされ、リダイレクトされる)を除き、クライアントIPアドレスを送信元とするすべてのトラフィックはドロップされます。
デフォルトでは、Web認証WLANの設定時に9800はハードコードされた事前認証ACLを作成します。これらのハードコードされたACLは、DHCP、DNS、および外部Web認証サーバへのトラフィックを許可します。残りはすべて、HTTPトラフィックと同様にリダイレクトされます。
ただし、特定の非HTTPトラフィックタイプの通過を許可する必要がある場合は、事前認証ACLを設定できます。次に、既存のハードコードされた事前認証ACLの内容(このセクションのステップ1以降)を模倣し、必要に応じて拡張する必要があります。
ステップ 1:現在のハードコードされたACLを確認します。
CLI による設定:
Andressi-9800L#show ip access list
Extended IP access list WA-sec-10.235.248.212
10 permit tcp any host 10.235.248.212 eq www
20 permit tcp any host 10.235.248.212 eq 443
30 permit tcp host 10.235.248.212 eq www any
40 permit tcp host 10.235.248.212 eq 443 any
50 permit tcp any any eq domain
60 permit udp any any eq domain
70 permit udp any any eq bootpc
80 permit udp any any eq bootps
90 deny ip any any
Extended IP access list WA-v4-int-10.235.248.212
10 deny tcp any host 10.235.248.212 eq www
20 deny tcp any host 10.235.248.212 eq 443
30 permit tcp any any eq www
40 permit tcp any host 192.0.2.1 eq 443
WA-sec-10.235.248.212は、自動Web認証(WA)セキュリティ(sec)ACLまたはポータルIP 10.235.248.212であるため、そのように呼ばれます。 セキュリティACLは、許可(permit)またはドロップ(deny)を定義します。 Wa-v4-intは代行受信ACL、つまりパントACLまたはリダイレクトACLであり、リダイレクト(permitで)のCPUに送信される情報、またはデータプレーン(denyで)に送信される情報を定義します。
WA-v4-int10.235.248.212は、最初にクライアントから着信するトラフィックに適用され、データプレーンのSpaces portal IP 10.235.248.212へのHTTP(s)トラフィックを保持します(まだドロップまたは転送アクションはなく、データプレーンへのハンドオーバーのみ)。すべてのHTTP(s)トラフィックは、CPUに送信されます(リダイレクト用。Webサーバによって処理される仮想IPトラフィックは除く)。その他のタイプのトラフィックはデータプレーンに割り当てられます。
WA-sec-10.235.248.212では、Web認証パラメータマップで設定したCisco DNA空間IP 10.235.248.212へのHTTPおよびHTTPSトラフィックが許可され、DNSおよびDHCPトラフィックも許可され、残りはドロップされます。代行受信されるHTTPトラフィックは、このACLに到達する前にすでに代行受信されているため、このACLの対象である必要はありません。
注:スペースのIPアドレスをACLで許可するには、ステップ3で作成したSSIDのACL設定セクションの下にある「スペース上でのSSIDの作成」セクションから「手動で設定」オプションをクリックします。例は、このドキュメントの最後の「スペースで使用されるIPアドレスは何ですか」の項にあります。
スペースでは2つのIPアドレスが使用され、手順1のメカニズムでは1つのポータルIPのみが許可されます。より多くのHTTPリソースへの事前認証アクセスを許可するには、URLフィルタを使用する必要があります。これにより、URLフィルタに入力したURLを持つWebサイトに関連するIPに対するインターセプト(リダイレクト)ACLとセキュリティ(事前認証)ACLで動的にホールが作成されます。DNS要求は9800に対して動的にスヌーピングされ、これらのURLのIPアドレスが学習されてACLに動的に追加されます。
ステップ 2:Spacesドメインを許可するようにURLフィルタを設定します。
Configuration > Security > URL Filtersの順に移動します。+Addをクリックして、リスト名を設定します。タイプにPRE-AUTH、アクションにPERMIT、URLにsplash.dnaspaces.io(EMEAポータルを使用する場合は.eu)を選択します。
CLI による設定:
Andressi-9800L(config)#urlfilter list <url-filter name>
Andressi-9800L(config-urlfilter-params)#action permit
Andressi-9800L(config-urlfilter-params)#url splash.dnaspaces.io
SSIDは、RADIUSサーバを使用するように設定することも、使用せずに設定することもできます。キャプティブポータルルールの設定のアクションセクションでSession Duration、Bandwidth Limit、またはSeamently Provision Internetが設定されている場合は、RADIUSサーバを使用してSSIDを設定する必要があります。そうでない場合は、RADIUSサーバを使用する必要はありません。スペース上のすべての種類のポータルは、両方の構成でサポートされます。
スペース上のRADIUSサーバを使用しないキャプティブポータル
9800コントローラでのWeb認証パラメータマップの設定
ステップ 1:Configuration > Security > Web Authの順に移動します。 +Addをクリックして、新しいパラメータマップを作成します。ポップアップウィンドウで、パラメータマップ名を設定し、タイプとしてConsentを選択します。
ステップ 2:前のステップで設定したパラメータマップをクリックし、Advancedタブに移動し、次の図に示すようにRedirect for log-in URL、Append for AP MAC Address、Append for Client MAC Address、Append for WLAN SSID and portal IPv4 Addressを入力します。Update & Applyをクリックします。
注:スプラッシュページのURLとIPv4リダイレクトアドレスを取得するには、スペースのSSIDページでConfigure Manuallyオプションをクリックします。これは、ドキュメントの最後の「スペースポータルで使用されるURLは何ですか」に示されています。
注:Cisco Spacesポータルは2つのIPアドレスに解決できますが、9800コントローラで設定できるIPアドレスは1つだけです。これらのIPアドレスのいずれかを選択し、パラメータマップでポータルIPv4アドレスとして設定します。
注:仮想IPv4アドレスと仮想IPv6アドレスの両方がグローバルWeb認証パラメータマップで設定されていることを確認します。Virtual IPv6が設定されていない場合、クライアントは設定されたSpacesポータルではなく、内部ポータルにリダイレクトされることがあります。このため、仮想IPは常に設定する必要があります。192.0.2.1は仮想IPv4として、FE80:0:0:0:903A::11E4は仮想IPV6として設定できます。それ以外のIPを使用する理由はほとんどありません。
CLI による設定:
Andressi-9800L(config)#parameter-map type webauth <map name>
Andressi-9800L(config-params-parameter-map)#type consent
Andressi-9800L(config-params-parameter-map)#timeout init-state sec 600
Andressi-9800L(config-params-parameter-map)#redirect for-login <splashpage URL>
Andressi-9800L(config-params-parameter-map)#redirect append ap-mac tag ap_mac
Andressi-9800L(config-params-parameter-map)#redirect append wlan-ssid tag wlan
Andressi-9800L(config-params-parameter-map)#redirect append client-mac tag client_mac
Andressi-9800L(config-params-parameter-map)#redirect portal ipv4 <IP Address>
Andressi-9800L(config-params-parameter-map)#logout-window-disabled
Andressi-9800L(config-params-parameter-map)#success-window-disabled
9800コントローラでのSSIDの作成
ステップ 1:Configuration > Tags & Profiles > WLANsの順に移動します。 +Addをクリックします。プロファイル名、SSIDを設定し、WLANを有効にします。SSID名が、「スペースでのSSIDの作成」セクションのステップ3で設定した名前と同じであることを確認します。
ステップ 2:Security > Layer2の順に移動します。レイヤ2セキュリティモードをNoneに設定します。MACフィルタリングが無効になっていることを確認します。
ステップ 3:Security > Layer3の順に移動します。Webポリシーを有効にし、Web認証パラメータマップを設定します。Apply to Deviceをクリックします。
9800コントローラでのポリシープロファイルの設定
ステップ 1:Configuration > Tags & Profiles > Policyの順に移動し、新しいポリシープロファイルを作成するか、デフォルトのポリシープロファイルを使用します。Access Policiesタブで、クライアントVLANを設定し、URLフィルタを追加します。
9800コントローラでのポリシータグの設定
ステップ 1:[設定(Configuration)] > [タグとプロファイル(Tags & Profiles)] > [ポリシー(Policy)] に移動します。新しいポリシータグを作成するか、デフォルトのポリシータグを使用します。WLANをポリシータグのポリシープロファイルにマッピングします。
ステップ 2:SSIDをブロードキャストするためにAPにポリシータグを適用します。Configuration > Wireless > Access Pointsの順に移動します。問題のAPを選択し、Policy Tagを追加します。これにより、APはCAPWAPトンネルを再起動し、9800コントローラに戻ります。
CLI による設定:
Andressi-9800L(config)#wlan <Profile name> <WLAN ID> <SSID Name>
Andressi-9800L(config-wlan)#no security wpa
Andressi-9800L(config-wlan)#no security wpa akm dot1x
Andressi-9800L(config-wlan)#no security wpa wpa2 ciphers aes
Andressi-9800L(config-wlan)#security web-auth
Andressi-9800L(config-wlan)#security web-auth parameter-map <map name>
Andressi-9800L(config-wlan)#no shutdown
Andressi-9800L(config)#wireless profile policy <policy-profile-name>
Andressi-9800L(config-wireless-policy)#vlan <id>
Andressi-9800L(config-wireless-policy)#urlfilter list pre-auth-filter <url-filter name>
Andressi-9800L(config-wireless-policy)#no shutdown
Andressi-9800L(config)#wireless tag policy <policy-tag-name>
Andressi-9800L(config-policy-tag)#wlan <Profile name> policy <policy-profile-name>
スペース上のRADIUSサーバを使用したキャプティブポータル
注:スペースRADIUSサーバでは、コントローラからのPAP認証だけがサポートされます。
9800コントローラでのWeb認証パラメータマップの設定
ステップ 1:Web認証パラメータマップを作成します。Configuration > Security > Web Authの順に移動します。 +Addをクリックして、パラメータマップ名を設定し、タイプとしてwebauthを選択します。
ステップ 2:手順1で設定したパラメータマップをクリックします。Advancedをクリックし、Redirect for log-in、Append for AP MAC Address、Append for Client MAC Address、Append for WLAN SSID and portal IPv4 Addressを入力します。Update & Applyをクリックします。
注:スプラッシュページのURLおよびIPv4リダイレクトアドレスを取得するには、「Creating the SSIDs in WLC Direct Connect」セクションの「Creating the SSIDs in Spaces」セクションのステップ3で作成したSSIDから「Configure Manually」オプションをクリックし、それぞれ「Creating the Access Control List configuration」セクションを参照してください。
注:Cisco Spacesポータルは2つのIPアドレスに解決できますが、9800コントローラで設定できるIPアドレスは1つだけです。1つのケースでは、これらのIPアドレスのいずれかを選択して、ポータルのIPv4アドレスとしてパラメータマップで設定します。
注:仮想IPv4アドレスと仮想IPv6アドレスの両方がグローバルWeb認証パラメータマップで設定されていることを確認します。Virtual IPv6が設定されていない場合、クライアントは設定されたSpacesポータルではなく、内部ポータルにリダイレクトされることがあります。このため、仮想IPは常に192.0.2.1に設定する必要があり、仮想IPv4として設定でき、FE80:0:0:0:903A::11E4を仮想IPV6として設定できます。それ以外のIPを使用する理由はほとんどありません。
CLI による設定:
Andressi-9800L(config)#parameter-map type webauth <map name>
Andressi-9800L(config-params-parameter-map)#type webauth
Andressi-9800L(config-params-parameter-map)#timeout init-state sec 600
Andressi-9800L(config-params-parameter-map)#redirect for-login <splashpage URL>
Andressi-9800L(config-params-parameter-map)#redirect append ap-mac tag ap_mac
Andressi-9800L(config-params-parameter-map)#redirect append wlan-ssid tag wlan
Andressi-9800L(config-params-parameter-map)#redirect append client-mac tag client_mac
Andressi-9800L(config-params-parameter-map)#redirect portal ipv4 <IP Address>
Andressi-9800L(config-params-parameter-map)#logout-window-disabled
Andressi-9800L(config-params-parameter-map)#success-window-disabled
9800コントローラでのRADIUSサーバの設定
ステップ 1:RADIUSサーバを設定します。Cisco Spacesはユーザ認証用のRADIUSサーバとして機能し、2つのIPアドレスに応答できます。Configuration > Security > AAAの順に移動します。+Addをクリックして、両方のRADIUSサーバを設定します。
注:プライマリサーバとセカンダリサーバの両方のRADIUS IPアドレスと秘密キーを取得するには、「スペース上にSSIDを作成する」のステップ3で作成したSSIDから手動で設定オプションをクリックし、RADIUSサーバ設定セクションに移動します。
ステップ 2:RADIUSサーバグループを設定し、両方のRADIUSサーバを追加します。Configuration > Security > AAA > Servers / Groups > RADIUS > Server Groupsの順に移動し、+addをクリックして、サーバグループ名、MAC-DelimiterにHyphen、MAC-FilteringにMACを設定し、2つのRADIUSサーバを割り当てます。
ステップ 3:認証方式リストを設定します。Configuration > Security > AAA > AAA Method List > Authenticationの順に移動します。 +addをクリックします。方式リスト名を設定し、タイプとしてloginを選択し、サーバグループを割り当てます。
ステップ 4:許可方式リストを設定します。Configuration > Security > AAA > AAA Method List > Authorizationの順に移動し、+addをクリックします。方式リスト名を設定し、タイプとしてnetworkを選択して、サーバグループを割り当てます。
9800コントローラでのSSIDの作成
ステップ 1:Configuration > Tags & Profiles > WLANsの順に移動し、+Addをクリックします。プロファイル名、SSIDを設定し、WLANを有効にします。SSID名が、「スペースでのSSIDの作成」セクションのステップ3で設定した名前と同じであることを確認します。
ステップ 2:Security > Layer2の順に移動します。レイヤ2セキュリティモードをNoneに設定し、MACフィルタリングを有効にして、許可リストを追加します。
ステップ 3:Security > Layer3の順に移動します。Webポリシーを有効にし、Web認証パラメータマップと認証リストを設定します。On Mac Filter Failureを有効にして、事前認証ACLを追加します。Apply to Deviceをクリックします。
9800コントローラでのポリシープロファイルの設定
ステップ 1:Configuration > Tags & Profiles > Policyの順に移動し、新しいポリシープロファイルを作成するか、デフォルトのポリシープロファイルを使用します。Access Policiesタブで、クライアントVLANを設定し、URLフィルタを追加します。
ステップ 2:Advancedタブで、AAA Overrideを有効にし、オプションでアカウンティング方式リストを設定します。
9800コントローラでのポリシータグの設定
ステップ 1:[設定(Configuration)] > [タグとプロファイル(Tags & Profiles)] > [ポリシー(Policy)] に移動します。新しいポリシータグを作成するか、デフォルトのポリシータグを使用します。WLANをポリシータグのポリシープロファイルにマッピングします。
ステップ 2:SSIDをブロードキャストするためにAPにポリシータグを適用します。Configuration > Wireless > Access Pointsの順に移動し、対象のAPを選択して、Policy Tagを追加します。これにより、APはCAPWAPトンネルを再起動し、9800コントローラに戻ります。
CLI による設定:
Andressi-9800L(config)#wlan <Profile name> <WLAN ID> <SSID Name>
Andressi-9800L(config-wlan)#ip access-group web <ACL Name>
Andressi-9800L(config-wlan)#no security wpa
Andressi-9800L(config-wlan)#no security wpa akm dot1x
Andressi-9800L(config-wlan)#no security wpa wpa2 ciphers aes
Andressi-9800L(config-wlan)#mac-filtering <authz name>
Andressi-9800L(config-wlan)#security web-auth
Andressi-9800L(config-wlan)#security web-auth authentication-list <auth name>
Andressi-9800L(config-wlan)#security web-auth on-macfilter-failure
Andressi-9800L(config-wlan)#security web-auth parameter-map <map name>
Andressi-9800L(config-wlan)#no shutdown
Andressi-9800L(config)#wireless profile policy <policy-profile-name>
Andressi-9800L(config-wireless-policy)#aaa-override
Andressi-9800L(config-wireless-policy)#accounting-list <acct name>
Andressi-9800L(config-wireless-policy)#vlan <id>
Andressi-9800L(config-wireless-policy)#urlfilter list pre-auth-filter <url-filter name>
Andressi-9800L(config-wireless-policy)#no shutdown
Andressi-9800L(config)#wireless tag policy <policy-tag-name>
Andressi-9800L(config-policy-tag)#wlan <Profile name> policy <policy-profile-name>
グローバルパラメータマップの設定
推奨されない手順:次のコマンドを実行してHTTPSリダイレクションを許可します。ただし、クライアントのオペレーティングシステムがキャプティブポータルの検出を行い、CPU使用率が高くなり、常に証明書の警告が発生する場合、クライアントのHTTPSトラフィックをリダイレクトする必要はありません。特に特定の使用例で必要な場合を除き、このコマンドの設定は避けることをお勧めします。
Andressi-9800L(config)#parameter-map type webauth global
Andressi-9800L(config-params-parameter-map)#intercept-https-enable
注:Cisco Catalyst 9800シリーズワイヤレスコントローラにインストールされた仮想IP用の有効なSSL証明書が必要です。
ステップ 1:extension.p12の署名付き証明書ファイルをTFTPサーバにコピーし、次のコマンドを実行して、証明書を9800コントローラに転送およびインストールします。
Andressi-9800L(config)#crypto pki import <name> pkcs12 tftp://<tftp server ip>:/ password <certificate password>
ステップ 2:インストールされた証明書をWeb認証パラメータマップにマッピングするには、次のコマンドを実行します。
Andressi-9800L(config)#parameter-map type webauth global
Andressi-9800L(config-params-parameter-map)#trustpoint <installed trustpool name>
スペースでのポータルの作成
ステップ 1:スペースのダッシュボードでキャプティブポータルをクリックします。
ステップ 2:Create Newをクリックしてポータル名を入力し、ポータルを使用できる場所を選択します。
ステップ 3:認証タイプを選択し、ポータルホームページにデータのキャプチャとユーザ契約を表示するかどうか、およびユーザがメッセージの受信をオプトインできるかどうかを選択します。[Next] をクリックします。
ステップ 4:データ・キャプチャ要素を構成します。ユーザからデータをキャプチャする場合は、Enable Data Captureボックスにチェックマークを入れて、+Add Field Elementをクリックし、必要なフィールドを追加します。[Next] をクリックします。
ステップ 5:Enable Terms & Conditionsにチェックマークを入れて、Save & Configure Portalをクリックします。
手順 6:必要に応じてポータルを編集します。Save:
スペースでのキャプティブポータルルールの設定
ステップ 1:スペースのダッシュボードでキャプティブポータルをクリックします。
ステップ 2:キャプティブポータルメニューを開き、キャプティブポータルルール:
ステップ 3:+ Create New Ruleをクリックします。ルール名を入力し、以前に設定したSSIDを選択します。
ステップ 4:ポータルを使用できる場所を選択します。LOCATIONSセクションで+ Add Locationsをクリックします。ロケーション階層から目的のロケーションを選択します。
ステップ 5:キャプティブポータルのアクションを選択します。この場合、ルールがヒットすると、ポータルが表示されます。Save & Publishをクリックします。
スペースから特定の情報を取得
スペースが使用するIPアドレス
領域内のポータルでスペースが使用しているIPアドレスを確認するには、Cisco DNA SpaceホームのCaptival Portalページに移動します。左側のメニューでSSIDをクリックし、SSIDの下でConfigure manuallyをクリックします。IPアドレスは、ACLの例に示されています。これらは、ACLおよびwebauthパラメータマップで使用するポータルのIPアドレスです。スペースは、コントロールプレーンのNMSP/クラウド接続全体に対して他のIPアドレスを使用します。
表示されるポップアップの最初のセクションの手順7では、ACL定義に指定されているIPアドレスが表示されます。これらの手順を実行してACLを作成する必要はありません。IPアドレスを書き留めておくだけです。これらのIPは、お客様のエリアのポータルで使用されます
スペースログインポータルが使用するURL
自分のリージョンのポータルでポータルURLスペースのどのログインが使用されているかを確認するには、Cisco DNA SpaceホームのCaptival Portalページに移動します。左側のメニューでSSIDをクリックし、SSIDの下でConfigure manuallyをクリックします。
表示されるポップアップまでスクロールダウンし、2番目のセクションのステップ7に、9800のパラメータマップで設定する必要があるURLが表示されます。
スペースのRADIUSサーバの詳細
使用する必要があるRADIUSサーバのIPアドレスと共有秘密を確認するには、Cisco DNA SpaceホームのCaptival Portalページに移動します。左側のメニューでSSIDをクリックし、SSIDの下でConfigure manuallyをクリックします。
表示されるポップアップで、3番目のセクション(RADIUS)内を下にスクロールすると、ステップ7でRADIUS認証のIP/ポートと共有秘密が表示されます。アカウンティングはオプションであり、手順12で説明します。
確認
SSIDに接続しているクライアントのステータスを確認するには、Monitoring > Clientsの順に選択します。デバイスのMACアドレスをクリックし、Policy Manager State:
トラブルシュート
一般的な問題
1. コントローラの仮想インターフェイスにIPアドレスが設定されていない場合、クライアントは、パラメータマップで設定されているリダイレクトポータルではなく、内部ポータルにリダイレクトされます。
2. クライアントがスペースのポータルにリダイレクトされている間に503エラーを受信する場合、コントローラがスペースのロケーション階層で設定されていることを確認します。
常時トレース
WLC 9800 では、ALWAYS-ON トレース機能を利用できます。これにより、クライアント接続に関連するすべてのエラー、警告、および通知レベルのメッセージが継続的にログに記録され、発生後にインシデントまたは障害状態のログを表示できます。
注:生成されるログの量に応じて、数時間から数日に戻ることができます。
9800 WLCがデフォルトで収集したトレースを表示するには、SSH/Telnet経由で9800 WLCに接続し、次の手順を実行します。セッションをテキストファイルに記録していることを確認します。
ステップ 1:コントローラの現在時刻を確認して、問題が発生した時刻までログを追跡できるようにします。
# show clock
ステップ 2:システム設定に従って、コントローラのバッファまたは外部syslogからsyslogを収集します。これにより、システムの健全性とエラー(ある場合)のクイックビューが提供されます。
# show logging
ステップ 3:デバッグ条件が有効になっているかどうかを確認します。
# show debugging
Cisco IOS XE Conditional Debug Configs:
Conditional Debug Global State: Stop
Cisco IOS XE Packet Tracing Configs:
Packet Infra debugs:
Ip Address Port
------------------------------------------------------|----------
注:条件が一覧表示されている場合は、有効な条件(MACアドレス、IPアドレスなど)に遭遇するすべてのプロセスについて、トレースがデバッグレベルでログされていることを意味します。これにより、ログの量が増加します。したがって、デバッグが必要ないときは、すべての条件をクリアすることをお勧めします。
ステップ 4:テスト対象のMACアドレスがステップ3の条件としてリストされていない場合は、特定のMACアドレスのalways-on notice levelトレースを収集します。
# 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アドレス)と対話するすべてのプロセスにデバッグレベルのトレースが提供されます。条件付きデバッグを有効にするには、次の手順を実行します。
ステップ 1:デバッグ条件が有効になっていないことを確認します。
# clear platform condition all
ステップ 2:監視するワイヤレスクライアントのMACアドレスのデバッグ条件を有効にします。
次のコマンドは、指定された MAC アドレスの 30 分間(1800 秒)のモニターを開始します。必要に応じて、この時間を最大 2,085,978,494 秒まで増やすことができます。
# debug wireless mac <aaaa.bbbb.cccc> {monitor-time <seconds>}
注:同時に複数のクライアントをモニタするには、MACアドレスごとにdebug wireless mac <aaaa.bbbb.cccc>コマンドを実行します。
注:ターミナルセッションでは、すべてが後で表示できるように内部でバッファされているため、クライアントアクティビティの出力は表示されません。
ステップ 3:監視する問題または動作を再現します。
ステップ 4:問題がデフォルトよりも前に再現された場合、または設定されたモニタ時間がアップした場合は、デバッグを停止します。
# no debug wireless mac <aaaa.bbbb.cccc>
monitor-timeが経過するか、debug wirelessが停止すると、9800 WLCは次の名前でローカルファイルを生成します。
ra_trace_MAC_aaaabbbbcccc_HHMMSS.XXX_timezone_DayWeek_Month_Day_year.log
ステップ 5: 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
手順 6:根本原因がまだ明らかでない場合は、デバッグレベルのログのより詳細なビューである内部ログを収集します。すでに収集されて内部で保存されているデバッグログをさらに詳しく調べるだけなので、クライアントを再度デバッグする必要はありません。
# 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
手順 7:デバッグ条件を削除します。
# clear platform condition all
注:トラブルシューティングセッションの後は、必ずデバッグ条件を削除してください。
成功した試行の例
これは、RADIUSサーバなしでSSIDに接続しているときに、関連付け/認証プロセス中の各フェーズの識別に成功した試行に対するRA_tracesからの出力です。
802.11アソシエーション/認証:
Association received. BSSID 10b3.d694.00ee, WLAN 9800DNASpaces, Slot 1 AP 10b3.d694.00e0, 2802AP-9800L
Received Dot11 association request. Processing started,SSID: 9800DNASpaces1, Policy profile: DNASpaces-PP, AP Name: 2802AP-9800L, Ap Mac Address: 10b3.d694.00e0 BSSID MAC0000.0000.0000 wlan ID: 1RSSI: 0, SNR: 32
Client state transition: S_CO_INIT -> S_CO_ASSOCIATING
dot11 send association response. Sending association response with resp_status_code: 0
dot11 send association response. Sending assoc response of length: 144 with resp_status_code: 0, DOT11_STATUS: DOT11_STATUS_SUCCESS
Association success. AID 1, Roaming = False, WGB = False, 11r = False, 11w = False
DOT11 state transition: S_DOT11_INIT -> S_DOT11_ASSOCIATED
Station Dot11 association is successful
IP学習プロセス:
IP-learn state transition: S_IPLEARN_INIT -> S_IPLEARN_IN_PROGRESS
Client IP learn successful. Method: ARP IP: 10.10.30.42
IP-learn state transition: S_IPLEARN_IN_PROGRESS -> S_IPLEARN_COMPLETE
Received ip learn response. method: IPLEARN_METHOD_AR
レイヤ3認証:
Triggered L3 authentication. status = 0x0, Success
Client state transition: S_CO_IP_LEARN_IN_PROGRESS -> S_CO_L3_AUTH_IN_PROGRESS
L3 Authentication initiated. LWA
Client auth-interface state transition: S_AUTHIF_L2_WEBAUTH_DONE -> S_AUTHIF_WEBAUTH_PENDING
Client auth-interface state transition: S_AUTHIF_L2_WEBAUTH_DONE -> S_AUTHIF_WEBAUTH_PENDING
[webauth-httpd] [17798]: (info): capwap_90000005[34e1.2d23.a668][10.10.30.42]GET rcvd when in INIT state
[webauth-httpd] [17798]: (info): capwap_90000005[34e1.2d23.a668][10.10.30.42]HTTP GET request
[webauth-httpd] [17798]: (info): capwap_90000005[34e1.2d23.a668][10.10.30.42]Parse GET, src [10.10.30.42] dst [10.107.4.52] url [http://www.msftconnecttest.com/connecttest.txt]
[webauth-httpd] [17798]: (info): capwap_90000005[34e1.2d23.a668][10.10.30.42]Retrieved user-agent = Microsoft NCSI
[webauth-httpd] [17798]: (info): capwap_90000005[34e1.2d23.a668][10.10.30.42]GET rcvd when in LOGIN state
[webauth-httpd] [17798]: (info): capwap_90000005[34e1.2d23.a668][10.10.30.42]HTTP GET request
[webauth-httpd] [17798]: (info): capwap_90000005[34e1.2d23.a668][10.10.30.42]Parse GET, src [10.10.30.42] dst [10.101.24.81] url [http://www.bbc.com/]
[webauth-httpd] [17798]: (info): capwap_90000005[34e1.2d23.a668][10.10.30.42]Retrieved user-agent = Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
[webauth-httpd] [17798]: (info): capwap_90000005[34e1.2d23.a668][10.10.30.42]POST rcvd when in LOGIN state
レイヤ3認証が成功しました。クライアントをRUN状態に移行します。
[34e1.2d23.a668:capwap_90000005] Received User-Name 34E1.2D23.A668 for client 34e1.2d23.a668
L3 Authentication Successful. ACL:[]
Client auth-interface state transition: S_AUTHIF_WEBAUTH_PENDING -> S_AUTHIF_WEBAUTH_DONE
%CLIENT_ORCH_LOG-6-CLIENT_ADDED_TO_RUN_STATE: Username entry (34E1.2D23.A668) joined with ssid (9800DNASpaces) for device with MAC: 34e1.2d23.a668
Managed client RUN state notification: 34e1.2d23.a668
Client state transition: S_CO_L3_AUTH_IN_PROGRESS -> S_CO_RU