ワイヤレス : Cisco 5500 シリーズ ワイヤレス コントローラ

ワイヤレス LAN コントローラ(WLC)の Web 認証のトラブルシューティング

2011 年 3 月 22 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2011 年 7 月 26 日) | フィードバック


概要

このドキュメントは、WLC 環境の Web 認証問題のトラブルシューティングに役立つヒントについて説明します。



前提条件

要件

次の項目に関する知識があることが推奨されます。

  • Lightweight Access Point Protocol(LWAPP; Lightweight アクセス ポイント プロトコル)に関する知識。

  • 基本動作用の Lightweight Access Point(LAP)および WLC の設定に関する知識。

  • Web 認証および WLC での Web 認証の設定に関する基本的な知識。WLC に Web 認証を設定する詳細については、「ワイヤレス LAN コントローラの Web 認証の設定例」を参照してください。



使用するコンポーネント

このドキュメントの情報は、ファームウェア バージョン 7.0.98.0 が稼働する WLC 5500 に基づくものです。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。対象のネットワークが実稼働中である場合には、どのような作業についても、その潜在的な影響について確実に理解しておく必要があります。



関連製品

このドキュメントは、次のハードウェアにも使用できます。

  • Cisco 2000 シリーズ Wireless LAN Controller

  • Cisco 2100 シリーズ Wireless LAN Controller

  • Cisco 4100 シリーズ Wireless LAN Controller

  • Cisco Airespace 3500 シリーズ WLAN Controller

  • Cisco Airespace 4000 シリーズ Wireless LAN Controller

  • Cisco Wireless LAN Controller モジュール

  • Cisco Catalyst 6500 シリーズ/7600 シリーズ Wireless Services

  • Cisco Catalyst 5500 シリーズ スイッチ



表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。



WLC での Web 認証

Web 認証とは、事前認証 Access Control List(ACL; アクセス コントロール リスト)で許可されたトラフィックを除いて、有効なユーザ名とパスワードが正しく入力されるまで特定のクライアントからの IP トラフィック(DHCP 関連のパケット/DNS 関連のパケットは除く)をコントローラで許可しないようにするレイヤ 3 セキュリティ機能です。Web 認証は、認証の前にクライアントが IP アドレスを取得することを許可する唯一のセキュリティ ポリシーです。これは、サプリカントやクライアント ユーティリティを必要としない簡単な認証方式です。Web 認証は WLC 上でローカルに実行することも、RADIUS サーバ経由で実行することもできます。一般に、Web 認証はゲスト アクセス ネットワークを展開する場合に使用されます。

Web 認証は、クライアントからの最初の TCP HTTP(ポート 80)GET パケットをコントローラがインターセプトしたときに開始されます。クライアントの Web ブラウザがそこまで到達するには、クライアントがまず IP アドレスを取得し、Web ブラウザのために URL の IP アドレスへの変換(DNS 解決)を行う必要があります。これによって、Web ブラウザが HTTP GET を送信する IP アドレスを認識できます。

WLAN で Web 認証が設定されている場合、コントローラは認証プロセスが完了するまで、クライアントからの DHCP および DNS トラフィックを除くすべてのトラフィックをブロックします。クライアントが最初の HTTP GET を TCP ポート 80 に送信したとき、コントローラは処理のためにそのクライアントを https:1.1.1.1/login.html にリダイレクトします。このプロセスは最終的にログイン Web ページを起動します。

注:2000/5500 シリーズの WLC では、外部 Web 認証のために、ワイヤレス クライアントを外部 Web サーバ ログイン URL にリダイレクトできるように、WLAN に事前認証 ACL を設定する必要があります。続いて、この ACL を Web ポリシーに従って WLAN の事前認証 ACL として設定する必要があります。

