Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

データパスのデバッグとトレースオプションを設定する

SRXシリーズデバイスのデータパスデバッグについて理解する

データパスデバッグ、またはエンドツーエンドデバッグのサポートは、パケット処理パスに沿った複数の処理ユニットでトレースとデバッグを提供します。パケット フィルターは、実稼働システムへの影響を最小限に抑えて実行できます。

SRXシリーズファイアウォールでは、パケットはイングレス処理からエグレス処理まで、さまざまなコンポーネントが関与する一連のイベントを通過します。

データパスデバッグ機能を使用すると、処理パス上のさまざまなデータポイントでトレースとデバッグ(パケットのキャプチャ)を行うことができます。パケット処理パスで使用可能なイベントは、NP ingress、ロードバランシングスレッド(LBT)、jexec、パケット順序スレッド(POT)、NP egressです。特定のモジュールのセキュリティフロートレースフラグが設定されている場合は、フローモジュールトレースを有効にすることもできます。

各イベントで、4つのアクション(カウント、パケットダンプ、パケットサマリー、トレース)のいずれかを指定できます。データパスのデバッグは、キャプチャするパケットを定義するフィルターを提供し、一致したパケットのみがトレースされます。パケットフィルターは、論理インターフェイス、プロトコル、送信元IPアドレスプレフィックス、送信元ポート、宛先IPアドレスプレフィックス、宛先ポートに基づいてパケットを除外できます。

データパスのデバッグは、SRX4600、SRX4700、SRX5400、SRX5600、SRX5800でサポートされています。

エンドツーエンドのデバッグを有効にするには、以下の手順を実行する必要があります。

  1. キャプチャファイルを定義し、最大キャプチャサイズを指定します。

  2. 要件に基づいて、特定のタイプのトラフィックのみをトレースするようにパケットフィルターを定義します。

  3. パケットをキャプチャする処理パス上の場所(LBTやNP ingressなど)を指定するアクションプロファイルを定義します。

  4. データパスのデバッグを有効にします。

  5. トラフィックをキャプチャします。

  6. データパスのデバッグを無効にします。

  7. レポートを表示または分析します。

ポートとインターフェイスオプションのパケットフィルタリング動作は、以下のとおりです。

  • ポート のみが 指定されている場合、パケット フィルターは IPv4 と IPv6 の両方のトラフィックをトレースします。

  • パケットフィルターは、 インターフェイス のみが指定されている場合、IPv4、IPV6、および非IPトラフィックをトレースします。

トレース オプションを使用したセキュリティ デバッグの理解

Junos OSトレース機能により、アプリケーションはセキュリティデバッグ情報をファイルに書き込むことができます。このファイルに表示される情報は、設定した基準に基づいています。この情報を使用して、セキュリティアプリケーションの問題を分析できます。

トレース機能は分散方式で動作し、各スレッドは独自のトレースバッファーに書き込みます。これらのトレースバッファは、ある時点で収集され、ソートされ、トレースファイルに書き込まれます。トレースメッセージは、InterProcess Communications(IPC)プロトコルを使用して配信されます。トレースメッセージは、BGP、OSPF、IKEなどの制御プロトコルパケットよりも優先度が低いため、配信の信頼性は低いと見なされます。

トレース オプションを使用したフロー デバッグの理解

フロー トレース オプションでは、 宛先ポート宛先プレフィックスインターフェイスプロトコル送信元ポート送信元プレフィックスの組み合わせを使用してパケット フィルターを定義できます。特定のモジュールのセキュリティフロートレースフラグが設定されている場合、特定のパケットフィルターに一致するパケットがフロートレースをトリガーし、デバッグ情報をトレースファイルに書き込みます。

データパスのデバッグを設定する(CLI手順)

データパスのデバッグは、SRX5400、SRX5600、SRX5800でサポートされています。

データパスデバッグ用にデバイスを設定するには:

  1. 以下のリクエストコマンドを指定して、パケット処理パスに沿った複数の処理ユニットのデータパスデバッグを設定します。
  2. 以下のコマンドを使用して、data path-debugのトレースオプションを指定します。
  3. request security packet-filterコマンドを使用して、パケットフィルターを設定し、データパスデバッグアクションを実行する関連パケットを指定できます。同時に最大4つのフィルターがサポートされます。例えば、次のコマンドは最初のパケットフィルターを設定します。
  4. request security action-profileコマンドを使用して、指定されたフィルターのパケット一致に対するアクションを設定できます。デフォルトのアクションプロファイルのみがサポートされます。これは、ネットワークプロセッサのezchip ingress、ezchip egress、spu.lbt、spu.potのトレースオプションです。

フローデバッグトレースオプションの設定(CLI手順)

