Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ビットフィールド値を基にしたファイアウォールフィルタマッチング条件

ビットフィールド値に対する条件の照合

表 1 は、 パケット内の 特定のビット フィールドが設定されているかどうかを基にしたファイアウォール フィルターの一致条件を示しています。第2コラムと第3列には、一致条件がサポートされるトラフィックのタイプを示します。

表 1: ファイアウォールフィルターのバイナリとビットフィールドの照合条件

ビットフィールドの一致条件

値を一致させる

標準のステートレス ファイアウォール フィルター用プロトコル ファミリー

サービス フィルター用プロトコル ファミリー

fragment-flags flags

IP ヘッダーの3ビット IP フラグメンテーションフラグフィールドの16進値またはテキストエイリアスです。

family inet

family inet

fragment-offset value

16進値または IP ヘッダーの13ビットフラグメントオフセットフィールドのテキストエイリアスです。

family inet

family inet

tcp-flags value

TCP ヘッダーの 8 ビット TCP フラグ フィールドの低次 6 ビットの 16 進値またはテキスト エイリアス。

family inet

family inet6

family vpls

family bridge

family inet

family inet6

IPv4 トラフィックJunos OS TCP フラグを照合する場合、パケット パケットの最初のフラグメント ビットは自動的にチェックしません。最初のフラグメント ビットで IPv4 トラフィックのみをチェックするには、一致条件を first-fragment 使用します。

共通ビットフィールド値または組み合わせに対する条件の照合

表 2では、一般的に使用される特定の値またはパケット内のビット フィールドの組み合わせが設定されているかどうかをベースにしたファイアウォール フィルターの一致条件について説明します。

テキストの類義語を使用して、共通のビットフィールドに一致するものを指定することができます。前の例では、同じ tcp-initial 一致条件として指定できます。

注:

数字範囲とビットフィールドの照合条件の中には、テキストシノニムを指定できるものもあります。類義語の完全なリストは以下のとおりです。

  • J-Web インターフェイスを使用している場合、適切なリストからシノニムを選択します。

  • CLI を使用している場合は、文の?from後に疑問符 () を入力します。

表 2: 一般的な組み合わせに対するビットフィールドの照合条件

一致条件

説明

標準のステートレス ファイアウォール フィルター用プロトコル ファミリー

サービス フィルター用プロトコル ファミリー

first-fragment

フラグメント化されたパケットの最初のフラグメントを示す、ビットフィールドの一致 fragment-offset 0 条件のテキスト エイリアス。

family inet

family inet

is-fragment

フラグメント パケットの末尾フラグメントを示す、ビット フィールドの一致条件のテキスト fragment-offset 0 except エイリアス。

family inet

family inet

tcp-established

確立された TCP セッションを示す、ではなく TCP 接続の最初のパケットを示す、ビット フィールドの一致 tcp-flags "(ack | rst)" 条件のエイリアス。

family inet

family inet6

tcp-initial

TCP 接続の最初のパケットを示す、確立された TCP セッションではない、ビット フィールドの一致 tcp-flags "(!ack & syn)" 条件のエイリアス。

family inet

family inet6

ビットフィールド値用の論理演算子

表 3ステートレスファイアウォールフィルター検索条件を指定する際に、単一ビットフィールド値に適用できる論理演算子を示します。これらの事業者は、優先度の高いものから順にリストされています。運用は左から右へと処理されます。

表 3: ビットフィールド論理演算子

優先順位

ビットフィールド論理演算子

説明

1

(complex-match-condition)

グループ化 — 複雑な一致条件が評価され、括弧の外にある演算子が適用されます。

2

match-condition

無効化 — 一致条件が false の場合に一致が発生します。

3

match-condition-1  &  match-condition-2

または

match-condition-1  +  match-condition-2

論理 AND — 両方の一致条件が真の場合に一致します。

4

match-condition-1  |  match-condition-2

または