注:通常、事前認証 ACL は、外部 Web 認証のために 2100/5500 シリーズ コントローラで Web 認証に実装されています。ユーザからのトラフィックは、通常の場合、WLC でクライアントの認証が成功するまで WLC の通過を許可されません。事前認証 ACL を使用すると、その名前からわかるように、クライアントの認証前であっても特定の IP アドレスから送受信されるクライアント トラフィックを許可することができます。これは、Web 認証プロセスでユーザの認証に使用される外部 Web 認証サーバ(WLC ネットワークの外部)へクライアント トラフィックを転送するのに役立ちます。

注:4400 には、外部 Web 認証のために事前認証 ACL を設定する必要はありません。ユーザは、Web 認証の前に何らかのトラフィックを引き続き許可する場合、事前認証 ACL を自由に設定でき、要件に従ってトラフィックを許可できます。たとえば、アンチウイルスをダウンロードするためにトラフィックを許可するなどです。

注:事前認証 ACL の設定方法についての詳細は、『ワイヤレス LAN コントローラを使用した外部 Web 認証の設定例』の「事前認証 ACL の作成」セクションを参照してください。

このセクションでは、Web 認証のリダイレクトの手順を詳しく説明します。

webauth-tshoot5.gif

  • ブラウザを開き、たとえば、http://www.google.com などの URL を入力します。クライアントは、宛先の IP を取得するため、この URL の DNS 要求を送信します。WLC は DNS 要求を DNS サーバにバイパスし、DNS サーバは宛先 www.google.com の IP アドレスを含む DNS リプライで応答します。さらに、応答はワイヤレス クライアントに転送されます。

  • 続いて、クライアントは宛先 IP アドレスを使用して TCP 接続を開始しようとします。www.google.com の IP アドレスを宛先とする TCP SYN パケットが送信されます。

  • WLC には、クライアント用に設定されたルールがあるため、www.google.com のプロキシとして動作します。WLC は、www.google.com の IP アドレスを送信元とする TCP SYN-ACK パケットをクライアントに送信します。クライアントは、3 ウェイ TCP ハンドシェイクを完了するために、TCP ACK パケットを返し、TCP 接続が完全に確立されます。

  • クライアントは、宛先が www.google.com である HTTP GET パケットを送信します。WLC はこのパケットをインターセプトし、リダイレクト処理のために送信します。HTTP アプリケーション ゲートウェイは、HTML 本文を準備し、クライアントから要求された HTTP GET への応答として返します。この HTML によって、クライアントは、http://<Virtual-Server-IP>/login.html などの WLC のデフォルト Web ページの URL に移動します。

  • クライアントは、www.google.com などの IP アドレスを使用した TCP 接続を終了します。

  • 次に、クライアントは http://1.1.1.1/login.html へ移動しようとし、WLC の仮想 IP アドレスを使用して TCP 接続を開始しようとします。WLC へ 1.1.1.1 に対する TCP SYN パケットを送信します。

  • WLC は、TCP SYN-ACK で応答し、クライアントは WLC に TCP ACK を返して、ハンドシェイクが完了します。

  • クライアントは、ログイン ページを要求するために、1.1.1.1 を宛先とする、/login.html の HTTP GET を送信します。

  • この要求は、WLC の Web サーバに到達して許可され、サーバはデフォルト ログイン ページで応答します。クライアントは、ブラウザ ウィンドウでログイン ページを受信し、ユーザはブラウザでログインできます。

次に例を示します。この例では、クライアントの IP アドレスは 10.50.0.130 です。クライアントは、10.1.0.13 にアクセスしていた Web サーバへの URL を解決しました。例からわかるように、クライアントは、3 ウェイ ハンドシェイクを行って、TCP 接続を開始し、パケット 30 で始まる HTTP GET を送信しました。コントローラは、パケットをインターセプトし、コード 200 で応答しています。コード 200 のパケットには、次のように、リダイレクト URL が含まれています。

