Citrix ADC クラスターのパケットのトレース
CitrixのADCのオペレーティングシステムは、受信したアプライアンスによって送出されたパケットのダンプを取得するためのユーティリティと呼ばれる NSのトレースを 提供します。このユーティリティは、パケットをトレースファイルに格納します。これらのファイルを使用して、クラスタノードへのパケットフローの問題をデバッグできます。トレースファイルは、Wireshark アプリケーションで表示する必要があります。
nstraceユーティリティのいくつかの重要な側面は次のとおりです。
- 従来の式とデフォルトの式を使用して、パケットを選択的にトレースするように設定できます。
- 複数の形式でトレースをキャプチャできます:nsトレース形式(.cap)およびTCPダンプ形式(.pcap)。
- 構成コーディネータ上のすべてのクラスターノードのトレースファイルを集約できます。
- 複数のトレースファイルを単一のトレースファイルにマージできます(.capファイルのみ)。
ns traceユーティリティは、Citrix ADCコマンドラインまたはCitrix ADCシェルから使用できます。
スタンドアロンアプライアンスのパケットをトレースするには
アプライアンスでstartnstraceコマンドを実行します。このコマンドは、/var/nstrace/ <date-timestamp> ディレクトリにトレースファイルを作成します。トレースファイル名の形式はnstraceです。 < id \ >.cap.
show ns traceコマンドを実行すると、ステータスを表示できます。stop ns traceコマンドを実行すると、パケットのトレースを停止できます。
注
nstrace.shファイルを実行して、Citrix ADCシェルからnstraceユーティリティを実行することもできます。ただし、Citrix ADCコマンドラインインターフェイスを介してnstraceユーティリティを使用することをお勧めします。
クラスタのパケットをトレースするには
すべてのクラスターノード上のパケットをトレースし、構成コーディネータ上のすべてのトレースファイルを取得できます。
クラスタIPアドレスでstartnstraceコマンドを実行します。コマンドは伝播され、すべてのクラスターノードで実行されます。トレースファイルは、の個々のクラスターノードに保存されます。 /var/nstrace/<date-timestamp>
ディレクトリ。トレースファイル名の形式はnstraceです。 < id>_node < id \ >.cap.
各ノードのトレースファイルを使用して、ノードの操作をデバッグできます。ただし、すべてのクラスターノードのトレースファイルを1つの場所に配置する場合は、クラスターのIPアドレスに対してstop nstraceコマンドを実行する必要があります。すべてのノードのトレースファイルは、のクラスター構成コーディネーターにダウンロードされます。 /var/nstrace/<date-timestamp>
ディレクトリは次のとおりです。
複数のトレースファイルをマージする
トレースファイルから単一のファイルを準備できます(でのみサポートされます)。キャップファイル)クラスターノードから取得。単一のトレースファイルは、クラスターパケットのトレースの累積的なビューを提供します。単一のトレースファイル内のトレースエントリは、クラスタでパケットが受信された時間に基づいてソートされます。
トレースファイルをマージするには、Citrix ADCシェルで次のように入力します。
> nstracemerge.sh -srcdir \<DIR\> -dstdir \<DIR\> -filename \<name\> -filesize \<num\>
各項目の意味は次のとおりです。
-
srcdir
トレースファイルのマージ元のディレクトリです。このディレクトリ内のすべてのトレースファイルは、単一のファイルにマージされます。 -
dstdir
マージされたトレースファイルが作成されるディレクトリです。 -
Filename
作成されるトレースファイルの名前です。 -
Filesize
トレースファイルのサイズです。
例
以下は、nstraceユーティリティを使用してパケットをフィルタリングする例です。
-
3 つのノードのバックプレーンインターフェイス上のパケットをトレースするには、次の手順を実行します。
クラシックエクスプレッションの使用:
> start nstrace -filter "INTF == 0/1/1 && INTF == 1/1/1 && INTF == 2/1/1"
既定のエクスプレッションを使用する:
> start nstrace -filter "CONNECTION.INTF.EQ("0/1/1") && CONNECTION.INTF.EQ("1/1/1") && CONNECTION.INTF.EQ("2/1/1")"
-
送信元 IP アドレス 10.102.34.201、または送信元ポートが 80 より大きく、サービス名が”s1” でないシステムからのパケットをトレースするには、次の手順を実行します。
クラシックエクスプレッションの使用
> start nstrace -filter \"SOURCEIP == 10.102.34.201 \|| \(SVCNAME != s1 && SOURCEPORT > 80)\"
既定のエクスプレッションの使用
> start nstrace -filter \"CONNECTION.SRCIP.EQ\(10.102.34.201) \|| \(CONNECTION.SVCNAME.NE\(\"s1\") && CONNECTION.SRCPORT.GT\(80))\"
注
ns トレースで使用されるフィルタの詳細については、 ns トレースを参照してください。
トレース中の SSL セッションキーのキャプチャ
「startnstrace」コマンドを実行すると、新しい capsslkeys
パラメーターを設定して、すべてのSSLセッションのSSLマスターキーをキャプチャできます。このパラメータを指定すると、nstrace.sslkeys という名前のファイルがパケットトレースとともに生成されます。このファイルは Wireshark にインポートして、対応するトレースファイル内の SSL トラフィックを復号化できます。
この機能は、後でSSLトラフィックを復号化するために Wireshark にインポートできるセッションキーをエクスポートするWebブラウザに似ています。
SSL セッションキーを使用する利点
SSL セッションキーを使用する利点は次のとおりです。
- キャプチャの SSLPLAIN モードによって作成された余分なパケットを含まない小さなトレースファイルを生成します。
- トレースからプレーンテキスト [SP (1)] を表示し、マスターキーファイルを共有するか、機密データを共有しないことによって保護するかを選択できます。
SSL セッションキーを使用する場合の制限事項
SSL セッションキーを使用する際の制限事項を次に示します。
- セッションの最初のパケットがキャプチャされていない場合、SSLセッションを復号化することはできません。
- 連邦情報処理標準 (FIPS) モードが有効になっている場合は、SSL セッションをキャプチャできません。
コマンドラインインターフェイス(CLI)を使用して SSL セッションキーをキャプチャするには
コマンドプロンプトで次のコマンドを入力して、トレースファイルの SSL セッションキーを有効または無効にし、トレース操作を確認します。
> start nstrace -capsslkeys ENABLED
> show nstrace
Example
> start nstrace -capsslkeys ENABLED
> show nstrace
State: RUNNING Scope: LOCAL TraceLocation: "/var/nstrace/04May2016_17_51_54/..."
Nf: 24 Time: 3600 Size: 164 Mode: TXB NEW_RX
Traceformat: NSCAP PerNIC: DISABLED FileName: 04May2016_17_51_54 Link: DISABLED
Merge: ONSTOP Doruntimecleanup: ENABLED TraceBuffers: 5000 SkipRPC: DISABLED
SkipLocalSSH: DISABLED Capsslkeys: ENABLED InMemoryTrace: DISABLED
Done
Citrix ADC GUIを使用してSSLセッションキーを構成するには
- アプライアンスの暗号化パケットのトレースを開始するには、[設定] > [システム] > [診断] > [テクニカルサポートツール] に移動し、[新しいトレースの開始] をクリックします。
- [トレースの開始] ページで、[SSL マスターキーのキャプチャ] チェックボックスをオンにします。
- [OK] をクリックし、[完了] をクリックします。
SSL マスターキーを Wireshark にインポートするには
Wireshark GUI で、[編集] > [環境設定] > [プロトコル] > [SSL] > [(Pre)-Master-Secret ログファイル名] に移動し、アプライアンスから取得したマスターキーファイルを指定します。