以下の例は、 security flow traceoptionsを使用して設定できるオプションを示しています。

  • filter1パケットフィルターのIMAP宛先ポートに一致させるには、次のステートメントを使用します。

  • filter1パケットフィルターに1.2.3.4宛先IPv4プレフィックスアドレスを設定するには、次のステートメントを使用します。

  • filter1 パケット フィルターに fxp0 論理インターフェイスを設定するには、次のステートメントを使用します。

  • filter1パケットフィルターのTCP IPプロトコルに一致させるには、以下のステートメントを使用します。

  • filter1パケットフィルターのHTTP送信元ポートに一致させるには、以下のステートメントを使用します。

  • filter1パケットフィルターに5.6.7.8 IPv4プレフィックスアドレスを設定するには、次のステートメントを使用します。

セキュリティ トレース オプションの設定 (CLI 手順)

以下の設定ステートメントを使用して、CLI設定エディターでセキュリティトレースオプションを設定します。

  • リモート トレースを無効にするには、次のステートメントを入力します。

  • トレースメッセージをローカルファイルに書き込むには、以下のステートメントを入力します。システムはトレース ファイルを /var/log/ ディレクトリに保存します。

  • トレース ファイルの名前を指定するには、次のステートメントを入力します。有効な値は1文字から1024文字です。名前にスペース、/、または%文字を含めることはできません。デフォルトのファイル名はsecurityです。

  • 蓄積できるトレースファイルの最大数を指定するには、以下のステートメントを入力します。有効な値の範囲は2から1000です。デフォルト値は3です。

  • ファイルに情報をログに記録する際にシステムで使用する一致基準を指定するには、次のステートメントを入力します。正規表現を入力します。ワイルドカード(*)文字が使用できます。

  • すべてのユーザーがトレース ファイルを読み取れるようにするには、 world-readable ステートメントを入力します。それ以外の場合は、 no-world-readable ステートメントを入力します。

  • トレース・ファイルが拡張できる最大サイズを指定するには、以下のステートメントを入力します。ファイルが指定されたサイズに達すると、圧縮されて名前が filename0.gzに変更され、次のファイルの名前は filename1.gzに変更されます。有効な値の範囲は 10240 から 1,073,741,824 です。

  • トレースオプションを有効にし、複数のトレース操作を実行するには、以下のフラグを設定します。

  • これらのトレース オプション設定を適用するグループまたは適用しないグループを指定するには、以下のステートメントを入力します。

ログファイルとトレースファイルを表示する

システムログとトレースファイルへのリアルタイムの追加を表示するには、 monitor start コマンドを入力します。

デバイスがfilenameで指定されたファイルにレコードを追加すると、そのレコードが画面に表示されます。例えば、system-log という名前のシステムログファイルを([edit system] 階層レベルに syslog ステートメントを含めることで)設定した場合、monitor start system-log コマンドを入力して、システムログに追加されたレコードを表示できます。

監視中のファイルのリストを表示するには、 monitor list コマンドを入力します。指定したファイルのレコードの表示を停止するには、 monitor stop filename コマンドを入力します。

セキュリティ トレース オプションの出力を表示する

目的

セキュリティ トレース オプションの出力を表示します。

アクション

show security traceoptionsコマンドを使用して、トレースファイルの出力を表示します。次に例を示します。

この例の出力は以下の通りです。

マルチキャスト トレース操作を表示する

マルチキャストトレース操作を監視および表示するには、 mtrace monitor コマンドを入力します。

この例では、 mtrace クエリのみが表示されます。ただし、デバイスが mtrace 応答をキャプチャすると、表示は似ていますが、完全な mtrace 応答も表示されます( mtrace from-source コマンド出力に表示されるのとまったく同じです)。

表1は 、ディスプレイの出力フィールドをまとめたものです。

表 1: CLI mtrace モニター コマンド出力の概要

フィールド

説明

Mtrace operation-type at time-of-day

  • operation-type—マルチキャストトレース操作のタイプ: query または response

  • time-of-day—マルチキャストトレースクエリまたは応答がキャプチャされた日付と時刻。

by

クエリを発行するホストのIPアドレス。

resp to address

address—応答宛先アドレス。

qid qid

qid—クエリーID番号。

packet from source to destination

  • source—クエリまたは応答の送信元のIPアドレス。

  • destination—クエリまたは応答の宛先のIPアドレス。

from source to destination

  • source—マルチキャスト送信元のIPアドレス。

  • destination—マルチキャスト宛先のIPアドレス。

via group address

address—グループ アドレスがトレースされています。

mxhop=number

number—最大ホップ設定。

デバイスリストの表示

デバイスと指定された宛先ホスト間のデバイスのリストを表示するには、次の構文を使用して traceroute コマンドを入力します。

表2にtraceroute コマンドオプションを示します。

表2:CLI tracerouteコマンドオプション

オプション

説明

host