<HTML><HEAD><TITLE>Cisco Systems Inc. Web Authentication Redirect</TITLE><META 
http-equiv="Cache-control" content="no-cache"><META http-equiv="Pragma" 
content="no-cache"><META http-equiv="Expires" content="-1"><META http-equiv="refresh" 
content="1; URL=https://1.1.1.1/login.html?redirect=cisco-lwapp-controller.qqq.qqqqq.
cube.net/"></HEAD></HTML>

次に、クライアントは 3 ウェイ ハンドシェイクによる TCP 接続を閉じます。

webauth-tshoot2.gif

クライアントは、リダイレクト URL への HTTPS 接続を開始します。クライアントはこの URL をコントローラの仮想 IP アドレスである 1.1.1.1 に送信します。SSL トンネルを開始するため、クライアントはサーバ証明書を検証するか、または無視する必要があります。この例では、証明書が自己署名証明書であるため、クライアントはそれを無視します。ログイン Web ページがこの SSL トンネルを経由して送信されます。トランザクションは、パケット 42 から始まります。

webauth-tshoot3.gif

ワイヤレス LAN コントローラの仮想 IP アドレスのドメイン名を定義するオプションがあります。仮想 IP アドレスにドメイン名を設定する場合、このドメイン名は、クライアントからの HTTP GET パケットへの応答の際の HTTP OK パケットの中でコントローラから返されます。次に、このドメイン名の DNS 解決を行う必要があります。DNS 解決によって IP アドレスを取得したら、クライアントはその IP アドレス(コントローラの仮想インターフェイスに設定された IP)を使用して TCP セッションを開始しようとします。

最終的に、Web ページがトンネルを経由してクライアントに送られ、ユーザはユーザ名/パスワードを SSL トンネルを経由して送信します。

次の 3 つの方法のいずれかによって、Web 認証が実行されます。

注:WLC リリース 7.0 以降では、WLAN で Web 認証がイネーブルにされていて、かつ CPU ACL ルールがある場合、クライアントが認証されていない WebAuth_Reqd 状態である間は、クライアント ベースの Web 認証ルールが常に優先されます。クライアントが RUN 状態になると、CPU ACL ルールが適用されます。

注:したがって、CPU ACL が WLC でイネーブルである場合、次の場合には、仮想インターフェイス IP の(ANY 方向の)allow ルールが必要です。

  • CPU ACL に、両方向の allow ALL ルールがない場合。

  • allow ALL ルールがあるが、より優先順位の高い、ポート 443 または 80 に対する DENY ルールがある場合。

注:仮想 IP の allow ルールは、TCP プロトコルおよびポート 80(Secureweb がディセーブルの場合)またはポート 443(Secureweb がイネーブルの場合)に対してでなければなりません。これは、CPU ACL が設定されている場合に、クライアントの仮想インターフェイス IP アドレスへのアクセスが、正常認証をポストできるようにするために必要です。



Web 認証のトラブルシューティング

