Citrix ADC

Citrix ADC クラスターのパケットのトレース

Citrix ADCオペレーティングシステムには、アプライアンスが送受信するパケットのダンプを取得するための、 nstrace というユーティリティが用意されています。このユーティリティは、パケットをトレースファイルに格納します。これらのファイルを使用して、クラスタノードへのパケットフローの問題をデバッグできます。トレースファイルは、Wireshark アプリケーションで表示する必要があります。

nstrace ユーティリティの重要な側面は次のとおりです。

  • 従来の式とデフォルトの式を使用して、パケットを選択的にトレースするように設定できます。
  • トレースを複数の形式でキャプチャできます。nstrace 形式 (.cap) と TCP ダンプ形式 (.pcap)。
  • 構成コーディネータ上のすべてのクラスターノードのトレースファイルを集約できます。
  • 複数のトレースファイルを 1 つのトレースファイルにマージできます (.cap ファイルのみ)。

nstrace ユーティリティーは、Citrix ADC コマンドラインまたは Citrix ADC シェルから使用できます。

スタンドアロンアプライアンスのパケットをトレースするには

アプライアンスで start nstrace コマンドを実行します。このコマンドは、/var/nstrace/ <date-timestamp> ディレクトリにトレースファイルを作成します。トレースファイル名の形式は nstrace <id> .cap です。

ステータスを表示するには、 show nstrace コマンドを実行します。stop nstrace コマンドを実行すると、パケットのトレースを停止 できます。

また、nstrace.sh ファイルを実行して、 Citrix ADC シェルから nstrace ユーティリティを実行することもできます。ただし、Citrix ADCコマンドラインインターフェイスからnstraceユーティリティを使用することをお勧めします。

クラスタのパケットをトレースするには

すべてのクラスターノード上のパケットをトレースし、構成コーディネータ上のすべてのトレースファイルを取得できます。

クラスタの IP アドレスに対して start nstrace コマンドを実行します。コマンドが伝播され、すべてのクラスタノードで実行されます。トレースファイルは、/var/nstrace/ <date-timestamp> ディレクトリの個々のクラスタノードに格納されます。トレースファイル名の形式は nstrace <id> _node <id> .cap です。

各ノードのトレースファイルを使用して、ノードの操作をデバッグできます。ただし、すべてのクラスタノードのトレースファイルを 1 か所に配置する場合は、クラスタ IP アドレスに対して stop nstrace コマンドを実行する必要があります。すべてのノードのトレースファイルは、<date-timestamp> 次のようにクラスタ構成コーディネータの /var/nstrace/ ディレクトリにダウンロードされます。

ローカライズされた画像

複数のトレースファイルをマージする

クラスタノードから取得したトレースファイル (.cap ファイルのみサポート) から 1 つのファイルを準備できます。単一のトレースファイルでは、クラスタパケットのトレースの累積的なビューが提供されます。単一のトレースファイル内のトレースエントリは、クラスタでパケットが受信された時間に基づいてソートされます。

トレースファイルをマージするには、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))"
    

nstrace で使用されるフィルタの詳細については、「nstrace」を参照してください。

トレース中の SSL セッションキーのキャプチャ

「start nstrace」コマンドを実行すると、新しい「capsslkeys」パラメータを設定して、すべての SSL セッションの SSL マスターキーを取得できます。このパラメータを指定すると、nstrace.sslkeys という名前のファイルがパケットトレースとともに生成されます。このファイルは Wireshark にインポートして、対応するトレースファイル内の SSL トラフィックを復号化できます。

この機能は、後でSSLトラフィックを復号化するために Wireshark にインポートできるセッションキーをエクスポートするWebブラウザに似ています。

SSL セッションキーを使用する利点

SSL セッションキーを使用する利点は次のとおりです。

  1. キャプチャの SSLPLAIN モードによって作成された余分なパケットを含まない小さなトレースファイルを生成します。
  2. トレースからプレーンテキスト [SP (1)] を表示し、マスターキーファイルを共有するか、機密データを共有しないことによって保護するかを選択できます。

SSL セッションキーを使用する場合の制限事項

SSL セッションキーを使用する際の制限事項を次に示します。

  1. セッションの最初のパケットがキャプチャされない場合、SSL セッションは復号化できません。
  2. 連邦情報処理標準 (FIPS) モードが有効になっている場合は、SSL セッションをキャプチャできません。

コマンドラインインターフェイス(CLI)を使用して SSL セッションキーをキャプチャするには

コマンドプロンプトで次のコマンドを入力して、トレースファイルの SSL セッションキーを有効または無効にし、トレース操作を確認します。

> start nstrace -capsslkeys ENABLED
> show nstrace
例
> 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セッションキーを構成するには

  1. アプライアンスの暗号化パケットのトレースを開始するには、[設定] > [システム] > [診断] > [テクニカルサポートツール] に移動し、[新しいトレースの開始] をクリックします。
  2. [トレースの開始] ページで、[SSL マスターキーのキャプチャ] チェックボックスをオンにします。
  3. [OK] をクリックし、[完了] をクリックします。

SSL マスターキーを Wireshark にインポートするには

Wireshark GUI で、[編集] > [環境設定] > [プロトコル] > [SSL] > [(Pre)-Master-Secret ログファイル名] に移動し、アプライアンスから取得したマスターキーファイルを指定します。

Citrix ADC クラスターのパケットのトレース