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. レポートを表示または分析します。

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

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

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

動作モードからのパケット キャプチャ

データ パスのデバッグまたはエンドツーエンド のデバッグは、パケット処理パスに沿って複数の処理ユニットでトレースとデバッグを提供します。パケット キャプチャは、データ パス デバッグ機能の 1 つです。設定をコミットすることなく、実稼働システムへの影響を最小限に抑えながら、動作モードからパケット キャプチャを実行できます。

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

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

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

動作モードからパケットをキャプチャする制限は次のとおりです。

  1. 設定モード パケット キャプチャと動作モード パケット キャプチャは共存できません。

  2. 動作モード パケット キャプチャは 1 回の操作であり、システムはこのコマンドの履歴を保存しません。

  3. 低レートのトラフィック フローで動作モード パケット キャプチャを使用する必要があります。

トレース オプションを使用したセキュリティ デバッグについて

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

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

トレース オプションを使用したフロー デバッグについて

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

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

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

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

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

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

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

  • フィルター 1 パケット フィルターの imap 宛先ポートを照合するには、次のステートメントを使用します。

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

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

  • filter1 パケット フィルターの TCP IP プロトコルを照合するには、次のステートメントを使用します。

  • フィルター 1 パケット フィルターの HTTP ソース ポートを照合するには、次のステートメントを使用します。

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

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

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

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

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

  • トレース・ファイルの名前を指定するには、以下のステートメントを入力します。有効な値の範囲は 1~1024 文字です。名前には、スペース、/、または % 文字を含めることはできません。デフォルトのファイル名はセキュリティです。

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

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

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

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

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

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

ログおよびトレース・ファイルの表示

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

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

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

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

目的

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

対処

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

この例の出力は次のとおりです。

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

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

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

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

表 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 を使用して SRX シリーズ デバイスでエンドツーエンド のデバッグを構成および有効にする方法を示しています。

要件

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

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

  • SRX シリーズ デバイス用 Junos OS リリース 12.1X47-D15 以降

開始する前に、以下を行います。

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

概要

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

この例では、トラフィック フィルタを定義し、アクション プロファイルを適用します。アクション・プロファイルは、処理装置に対するさまざまなアクションを指定します。受信および送信は、送受信トラフィックのデータをキャプチャする処理パス上の場所として指定されます。

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

注:

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

設定

手順

CLI クイック設定

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

手順

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

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

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

  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/メモリ) のリソースを引き続き使用します。