Web 認証を設定した後、Web 認証機能が意図したとおりに動作しない場合は、次の手順を実行してください。

  1. クライアントが IP アドレスを取得しているかどうかを確認します。取得していない場合は、WLAN の DHCP Required をオフにして、ワイヤレス クライアントに固定 IP アドレスを割り当てます。これによって、アクセス ポイントの割り当てが見込まれます。『Cisco Unified Wireless Network でのクライアントの問題のトラブルシューティング(DHCP 関連問題のトラブルシューティングの場合)』の「IP アドレッシングの問題」セクションを参照してください。

  2. バージョン 3.2.150.10 よりも前の WLC で Web 認証ウィンドウに移動するには、手動で https://1.1.1.1/login.html を入力する必要があります。

    プロセスの次のステップは、Web ブラウザでの URL の DNS 解決です。WLAN クライアントが、Web 認証用に設定された WLAN に接続したとき、クライアントは DHCP サーバから IP アドレスを取得します。ユーザはブラウザを開始し、Web サイトのアドレスを入力します。クライアントは、DNS 解決を実行して Web サイトの IP アドレスを取得します。ここで、クライアントがその Web サイトにアクセスしようとすると、WLC はクライアントの HTTP Get セッションをインターセプトし、ユーザを Web 認証ログイン ページにリダイレクトします。

  3. したがって、リダイレクションが機能するように、クライアントが DNS 解決を実行できることを確認します。Windows で、[Start] > [Run] を順に選択し、CMD を入力してコマンド ウィンドウを開きます。「nslookup www.cisco.com」を実行し、IP アドレスが返されるかどうかを確認します。

    Mac または Linux の場合は、ターミナル ウィンドウを開き、「nslookup www.cisco.com」を実行して、IP アドレスが返されるかどうかを確認します。

    クライアントが DNS 解決を取得していないと思われる場合は、次のいずれかを実行します。

    • URL の IP アドレスを入力します(例:http://www.cisco.com は http://198.133.219.25 です)。

    • https://<Virtual_interface_IP_Address>/login.html を使用して、コントローラの Web 認証ページに直接アクセスを試みます。一般的に、このページは http://1.1.1.1/login.html です。

    この URL の入力によって、Web ページが起動される場合、DNS の問題である可能性が最も高くなります。証明書の問題である可能性もあります。デフォルトでは、コントローラは自己署名証明書を使用しますが、多くの Web ブラウザは、自己署名証明書の使用に警告を出します。

  4. カスタマイズされた Web ページを使用する Web 認証の場合、カスタマイズされた Web ページの HTML コードが適切であることを確認します。

    これは、Web 認証に使用できるスクリプトのサンプル web_authentication.tar です。

    ユーザのインターネット ブラウザがカスタマイズされたログイン ページにリダイレクトされるときに、次のパラメータが URL に追加されます。

    • ap_mac:ワイヤレス ユーザに関連付けられるアクセス ポイントの MAC アドレス。

    • switch_url:ユーザ クレデンシャルがポストされるコントローラの URL。

    • redirect:認証が成功した後、ユーザがリダイレクトされる URL。

    • statusCode:コントローラの Web 認証サーバから返されたステータス コード。

    • wlan:ワイヤレス ユーザに関連付けられる WLAN SSID。

    次のステータス コードが使用できます。

    • ステータス コード 1:「ログインしました。特にアクションは必要ありません。」

    • ステータス コード 2:「Web ポータルに対する認証が設定されていません。特にアクションは必要ありません。」

    • ステータス コード 3:「指定されたユーザ名は、今回は使用できません。あるいは、そのユーザ名はすでにシステムにログインしている可能性があります。」

    • ステータス コード 4:「遮断されました。」

    • ステータス コード 5:「入力されたユーザ名とパスワードが無効です。もう一度入力してください。」

  5. カスタマイズされた Web ページの表示に必要なすべてのファイルおよび画像は、WLC にアップロードする前に .tar ファイルにバンドルする必要があります。tar バンドルファイルに含まれるファイルの 1 つが login.html であることを確認します。login.html ファイルが含まれていない場合は、次のエラー メッセージが表示されます。

    webauth-tshoot1.gif

    カスタマイズされた Web 認証ウィンドウの作成方法については、「ワイヤレス LAN コントローラ Web 認証の例」の「カスタマイズされた Web 認証のガイドライン」セクションを参照してください。

    注:大容量ファイルと長い名前のファイルでは、抽出エラーが起こります。画像は .jpg フォーマットをお勧めします。

  6. Web 認証の使用に推奨されるブラウザは Internet Explorer 6.0 SP1 以降です。その他のブラウザでは、機能する場合としない場合があります。

  7. WLC のカスタマイズされた Web ページは本質的に HTML スクリプトであるため、クライアント ブラウザで、Scripting オプションがブロックされていないことを確認します。セキュリティ上の理由から、IE 6.0 では、デフォルトでこのオプションがディセーブルにされています。

    注:ユーザ用にポップアップ メッセージを設定している場合は、ブラウザでポップアップ ブロッカーをディセーブルにする必要があります。

    注:https サイトをブラウズする場合、リダイレクションは機能しません。詳細は、Cisco Bug ID CSCar04580登録ユーザ専用)を参照してください。

  8. WLC の仮想インターフェイスホスト名を設定した場合、仮想インターフェイスのホスト名に対して DNS 解決が使用できることを確認します。

    注:仮想インターフェイスに DNS ホスト名を割り当てるには、WLC GUI で [Controller ] > [Interfaces] メニューの順に移動します。

  9. 場合によっては、クライアント コンピュータにインストールされているファイアウォールによって Web 認証ログイン ページがブロックされることがあります。ログイン ページへのアクセスを試みる前に、ファイアウォールをディセーブルにしてください。Web 認証が完了した後は、ファイアウォールを再びイネーブルにしても問題ありません。

  10. トポロジ/ソリューション ファイアウォールは、クライアントおよび Web 認証サーバの間に、ネットワークに応じて配置できます。各ネットワークの設計または実装ソリューションと同様に、エンドユーザはネットワークのファイアウォールにおいて次のポートが許可されていることを確認する必要があります。

    プロトコル

    ポート

    HTTP/HTTPS トラフィック

    TCP ポート 80/443

    CAPWAP データ/コントロール トラフィック

    UDP ポート 5247/5246

    LWAPP データ/コントロール トラフィック(リリース 5.0 以前)

    UDP ポート 12222/12223

    EOIP パケット

    IP プロトコル 97

    モビリティ

    UDP ポート 16666(安全でない)

    UDP ポート 16667(安全な IPSEC トンネル)

  11. Web 認証が実行されるには、クライアントはまず、WLC で適切な WLAN と関連付けられる必要があります。クライアントが WLC に関連付けられているかどうかを確認するには、WLC で [Monitor] > [Clients] メニューに順に移動します。クライアントが有効な IP アドレスを持っているかどうか確認します。

  12. Web 認証が終了するまで、クライアント ブラウザのプロキシ設定をディセーブルにします。

  13. デフォルトの Web 認証方式は PAP です。RADIUS サーバで PAP 認証が機能するように許可されていることを確認します。クライアント認証の状態を確認するために、RADIUS サーバからのデバッグ メッセージとログ メッセージを確認します。WLC で RADIUS からのデバッグを表示するには、debug aaa all コマンドを使用します。

  14. コンピュータのハードウェア ドライバを製造業者の Web サイトから取得した最新コードにアップデートします。

  15. サプリカント(ラップトップのプログラム)の設定を確認します。

  16. Windows に組み込みの Windows Zero Config サプリカントを使用する場合:

    • 最新のパッチがインストールされていることを確認します。

    • サプリカントでデバッグを実行します。

  17. クライアントのコマンド ウィンドウで、EAPOL(WPA+WPA2)および RASTLS のログをオンにします。[Start] > [Run] > [CMD] を順に実行して、次を実行します。

    netsh ras set tracing eapol enable
          netsh ras set tracing rastls enable

    ログをディセーブルにするには同じコマンドを実行しますが、enable の部分を disable に置き換えます。XP の場合は、すべてのログは、C:\Windows\tracing に置かれます。

  18. ログイン Web ページがまだない場合は、次の出力を 1 台のクライアントから収集して分析します。

    debug client <mac_address in format xx:xx:xx:xx:xx:xx>
    debug dhcp message enable
    debug aaa all enable
    debug dot1x aaa enable
    debug mobility handoff enable
  19. これらの手順を実行しても問題が解決しない場合は、次のデバッグを収集し、TAC Service Request Tool登録ユーザ専用)を使用して、サービス要求をオープンしてください。

    debug pm ssh-appgw enable
    debug pm ssh-tcp enable
    debug pm rules enable
    debug emweb server enable
    debug pm ssh-engine enable packet <client ip>



関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 108501