この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、最適なゲートウェイの選択(OGS)に関する問題をトラブルシュートする方法について説明します。OGS は、ラウンド トリップ時間(RTT)が最小のゲートウェイを特定してそのゲートウェイに接続するための機能です。OGS 機能を使用すれば、ユーザの介在なしでインターネット トラフィックの遅延を最小限に抑えることができます。Cisco AnyConnect セキュア モビリティ クライアント(AnyConnect)は、OGS を使用して、接続または再接続に最適なセキュア ゲートウェイを特定して選択します。OGS は、初回接続時または、直前の接続解除から 4 時間以上経過した後の再接続時に開始されます。詳細については、『管理者のガイド』を参照してください。
ヒント:OGSは、最新のAnyConnectクライアントおよびASAソフトウェアバージョン9.1(3)*以降と最も適切に連携します。
多くのCisco適応型セキュリティアプライアンス(ASA)ファイアウォールは、検出されないようにICMPパケットをブロックするように設定されているため、単純なInternet Control Message Protocol(ICMP)のping要求が機能しません。代わりに、クライアントは、すべてのプロファイルの merge に表示されるヘッドエンドごとに 3 つずつの HTTP/443 要求を送信します。これらの HTTP プローブはログ内の OGS ping と呼ばれていますが、前述したように、ICMP ping ではありません。(再)接続の時間を短縮するために、OGS は OGS ping の結果が 7 秒以内に戻ってこなかった場合に、デフォルトで前回のゲートウェイを選択します(ログで OGS ping results を探してください)。
注:AnyConnectはHTTP要求を443に送信する必要があります。これは、正常な応答ではなく応答自体が重要であるためです。残念ながら、プロキシ処理に対する修正では、すべての要求が HTTPS として送信されます。「Cisco Bug ID CSCtg38672 - OGS は HTTP 要求を使って ping する必要がある」を参照してください。
注:キャッシュにヘッドエンドがない場合、認証プロキシがあるかどうか、および要求を処理できるかどうかを判断するために、AnyConnectはまず1つのHTTP要求を送信します。サーバをプローブするために OGS ping を開始するのはこの初期要求の後だけです。
******************************************
Date : 10/04/2013
Time : 14:00:44
Type : Information
Source : acvpnui
Description : Function: ClientIfcBase::startAHS
File: .\ClientIfcBase.cpp
Line: 2785
OGS was already performed, previous selection will be used.
******************************************
注:単純なHTTP postを実行してからRTTとその結果を表示するHTTP-pingとは異なり、OGSの計算は少し複雑です。AnyConnect は、サーバごとに 3 つずつのプローブを送信し、送信した HTTP SYN 間の遅延とそれらのプローブごとの FIN/ACK を計算します。その後で、最も少ない差分を使ってサーバを比較して、選択を実行します。そのため、HTTP ping が、AnyConnect が選択するサーバの適切な指針になる場合でも、必ずしも一致しないことがあります。この詳細については後述します。
計算が終了すると、結果が preferences_global ファイルに保存されます。このデータがファイルに保存されないという問題が発生したことがあります。
詳細については、Cisco Bug ID CSCtj84626 を参照してください。
OGS キャッシングは、DNS ドメインと個別の DNS サーバ IP アドレスの組み合わせに対して機能します。その動作を以下に示します。
ここで、発生する可能性のある障害シナリオを示します。
OGSが使用されている場合、ユーザが接続されているゲートウェイへの接続が失われると、AnyConnectは バックアップサーバリストとnot 次のOGSホストに転送します。動作順序は次のとおりです。
注:管理者がバックアップサーバリストを設定する際、現在のプロファイルエディタでは、管理者はバックアップサーバの完全修飾ドメイン名(FQDN)の入力のみを許可され、プライマリサーバで可能なユーザグループの入力は許可されません。
これを修正するためにCisco Bug ID CSCud84778 が登録されましたが、バックアップサーバのホストアドレスフィールドに完全なURLを入力する必要があります。このURLで正しく動作するはずです:https://<ip-address>/usergroup。
OGS が再開後に動作するためには、マシンがスリープ状態になった時点で、AnyConnect が接続を確立している必要があります。再開後の OGS は、ネットワーク接続が使用可能であることを確認するためのネットワーク環境テストの実施後にのみ実行されます。このテストには DNS 接続サブテストが含まれます。
ただし、DNSサーバが「name not found」で応答するのではなく、クエリーフィールドにIPアドレスを含むタイプA要求をドロップする場合(より一般的なケースで、テスト中に常に発生)、Cisco Bug ID CSCti20768 「IPアドレスのタイプAのDNSクエリーは、タイムアウトを避けるためにPTRにする必要がある」が適用されます。
バージョン9.1(3)より前のASAバージョンを使用している場合は、クライアント上のキャプチャに、SSLハンドシェイクの永続的遅延が示されます。注目すべきは、クライアントがその ClientHello を送信してから、ASA がその ServerHello を送信することです。通常は、その後に証明書メッセージ(オプションの Certificate Request)と ServerHelloDone メッセージが続きます。異常はやり取りが 2 重になっていることです。
この現象は、TCP slow-start と TCP delayed-ACK の間のやり取りが原因で発生します。ASA バージョン 9.1(3) 以前は、ASA が 1 の slow-start ウィンドウ サイズを使用するのに対して、Windows クライアントは 2 の delayed-ACK 値を使用します。これは、ASA は ACK を受信するまで 1 つのデータ パケットしか送信しないことを意味しますが、クライアントは 2 つのデータ パケットを受信するまで ACK を送信しないことも意味します。ASA は、120 ms 後にタイムアウトして ServerHello を再送信してから、クライアントがデータを ACK して接続を継続します。 この動作は、Cisco Bug ID CSCug98113 によって変更されたため、ASA はデフォルトで、1 ではなく 2 の slow start ウィンドウ サイズを使用します。
これは、次の場合に OGS の計算に影響を与える可能性があります。
このような場合は、delayed-ACK によってもたらされた遅延によって、クライアントが間違った ASA を選択する可能性があります。 この値がクライアントと ASA で異なる場合も、問題が発生する可能性があります。このような場合の回避策は、Delayed Acknowledgements ウィンドウ サイズを調整することです。
Windows
注:ASAでTCPチューニングパラメータを設定可能にするために、Cisco Bug ID CSCum19065 が登録されました。
最も一般的な使用例を紹介します。あるユーザが自宅で OGS を初めて実行したときに、OGS が DNS 設定と OGS ping 結果をキャッシュ(デフォルトで 14 日間のタイムアウトに設定されている)に記録します。そのユーザが翌日の夕方に帰宅すると、OGS は同じ DNS 設定を検索して、それをキャッシュ内で発見し、OGS ping テストをスキップします。後日、そのユーザがインターネット サービスを提供しているホテルまたはレストランに行くと、OGS は別の DNS 設定を検出して OGS ping テストを実行し、最適なゲートウェイを選択して、その結果をキャッシュに記録します。
OGS と AnyConnect の再開設定で許可されていれば、中断状態または休止状態から再開される処理は同じです。
OGS キャッシュをクリアして使用可能なゲートウェイの RTT を再評価するには、PC から Global AnyConnect Preferences ファイルを削除するだけです。ファイルの場所はオペレーティング システム(OS)によって異なります。
C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\preferences_global.xml
Note: in older client versions it used to be stored in C:\ProgramData\Cisco\Cisco
AnyConnect VPN Client
C:\Documents and Settings\AllUsers\Application Data\Cisco\Cisco AnyConnect VPN
Client\preferences_global.xml
/opt/cisco/anyconnect/.anyconnect_global
Note: with older versions of the client it used to be /opt/cisco/vpn..
/opt/cisco/anyconnect/.anyconnect_global
Note: with older versions of the client it used to be /opt/cisco/vpn..
ヒント:キャプチャはOGSをテストするためだけに使用されるため、AnyConnectがゲートウェイを選択したらすぐにキャプチャを停止することをお勧めします。パケット キャプチャに悪影響を及ぼす可能性があるため、接続の試みは途中で切り上げることをお勧めします。
OGS が特定のゲートウェイを選択した理由を確認するには、次の手順を実行します。
******************************************
Date : 10/04/2013
Time : 14:21:27
Type : Information
Source : acvpnui
Description : Function: CHeadendSelection::CSelectionThread::Run
File: .\AHS\HeadendSelection.cpp
Line: 928
OGS starting thread named gw2.cisco.com
******************************************
******************************************この 3 つの値に注目することが重要です。これは、この値がキャプチャ結果と一致する必要があるからです。
Date : 10/04/2013
Time : 14:31:37
Type : Information
Source : acvpnui
Description : Function: CHeadendSelection::CSelectionThread::logThreadPingResults
File: .\AHS\HeadendSelection.cpp
Line: 1137
OGS ping results for gw2.cisco.com: (219 218 132 )
******************************************
******************************************
Date : 10/04/2013
Time : 12:29:38
Type : Information
Source : vpnui
Description : Function: CHeadendSelection::logPingResults
File: .\AHS\HeadendSelection.cpp
Line: 589
*** OGS Selection Results ***
OGS performed for connection attempt. Last server: 'gw2.cisco.com'
Results obtained from OGS cache. No ping tests were performed.
Server Address RTT (ms)
gw1.cisco.com 302
gw2.cisco.com 132 <========= As seen, 132 was the lowest delay
of the three probes from the previous DART log
gw3.cisco.com 506
gw4.cisco.com 877
Selected 'gw2.cisco.com' as the optimal server.
******************************************
RTT の計算に使用された TCP/SSL プローブのキャプチャを検査します。HTTPS 要求が 1 回の TCP 接続を占有する時間を確認します。プローブ要求ごとに別々の TCP 接続を使用する必要があります。これを実現するには、Wireshark 内のキャプチャを開いて、サーバごとに次の手順を繰り返します。
キャプチャの分析後に、決定されたRTT値が計算され、DARTログに記録された値と比較された結果、すべてが一致していることがわかった場合でも、誤ったゲートウェイが選択されているように見える場合は、次の2つの問題のいずれかが原因です。
Q:OGSはロードバランシングで動作しますか。
A:はい。OGS は、クラスタ マスター名だけを認識して、それを最も近いヘッドエンドの判別に使用します。
Q: OGSは、ブラウザで定義されているプロキシ設定で動作しますか。
A: OGSでは、自動プロキシまたはプロキシ自動設定(PAC)ファイルはサポートされませんが、ハードコードされたプロキシサーバはサポートされます。そのため、OGS 操作は行われません。 関連するログメッセージは「自動プロキシ検出が設定されているため、OGSは実行されません」です。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
26-Oct-2013 |
初版 |