Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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

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

データパスのデバッグやエンドツーエンドのデバッグをサポートすることにより、パケット処理パスにある複数の処理ユニットでトレースとデバッグを実行できます。パケットフィルターを実行することで、実稼働システムへの影響を最小限に抑えることができます。

パケット キャプチャの収集を目的にする場合は、パケット キャプチャのリリースで導入された運用モード パケット キャプチャJunos OS強19.3R1。動作 モードからのパケット キャプチャ を参照してください

SRX シリーズデバイスでは、パケットは、受信処理から送信プロセスまでのさまざまなコンポーネントに関連する一連のイベントを通過します。

データパスのデバッグ機能を使用すると、処理パスに沿ってさまざまなデータポイントでトレースとデバッグ (パケットのキャプチャ) を実行できます。パケット処理パスで使用可能なイベントは、以下のとおりです。NP 受信、ロードバランシング・スレッド (LBT)、jexec、パケット・オーダー・スレッド (.POT)、NP 送信。また、特定のモジュールのセキュリティフロートレースフラグが設定されている場合は、フローモジュールトレースを有効にすることもできます。

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

データ パス デバッグは、SRX1400、SRX3400、SRX3600、SRX4600、SRX5400、SRX5600、SRX5800。

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

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

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

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

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

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

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

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

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

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

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

運用モードからのパケットキャプチャ

データパスのデバッグやエンドツーエンドのデバッグにより、パケット処理パスにある複数の処理ユニットでトレースとデバッグが可能になります。パケットキャプチャは、データパスデバッグ機能の1つです。構成をコミットせずに、運用モードからパケットキャプチャを実行することで、実稼働システムへの影響を最小限に抑えることができます。

フィルターを使用してパケットをキャプチャし、キャプチャするパケットを定義することができます。パケットフィルターは、論理インタフェース、プロトコル、送信元 IP アドレスプレフィックス、送信元ポート、宛先 IP アドレスプレフィックス、宛先ポートに基づいてパケットを除外できます。パケットキャプチャ出力のファイル名、ファイルタイプ、ファイルサイズ、およびキャプチャサイズを変更できます。また、フィルタを2つのフィルタに拡張し、フィルタの値をスワップすることもできます。

動作モードからパケットをキャプチャするには、以下の手順を実行する必要があります。

  1. 動作モードから、 request packet-capture start CLI コマンドを使用して、要件に基づいてトラフィックのタイプをトレースするようにパケットフィルターを定義します。使用可能 request packet-capture start なパケット キャプチャ フィルター オプションについては、 を参照してください。
  2. 必要なパケットをキャプチャします。
  3. request packet-capture stop CLI コマンドを使用してパケットキャプチャを停止するか、または要求された数のパケットを収集した後に、パケットキャプチャが自動的に停止します。
  4. キャプチャしたパケットデータレポートを表示または分析します。

運用モードからパケットを取得する際の制限事項は以下のとおりです。

  1. 構成モードのパケットキャプチャと運用モードのパケットキャプチャを共存させることはできません。

  2. 動作モードパケットキャプチャは1回限りの操作であり、システムにはこのコマンドの履歴は格納されません。

  3. 運用モードのパケットキャプチャは、トラフィックフローの割合を低くして使用する必要があります。

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

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

Trace 関数は分散した方法で動作し、各スレッドが独自のトレースバッファーに書き込みを行います。その後、これらのトレースバッファーは、1つの時点で収集され、その並べ替えと、トレースファイルへの書き込みを行います。トレースメッセージは、プロセス間通信 (IPC) プロトコルを使用して配信されます。トレースメッセージは、BGP、OSPF、IKE など、制御プロトコルパケットの場合よりも優先度が低く、そのため配信は信頼性の高いと見なされません。

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

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

データパスのデバッグ (CLI プロシージャ)

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

データパスのデバッグ用にデバイスを構成するには、次の手順に従います。

  1. 以下の request コマンドを指定して、パケット処理パスにある複数の処理ユニットに対してデータパスのデバッグを設定します。
  2. 次のコマンドを使用して、データパスデバッグのトレースオプションを指定します。
  3. [セキュリティパケットフィルターの要求] コマンドを使用して、パケットフィルターを設定して、関連するパケットを指定してデータパスデバッグアクションを実行することができます。同時に最大4個のフィルターがサポートされています。たとえば、最初のパケットフィルターを設定するには、次のようなコマンドを使用します。
  4. [セキュリティアクションの要求-プロファイル] コマンドを使用して、指定したフィルタのパケット一致のアクションを設定できます。デフォルトアクションプロファイルのみがサポートされています。これは、ネットワークプロセッサー ezchip 受信、ezchip 送信、spu lbt、spu のトレースオプションです。

