Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ファイアウォールフィルター一致条件について

ファイアウォールフィルターの用語を定義する前に、用語内の条件がどのように処理されるか、および目的のフィルター結果を得るためにインターフェイス、数値、アドレス、およびビットフィールドフィルターの一致条件を指定する方法を理解する必要があります。

フィルター一致条件

ファイアウォールフィルター条件のステートメントでは、実行するステートメントのアクションに対してパケットが一致する必要がある条件を指定します。fromthen アクションを実装するには、すべての条件が一致する必要があります。一致が発生するためにはパケットが項内のすべての条件に一致する必要があるため、一致条件を指定する順序は重要ではありません。

同じ条件に複数の値を指定した場合、それらの値のいずれかが一致すると、その条件に一致します。例えば、 ステートメントを使用して 複数のIP送信元アドレスを指定すると、それらのIP送信元アドレスのいずれかを含むパケットが条件に一致します。source-address 場合によっては、次のように、可能な値を角括弧で囲むことで、同じ条件に複数の値を指定できます。

それ以外の場合は、次のように複数のステートメントを入力する必要があります。

条件に一致条件を指定しない場合、その条件はすべてのパケットに一致します。

注:

従来のJunos OSファイアウォールフィルターとは異なり、条件ステートメントで使用して 条件を無効にすることはできません。except

数値フィルター一致条件

ポート番号やプロトコル番号など、数値で識別される数値フィルター一致条件を指定できます。数値フィルター一致条件では、一致と見なされるためにパケット内のフィールドに含める必要のある条件と単一の値を指定します。

数値は、以下のいずれかの方法で指定できます。

  • 単一番号 - フィールドの値が数値と一致する場合、一致が発生します。たとえば、Telnet トラフィックを照合するには、次のようにします。

  • 1 つの数値のテキスト シノニム - フィールドの値がシノニムに対応する数値と一致する場合、一致が発生します。たとえば、Telnet トラフィックを照合するには、次のようにします。

  • フィルター項目内の同じ一致条件に複数の値を指定するには、それぞれの値を独自の 一致ステートメントに入力します。例えば、パケットの送信元ポートの値が22または23の場合、次の項で一致が発生します。

インターフェイスフィルター一致条件

パケットを受信または送信するインターフェイスに一致するインターフェイスフィルター一致条件を指定できます。この例では、最後の文字 () が論理ユニットを指定します。0 インターフェイス名の一部としてワイルドカード()を含めることができます。* たとえば、以下のように表示されます。

論理ユニットの値またはワイルドカードを指定する必要があることに注意してください。

IPアドレスフィルター一致条件

アドレスフィルター一致条件を指定して、パケット内の IP 送信元または宛先アドレス、またはプレフィックスを一致させることができます。アドレスまたはプレフィックスタイプと、アドレスまたはプレフィックス自体を指定します。たとえば、以下のように表示されます。

プレフィックス長を省略すると、デフォルトは になります。/32 たとえば、以下のように表示されます。

フィルター条件に複数の IP アドレスまたはプレフィックスを指定するには、それぞれのアドレスまたはプレフィックスを独自の match ステートメントに入力します。例えば、パケットの送信元アドレスが以下のプレフィックスのいずれかと一致する場合、次の項で一致が発生します。

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

ビットフィールドフィルター一致条件を指定して、イーサネットフレームやIP、TCP、UDP、ICMPヘッダーの特定のフィールド内の特定のビットを一致させることができます。通常、一致と見なされるためにパケットに設定する必要があるフィールドとフィールド内のビットを指定します。

ほとんどの場合、キーワードを使用して、照合するビットを指定できます。たとえば、TCP SYN パケットで照合するには、次のように を入力します 。syn

また、SYN ビットは 8 ビットの tcp-flags フィールドの 3 番目に最下位ビットであるため、次のように入力 することもできます。0x02

複数のビットフィールド値を一致させるには、「」 で説明されている論理演算子を使用します。表 1演算子は、優先順位の高いものから低いものの順にリストされています。操作は左から右に評価されます。

表 1: ファイアウォールフィルターのアクション

論理演算子

説明

!

否定

&

論理AND

|

論理OR論理

論理演算子を使用する場合は、値を引用符で囲み、スペースは含めないでください。たとえば、次のステートメントは TCP ハンドシェイクの 2 番目のパケットと一致します。

一致を無効にするには、値の前に感嘆符を付けます。たとえば、次のステートメントは TCP ハンドシェイクの最初のパケットにのみ一致します。

テキスト同義語を使用して、一般的なビットフィールド一致を指定できます。たとえば、次のステートメントは TCP ハンドシェイクの最初のパケットとも一致します。