指定したホスト名またはIPアドレスにトレースルートパケットを送信します。

interface interface-name

(オプション)指定したインターフェイスでトレースルートパケットを送信します。このオプションが含まれていない場合、すべてのインターフェイスでトレースルートパケットが送信されます。

as-number-lookup

(オプション)デバイスと宛先ホスト間の各中間ホップの自律システム(AS)番号を表示します。

bypass-routing

(オプション)ルーティングテーブルをバイパスし、トレースルートパケットを直接接続されたインターフェイス上のホストにのみ送信します。ホストが直接接続されたインターフェイスではない場合、エラー メッセージが返されます。

このオプションを使用して、ルートを通るルートを持たないインターフェイスを介してローカルシステムへのルートを表示します。

gateway address

(オプション)指定したゲートウェイを使用してルーティングします。

inet

(オプション)IPv4 宛先へのトレースルート パケットを強制します。

inet6

(オプション)IPv6 宛先へのトレースルート パケットを強制します。

no-resolve

(オプション)パスに沿ったホップのホスト名の表示を抑止します。

routing-instance routing-instance-name

(オプション)トレースルートに指定したルーティングインスタンスを使用します。

source address

(オプション)トレースルートパケットで指定した送信元アドレスを使用します。

tos number

(オプション)トレースルートパケットのIPヘッダーでサービスタイプ(TOS)値を設定します。 0 から 255までの値を指定します。

ttl number

(オプション)トレースルートパケットのTTL(Time-to-live)値を設定します。ホップ数を 0 から 128まで指定します。

wait seconds

(オプション)応答を待つ最大時間を設定します。

traceroute コマンドを終了するには、Ctrl-C を押します。

以下に、 traceroute コマンドの出力例を示します。

表示のフィールドは、J-Webトレースルート診断ツールで表示されるフィールドと同じです。

例:SRXシリーズデバイスでエンドツーエンドのデバッグを設定する

この例では、ハイエンドのSRXシリーズファイアウォールでパケットキャプチャを設定し、SRX5K-MPCを搭載したSRXシリーズファイアウォールでエンドツーエンドのデバッグを有効にする方法を示しています。

要件

この例では、以下のハードウェアおよびソフトウェアコンポーネントを使用しています。

  • SRX5K-MPCと100ギガビットイーサネットCFPトランシーバーがインストールされたSRX5600デバイス

  • SRXシリーズファイアウォール向けJunos OSリリース12.1X47-D15以降

始める前に:

この機能を設定する前に、デバイスの初期化以外の特別な設定を行う必要はありません。

概要

データパスのデバッグは、パケット処理パスに沿った複数の処理ユニットでトレースとデバッグを提供することで、トラブルシューティング機能を強化します。データパスデバッグ機能を使用すると、処理パス上のさまざまなデータポイントでトレースとデバッグ(パケットのキャプチャ)を行うことができます。各イベントでアクション(カウント、パケットダンプ、パケットサマリー、トレース)を指定し、フィルターを設定してキャプチャするパケットを定義できます。

この例では、トラフィックフィルターを定義してから、アクションプロファイルを適用します。アクションプロファイルは、処理ユニットに対してさまざまなアクションを指定します。イングレスとエグレスは、着信トラフィックと発信トラフィックのデータをキャプチャするための処理パス上の場所として指定されます。

次に、運用モードでデータ・パスのデバッグを有効にし、最後にデータ・キャプチャー・レポートを表示します。

注:

データパスのデバッグは、SRX5400、SRX5600、SRX5800でサポートされています。

設定

手順

CLIクイックコンフィグレーション

この例をすばやく設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルでCLIにコピー アンド ペーストして、設定モードから commit を入力します。

ステップバイステップの手順

次の例では、設定階層のさまざまなレベルに移動する必要があります。その方法の詳細については、『Junos OS CLIユーザーガイド』の 設定モードでの CLIエディターの使用 を参照してください。

データパスのデバッグを設定するには:

  1. パケット処理パスにある複数の処理ユニットのセキュリティデータパスデバッグオプションを編集します。

  2. キャプチャファイル、ファイル形式、ファイルサイズ、およびファイル数を有効にします。

  3. アクションプロファイルのアクションプロファイル、イベントタイプ、アクションを設定します。

結果

設定モードから、 show security datapath-debug コマンドを入力して設定を確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。

デバイスの設定が完了したら、設定モードから commit を入力します。

例:データパスデバッグ用にパケットキャプチャを設定する

この例では、デバイスを通過するトラフィックを監視するためにパケットキャプチャを設定する方法を示しています。パケットキャプチャは、パケットをPCAPファイル形式にダンプし、後でtcpdumpユーティリティで調べることができます。

要件

開始する前に、 データパスのデバッグを設定する(CLI手順)を参照してください。

概要