match-condition-1  ,  match-condition-2

論理 OR — いずれかの一致条件が真の場合に一致が起こります。

単一ビットフィールド値またはテキストエイリアスでのマッチング

とビット一致条件については、パケット フィールドの特定のビットが設定されていないかに基づいて、ファイアウォール フィルタの一致条件を fragment-flagstcp-flags 指定できます。

  • 単一ビットを指定する数値 - 1 つのビット セットを持つ数値を使用して、単一のビット フィールドの一致条件を指定できます。照合条件に応じて、10進値、バイナリ値、または16進値を指定できます。バイナリ値を指定するには、プレフィックスを使用して番号を指定します b 。16進値を指定するには、プレフィックスを使用して番号を指定します 0x

    次の例では、TCP フラグ フィールドのビットが設定されている場合 RST に一致が起こります。

  • 単一ビットを指定するテキスト エイリアス — 通常、二重引用符(" ")で囲まれたテキスト エイリアスを使用して、単一のビットフィールドの一致条件を指定します。

    次の例では、TCP フラグ フィールドのビットが設定されている場合 RST に一致が起こります。

複数のビットフィールド値またはテキストエイリアスでのマッチング

パケットフィールドの特定のビットセットが設定されているかどうかに基づいて、ファイアウォールフィルターの検索条件を指定できます。

  • 複数のセット ビットを指定する数値 — バイナリ 表現に複数のセット ビットがある数値を指定すると、値はセット ビットの論理 AND として扱われる。

    次の例では、2つの一致条件は同じです。ビットまたは設定されていない場合、一 0x010x02 が起こります。

  • 共通ビットフィールドの一致を指定するテキスト エイリアス — テキストのエイリアスを使用して、一般的なビットフィールドの一致を指定できます。これらの検索結果は、単一のキーワードとして指定します。

    次の例では、 のエイリアスである条件は、接続の最初のパケット以外の TCP パケットで一致が発生 tcp-established“(ack | rst)” すると指定します。

否定ビットフィールド値によるマッチング

マッチングを否定するには、値の前に感嘆符を付けます。

次の例では、TCP フラグ フィールドのビットが設定されている場合 RST に一致が起 こります。

2つのビットフィールド値の論理和の比較

を使用して、 または ) を使用して、ビット フィールドが指定された 2 つのビット フィールド値のいずれかと一致した場合に |, 一致が発生すると指定できます。

次の例では、パケットが TCP セッションの最初のパケットではない場合に一致が起こります。

TCP セッションでは、SYN フラグは送信された最初のパケットでのみ設定され、ACK フラグは初期パケットの後に送信されるすべてのパケットに設定されます。TCP セッションの最初のパケットではないパケットでは、SYN フラグが設定されていないか、ACK フラグが設定されています。

2ビットフィールド値の論理 AND を比較

を使用して、 または ) を使用して、ビット フィールドが指定された 2 つのビット フィールド値の両方と一致した場合に &+ 一致が発生すると指定できます。

次の例では、パケットが TCP セッションの最初のパケットである場合に、一致が発生します。

TCP セッションでは、SYN フラグは送信された最初のパケットでのみ設定され、ACK フラグは初期パケットの後に送信されるすべてのパケットに設定されます。TCP セッションの初期パケットであるパケットでは、SYN フラグが設定され、ACK フラグは設定されています。

ビットフィールド照合条件のグループ化

を使用して、括弧の中にある複雑な一致条件が評価され、括弧の外部の演算子が適用 される前に指定できます。

次の例では、パケットが TCP リセットの場合、またはパケットが TCP セッションの最初のパケットではない場合に、一致が発生します。

TCP セッションでは、SYN フラグは送信された最初のパケットでのみ設定され、ACK フラグは初期パケットの後に送信されるすべてのパケットに設定されます。TCP セッションの最初 パケットではないパケットでは、SYN フラグは設定されていないので、ACK フィールドが設定されます。