概要
このドキュメントでは、WLC 9800およびISEを使用した中央Web認証(CWA)のトラブルシューティング方法について説明します。
背景情報
現在、非常に多くの個人用デバイスがあるため、ワイヤレスアクセスの保護を求めるネットワーク管理者は、通常、CWAを使用するワイヤレスネットワークを選択します。
このドキュメントでは、CWAのフローチャートに焦点を当て、影響を受ける一般的な問題のトラブルシューティングに役立てます。
プロセスの一般的な目標、CWAに関連するログの収集方法、これらのログの分析方法、およびトラフィックフローを確認するためにWLCで埋め込みパケットキャプチャを収集する方法について説明します。
CWAは、ユーザが個人所有デバイス(BYODとも呼ばれる)を使用して会社のネットワークに接続することを許可する企業で最も一般的な設定です。
ネットワーク管理者は、TACケースをオープンする前に問題を修正するために実行する方法とトラブルシューティング手順に関心があります。
CWAパケットフローを次に示します。
CWAパケットフロー
詳細フロー
最初のアソシエーションとRADIUS認証:
最初の関連付けとRADIUS認証
DHCP、DNS、および接続チェック:
DHCP、DNS、および接続チェック
接続チェックは、クライアントデバイスのオペレーティングシステムまたはブラウザによるキャプティブポータル検出を使用して行われます。
特定のドメインに対してHTTP GETを実行するように事前にプログラムされたデバイスOSがあります
-
- Apple = captive.apple.com
- Android = connectivitycheck.gstatic.com
- Windows = msftconnectest.com
また、ブラウザを開いた場合も、次のチェックが実行されます。
- Chrome = clients3.google.com
- Firefox = detectportal.firefox.com
トラフィックの代行受信とリダイレクト:
トラフィックの代行受信とリダイレクト
ISEゲストログインポータルへのクライアントログイン:
ISEゲストログインポータルへのクライアントログイン
クライアントログインとCoA:
クライアントログインおよびCoA
(「トラブルシューティング」)
一般的な症状:ユーザがログインページにリダイレクトされない。
フローの最初の部分から始めます。
最初の関連付けとRADIUS認証
1 – 最初のRADIUS認証は成功しましたか。
MACフィルタリングの認証結果を確認します。
MACフィルタリングの認証結果を示すISEライブログ
ユーザが見つからない場合は、認証の詳細オプションが「Continue」に設定されていることを確認します。
User not found詳細オプション
2 - WLCがリダイレクトURLとACLを受信する
モニタリングの下でISEライブログとWLCクライアントのセキュリティ情報を確認します。ISEがAccess AcceptでリダイレクトURLとACLを送信し、WLCで受信されてクライアントの詳細でクライアントに適用されることを確認します。
リダイレクトACLとURL
3 – リダイレクトACLは正しいですか。
ACL名の入力ミスをチェックします。ISEから送信されたものとまったく同じであることを確認します。
リダイレクトACLの検証
4 – クライアントはWeb-Auth Pendingに移行されましたか。
クライアントの詳細で「Web Auth Pending」状態を確認します。この状態でない場合は、AAA OverrideおよびRadius NACがポリシープロファイルで有効になっているかどうかを確認します。
クライアントの詳細、aaa overrideおよびRADIUS NAC
まだ動かないの?
フローを見直してみましょう。
DHCP、DNS、および接続チェック
5 - WLCはDHCPおよびDNSトラフィックを許可しますか。
WLCでリダイレクトACLの内容を確認します。
WLCでのACLコンテンツのリダイレクト
リダイレクトACLは、permit文によって代行受信およびリダイレクトされるトラフィックと、代行受信およびリダイレクトから拒否されるトラフィックをdeny文で定義します。
この例では、DNSおよびISE IPアドレスとの間のトラフィックのフローを許可し、ポート80(www)でTCPトラフィックをインターセプトします。
6 - DHCPサーバはDHCP Discover/Requestを受信しますか。
DHCP交換が発生するかどうかをEPCで確認します。EPCは、DHCPプロトコルや内部フィルタMACなどの内部フィルタと一緒に使用できます。内部フィルタMACでは、クライアントデバイスのMACアドレスを使用でき、EPCでは、クライアントデバイスのMACアドレスで送信されたDHCPパケットのみを取得できます。
この例では、VLAN 3でブロードキャストとして送信されたDHCP Discoverパケットを確認できます。
DHCPを確認するWLC EPC
ポリシープロファイルで予想されるクライアントVLANを確認します。
ポリシープロファイル内のVLAN
WLCのVLANとスイッチポートトランクの設定およびDHCPサブネットを確認します。
VLAN、スイッチポート、およびDHCPサブネット
WLCにVLAN 3が存在し、VLAN 3のSVIも存在することがわかりますが、DHCPサーバのIPアドレスを確認する際には、IPアドレスが異なるサブネット上にあるため、SVI上にIPヘルパーアドレスが必要です。
ベストプラクティスでは、クライアントサブネットのSVIを有線インフラストラクチャで設定し、WLCではこれを回避することが規定されています。
いずれの場合も、SVIの配置場所に関係なく、ip helper-addressコマンドをSVIに追加する必要があります。
別の方法として、ポリシープロファイルでDHCPサーバのIPアドレスを設定することもできます。
SVIまたはポリシープロファイルでのIPヘルパーアドレス
その後、EPCを使用して、DHCP交換が正常に行われ、DHCPサーバがDNSサーバIPを提供しているかどうかを確認できます。
DNSサーバIPのDHCPオファーの詳細
7 – 自動リダイレクションは行われますか。
DNSサーバがクエリーに応答するかどうかをWLC EPCで確認します。
DNSクエリと応答
- リダイレクトが自動でない場合は、ブラウザを開いてランダムなIPアドレスを試してください。たとえば、10.0.0.1などです。
- リダイレクトが機能する場合は、DNS解決に問題がある可能性があります。
まだ動かないの?
フローを見直してみましょう。
トラフィックの代行受信とリダイレクト
8 – ブラウザにログインページが表示されない
クライアントがTCP SYNをポート80に送信し、WLCがそれをインターセプトするかどうかを確認します。
ポート80へのTCP再転送
ここでは、クライアントがTCP SYNパケットをポート80に送信したものの、応答を受信せず、TCPの再送信を行っていることを確認できます。
グローバルコンフィギュレーションにip http serverコマンド、またはパラメータマップグローバルにwebauth-http-enableコマンドがあることを確認します。
HTTP代行受信コマンド
コマンドの後、WLCはTCPをインターセプトし、クライアントに応答してリダイレクトするために宛先IPアドレスをスプーフィングします。
WLCによるTCPインターセプション
まだ動かないの?
その他にも多数のソリューションが存在します。
ISEゲストログインポータルへのクライアントログイン
9 – クライアントはISEホスト名を解決できますか。
リダイレクトURLがIPまたはホスト名を使用するかどうか、およびクライアントがISEホスト名を解決するかどうかを確認します。
ISEホスト名の解決
リダイレクトURLにISEホスト名が含まれていても、クライアントデバイスがそのホスト名をISE IPアドレスに解決できない場合に、一般的な問題が発生します。hostnameを使用する場合は、がDNS経由で解決可能であることを確認します。
10 – ログインページがまだロードされない
クライアントトラフィックがISE PSNに到達するかどうかをWLC EPCおよびISE TCPdumpで確認します。WLCとISEでキャプチャを設定して開始します。
WLC EPCおよびISE TCPダンプ
問題の再現後に、キャプチャを収集してトラフィックを関連付けます。ここでは、ISEホスト名が解決され、クライアントとISEの間のポート8443での通信が確認できます。
WLCおよびISEトラフィック
11 – 証明書によってセキュリティ違反が発生するのはなぜですか。
ISEで自己署名証明書を使用する場合、クライアントがISEポータルのログインページを表示しようとすると、セキュリティ警告がスローされることが想定されます。
WLC EPCまたはISE TCPdumpで、ISE証明書が信頼できるかどうかを確認できます。
この例では、ISE証明書が不明(信頼できる)であることを意味するアラート(レベル:Fatal、説明:certificate Unknown)を伴うクライアントからの接続の終了を確認できます。
ISEの信頼できない証明書
クライアント側で確認すると、次の出力例が表示されます。
ISE証明書を信頼しないクライアントデバイス
最後に、リダイレクションが機能しています!!しかし、ログインは失敗します。
最後に1回フローを確認する…
クライアントログインおよびCoA
12 – ゲストログインが失敗しますか?
ISEログで認証の失敗を確認します。クレデンシャルが正しいことを確認します。
クレデンシャルが間違っているため、ゲスト認証が失敗する
13 – ログインは成功するが、実行に移行しない
ISEログで認証の詳細と結果を確認します。
リダイレクトループ
この例では、クライアントがリダイレクトURLとリダイレクトACLを含む認可プロファイルを再度取得していることがわかります。その結果、リダイレクトループが発生します。
ポリシーセットを確認します。Guest_Flowのルールチェックは、リダイレクトの前に行う必要があります。
Guest_Flowルール
14 - COAが失敗しているか
EPCとISE TCPDumpを使用して、CoAトラフィックを確認できます。 WLCとISEの間でCoAポート(1700)が開いているかどうかを確認します。共有秘密が一致していることを確認します。
CoAトラフィック
注:バージョン17.4.X以降では、RADIUSサーバを設定する際に、CoAサーバキーも設定してください。共有秘密と同じキーを使用します(ISEではデフォルトで同じです)。この目的は、RADIUSサーバで設定されている共有秘密とは異なるCoAのキーをオプションで設定することです。Cisco IOS® XE 17.3では、Web UIは単にCoAキーと同じ共有秘密を使用していました。
バージョン17.6.1以降では、RADIUS(CoAを含む)がこのポートでサポートされています。RADIUSのサービスポートを使用する場合は、次の設定が必要です。
aaa server radius dynamic-author
client 10.48.39.28 vrf Mgmt-intf server-key cisco123
interface GigabitEthernet0
vrf forwarding Mgmt-intf
ip address x.x.x.x x.x.x.x
!if using aaa group server:
aaa group server radius group-name
server name nicoISE
ip vrf forwarding Mgmt-intf
ip radius source-interface GigabitEthernet0
結論
再開されたCWAチェックリストを次に示します。
- クライアントが正しいVLAN上に存在し、IPアドレスとDNSを取得していることを確認します。
- WLCでクライアントの詳細を取得し、パケットキャプチャを実行してDHCP交換を表示します。
- クライアントがDNS経由でホスト名を解決できることを確認します。
- WLCはポート80でリッスンする必要があります
- グローバルコマンドip http serverまたはグローバルパラメータマップコマンドwebauth-http-enableを確認します。
- 証明書の警告を回避するには、信頼できる証明書をISEにインストールします。
- CWAのWLCに信頼できる証明書をインストールする必要はありません。
- ISEでの認証ポリシーの詳細オプション「Continue」(ユーザが見つからない場合)
- スポンサーされたゲストユーザが接続し、URLリダイレクトとACLを取得できるようにするため。
また、トラブルシューティングで使用される主なツールは次のとおりです。
- WLC EPC
- 内部フィルタ:DHCPプロトコル、MACアドレス。
- WLCモニタ
- WLC RAトレース
- ISE ライブログ
- ISEのTCPDump
- ISE PSNインターフェイスでのパケットキャプチャの収集。
参考資料
Catalyst 9800 WLCおよびISEでの中央Web認証(CWA)の設定