フィルターはトラフィックをフィルタリングするように定義されています。次に、フィルタリングされたトラフィックにアクションプロファイルが適用されます。アクションプロファイルは、処理ユニットに対してさまざまなアクションを指定します。サポートされているアクションの1つがパケットダンプであり、パケットをルーティングエンジンに送信し、 show security datapath-debug capture コマンドを使用して読み込めるように独自の形式で保存します。

設定

手順
CLIクイックコンフィグレーション

この例をすばやく設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルでCLIにコピー アンド ペーストして、設定モードから commit を入力します。

ステップバイステップの手順

次の例では、設定階層のさまざまなレベルに移動する必要があります。

パケットキャプチャを設定するには:

  1. パケット処理パスにある複数の処理ユニットのsecurity datapath-debugオプションを編集します。

  2. キャプチャファイル、ファイル形式、ファイルサイズ、およびファイル数を有効にします。サイズ番号は、キャプチャファイルのサイズを制限します。制限サイズに達した後、ファイル番号が指定されている場合、キャプチャファイルはファイル名 xにローテーションされ、指定されたインデックスに達するまで x が自動的にインクリメントされ、その後ゼロに戻ります。ファイルインデックスを指定しない場合、サイズ制限に達した後にパケットは破棄されます。デフォルトのサイズは512キロバイトです。

  3. アクションプロファイルを有効にし、イベントを設定します。アクションプロファイルをdo-captureとして、イベントタイプをnp-ingressとして設定します。

  4. アクションプロファイルのパケットダンプを有効にします。

  5. パケットフィルター、アクション、およびフィルターオプションを有効にします。パケットフィルターはmy-filter、アクションプロファイルはdo-capture、フィルターオプションはsource-prefix 10.2.3.4/32に設定されます。

結果

設定モードから、 show security datapath-debug コマンドを入力して設定を確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。

デバイスの設定が完了したら、設定モードから commit を入力します。

検証

設定が正常に機能していることを確認します。

パケットキャプチャの検証
目的

パケットキャプチャが機能していることを確認します。

アクション

動作モードから、 request security datapath-debug capture start コマンドを入力してパケットキャプチャを開始し、パケットキャプチャを停止するには request security datapath-debug capture stop コマンドを入力します。

結果を表示するには、CLI運用モードからローカルのUNIXシェルにアクセスし、/var/log/my-captureディレクトリに移動します。結果は、tcpdumpユーティリティを使用して読み取ることができます。

データパスのデバッグキャプチャを確認する
目的

データパスデバッグキャプチャファイルの詳細を確認します。

アクション

動作モードから、 show security datapath-debug capture コマンドを入力します。

トラブルシューティングが終了したら、すべてのtraceoptionsコンフィギュレーション(flow traceoptionsに限りません)と完全なsecurity datapath-debugコンフィギュレーション節が削除または無効化されていることを確認します。有効になったままのデバッグ設定がある場合は、デバイスのCPUとメモリ資源を使い続けます。

データパスのデバッグカウンターを検証する
目的

データパスデバッグカウンターの詳細を確認します。

アクション

動作モードから、 show security datapath-debug counter コマンドを入力します。

データパスのデバッグを有効にする

手順

ステップバイステップの手順

データパスのデバッグを設定した後、デバイス上で動作モードからプロセスを開始する必要があります。

  1. データパスのデバッグを有効にします。

  2. 設定を検証してレポートを表示する前に、データパスのデバッグを無効にする必要があります。

    注:

    データのキャプチャが完了したら、デバッグ プロセスを停止する必要があります。デバッグ プロセスを停止せずにキャプチャされたファイルを開こうとすると、取得したファイルはサードパーティ製ソフトウェア(tcpdump や wireshark など)を介して開くことはできません。

検証

設定が正常に機能していることを確認します。

データパスデバッグパケットキャプチャの詳細の検証

目的

データパスのデバッグ設定を有効にして、キャプチャされたデータを検証します。

アクション

動作モードから、 show security datapath-debug capture コマンドを入力します。

簡潔にするために、 show コマンドの出力は切り捨てられ、いくつかのサンプルのみが表示されます。追加サンプルは省略記号に置き換えられた(...)。

結果を表示するには、CLI運用モードからローカルのUNIXシェルにアクセスし、 /var/log/<file-name>ディレクトリに移動します。結果は、 tcpdump ユーティリティを使用して読み取ることができます。

注:

データパスのデバッグのトラブルシューティングが終了したら、手動で開始/停止する必要があるパケットキャプチャ(packet-dump)のデータパスデバッグ設定を含む、すべての traceoptions (フロートレースオプションに限定されません)と完全なデータパスデバッグ設定を削除します。デバッグ設定の一部がアクティブなままである場合、デバイスのリソース(CPU/メモリ)を引き続き使用します。