フローデバッグトレースオプションの設定 (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 文字です。名前にスペース、/、または% 文字を含めることはできません。デフォルトのファイル名はセキュリティです。

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

  • 情報をファイルに記録する際にシステムが使用する照合基準を指定するには、次の文を入力します。正規表現を入力します。ワイルドカード (*) 文字が受け入れられます。

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

  • トレースファイルが拡張できる最大サイズを指定するには、次のステートメントを入力します。ファイルのサイズが指定されたサイズに達すると、ファイル名が圧縮され、ファイル名が0.gzに変更され、次のファイルの名前は1.gzになります。有効な値の範囲は、10240 ~ 1073741824 です。

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

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

ログとトレースファイルの表示

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

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

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

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

目的

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

アクション

このshow security traceoptionsコマンドを使用して、トレースファイルの出力を表示します。たとえば、以下のように記述します。

この例の出力は次のようになります。

マルチキャストトレース操作の表示

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

この例ではmtrace 、クエリのみを表示します。しかし、デバイスがmtrace応答をキャプチャすると、ディスプレイは似ていますがmtracemtrace from-sourceコマンド出力に表示されるとおりに完全な応答も表示されます。

表 1表示の出力フィールドの概要を示します。

表 1: CLI mtrace monitor コマンドの出力の概要

]

説明

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には、次の構文でコマンドを入力します。

表 2tracerouteコマンドオプションについて説明します。

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

オプション

説明

host

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

interface interface-name

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

as-number-lookup

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

bypass-routing

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

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

gateway address

ナでは、指定したゲートウェイを経由してルーティングが実行されます。

inet

ナTraceroute パケットを IPv4 宛先に強制的に移動させます。

inet6

ナTraceroute パケットを IPv6 宛先に強制します。

no-resolve

ナパス上のホップのホスト名の表示を抑制します。

routing-instance routing-instance-name

ナTraceroute に指定したルーティングインスタンスを使用します。

source address

ナTraceroute パケットで指定した送信元アドレスを使用します。

tos number

ナTraceroute パケットの IP ヘッダーにあるサービスタイプ (TOS) 値を設定します。からの0値を指定255してください。

ttl number

ナTraceroute パケットの生存期間 (TTL) 値を設定します。0通過128するホップ数を指定します。

wait seconds

ナ応答を待機する最大時間を設定します。

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

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

この画面に表示されるフィールドは、J-Web traceroute 診断ツールによって表示されているものと同じです。

例:SRX シリーズデバイス上でのエンドツーエンドデバッグの構成

この例は、SRX5K-MPC の MPC を使用して、SRX シリーズデバイスでエンドツーエンドのデバッグを設定して有効にする方法を示しています。

要件

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

  • 100-ギガビットイーサネット CFP トランシーバーを搭載した SRX5K-MPC の MPC を搭載したデバイスを SRX5600

  • Junos OS SRX シリーズデバイスのリリース 12.1 X47-D15 またはそれ以降

開始する前に:

この機能を設定する前に、デバイス初期化以外の特別な設定は不要です。

概要

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

この例では、トラフィックフィルターを定義してから、アクションプロファイルを適用します。アクションプロファイルによって、処理ユニットに対するさまざまなアクションが指定されます。受信および送信は、処理パス上の位置として指定され、着信および発信トラフィック用のデータを取得します。

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

注:

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

構成

手順

CLI クイック構成

この例を簡単に構成するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致する必要がある詳細を変更し、コマンドを[edit]階層レベルで CLI にコピー & ペーストしてから設定commitモードから開始します。

順を追った手順

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

データパスデバッグを構成するには、次の手順に従います。

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

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

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

結果

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

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

データパスのデバッグを可能にする

手順

順を追った手順

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

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

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

    注:

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

検証

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

データパスを検証していますパケットキャプチャの詳細情報

目的

データパスのデバッグ構成を有効にすることによってキャプチャされたデータを確認します。

アクション

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

簡潔にするためshowに、コマンド出力は一部のサンプルのみを表示するように切り捨てられています。その他のサンプルは、省略記号 (...) で置き換えられています。

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

注:

データパスデバッグのトラブルシューティングが完了したら、すべてtraceoptionsの (フロー traceoptions に限定されません) と、完全なデータパスデバッグ構成 (パケットキャプチャ (パケット取り込み) 用のデータパスデバッグ構成など) を削除します。手動で開始または停止する必要があります。デバッグ設定の任意の部分がアクティブな場合、デバイスのリソース (CPU/メモリ) を使用し続けることになります。