Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ファイアウォールフィルターの検索条件について

ファイアウォールフィルターの条件を定義する前に、条件に指定する照合条件をどのように処理するかを理解し、目的のフィルタリング結果を得るためにさまざまな種類の一致条件を指定する方法を把握する必要があります。照合条件は、match 条件を定義するストリング (match 文と呼ばれます) で構成されています。Match 条件とは、パケットに含まれる必要がある値またはフィールドです。

フィルタマッチ条件

fromファイアウォールフィルタ条件の文で、 then文の1つでアクションをトリガーするパケット条件を指定します。then さまざまなオプションを使用 then interface するか then vlan 、 .fromステートメント内のすべての条件が、実行されるアクションと一致している必要があります。一致条件を指定する順序は重要ではありません。パケットは一致するためにすべての条件に一致しなければなりません。

用語に一致条件が指定されていない場合、その語句はすべてのパケットと一致します。

fromステートメント内の個々の条件には、値のリストを含めることはできません。たとえば、数字の範囲や複数の送信元または宛先アドレスを指定することはできません。

fromステートメント内の個々の条件を否定することはできません。否定条件は、明示的に一致しません。

数値フィルタマッチ条件

数値フィルター条件は、ポートやプロトコル番号などの数値によって識別されるパケットフィールドと一致します。数値フィルタマッチ条件の場合は、条件を識別するキーワードと、パケット内のフィールドが一致しなければならない1つの値を指定します。

次のいずれかの方法で数値を指定できます。

  • 1 つの番号 — フィールドの値が番号と一致する場合に一致します。たとえば、以下のように記述します。

  • 単一番号のテキスト シノニム — フィールドの値がシノニムに対応する番号と一致した場合に一致が起こります。たとえば、以下のように記述します。

フィルター条件に複数の値を指定するには、それぞれの値を独自の match ステートメントに入力します。これは、照合条件を定義する文字列です。たとえば、値が 10 または 30 の場合は、次の条件で一 vlan 致が起こります。

数値フィルタマッチ条件には、以下の制限が適用されます。

  • 値の範囲を指定することはできません。

  • コンマ区切り値のリストを指定することはできません。

  • 数値フィルターの一致条件で特定の値を除外することはできません。たとえば、一致条件が指定された値と等しくない場合にのみ一致する条件を指定することはできません。

インターフェースフィルタマッチ条件

インターフェイスフィルタ match 条件は、パケット内のインターフェイス名値と一致させることができます。インターフェイスフィルター match 条件では、インターフェイスの名前を以下のように指定します。

ポートおよび VLAN インターフェイスでは、論理ユニット番号は使用されません。しかし、ルーターインターフェイスに適用されるファイアウォールフィルターでは、インターフェイスフィルタマッチング条件で論理ユニット番号を指定できます。

次のようにワイルドカードをインターフェイス名の一部 * として含めできます。

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

アドレスフィルター match 条件は、パケット内の IP 送信元および宛先プレフィックスなどのプレフィックス値と一致させることができます。アドレスフィルター検索条件の場合は、フィールドを識別するキーワードと、パケットが一致する必要があるそのタイプの1つのプレフィックスを指定します。

このアドレスは1つのプレフィックスとして指定します。フィールドの値がプレフィックスと一致すると、一致が発生します。たとえば、以下のように記述します。

各プレフィックスには暗黙の 0/0 except ステートメントが含まれています。これは、指定されたプレフィックスと一致しないプレフィックスが明示的に一致しないと見なされることを意味します。

アドレスプレフィックスを指定するには、プレフィックス/プレフィックス長という表記法を使用します。プレフィックス長を省略すると、デフォルト値は/32 になります。たとえば、以下のように記述します。

フィルタ条件に複数の IP アドレスを指定するには、それぞれのアドレスを独自の match ステートメントに入力します。たとえば、フィールドの値が次の送信元アドレス プレフィックスのいずれかと一致する場合、次の条件 source-address で一致が起こります。

MAC アドレスフィルター Match 条件

MAC アドレスフィルタマッチ条件は、パケット内の送信元および宛先 MAC アドレス値と一致させることができます。MAC アドレスフィルタマッチング条件には、フィールドを識別するキーワードと、パケットが一致しなければならないタイプの1つの値を指定します。

MAC アドレスは、以下の形式で6個の16進バイトとして指定できます。

フィルター条件に複数の MAC アドレスを指定するには、それぞれの MAC アドレスを独自の match ステートメントに入力します。たとえば、フィールドの値が以下のいずれかのアドレスと一致する場合、次の条件 source-mac-address で一致が起こります。

ビットフィールドフィルター Match 条件

ビットフィールドフィルタ条件は、フィールド内の特定のビットが設定されているかどうかに応じて、パケットフィールドを照合します。IP オプション、TCP フラグ、IP フラグメント化フィールドを照合できます。ビットフィールドフィルター match 条件では、フィールドを識別するキーワードを指定し、そのフィールドにオプションが含まれているかどうかをテストします。

対応するビットフィールド値を指定するには、値を二重引用符で囲みます。たとえば、TCP フラグ フィールドのビットが設定されている場合は RST 、一致が発生します。

通常は、キーワードを使用してテストするビットを指定します。ビットフィールドの照合キーワードは、常に1つのビット値にマップされます。また、ビットフィールドを16進数または10進数として指定することもできます。

複数のビットフィールド値を照合するには、「」で表 1説明されている論理演算子を使用します。演算子は、優先度の高い順に表示されます。運用は左から結合されています。

表 1: 複数のビットフィールド演算子を照合する論理演算子

論理通信事業者

説明

!

否定.

&

論理 AND.

|

論理 OR.

マッチングを否定するには、値の前に感嘆符を付けます。たとえば、TCP flags フィールドの RST ビットが設定されていない場合にのみ、一致が発生します。

次に示す論理 AND 操作の例では、パケットが TCP セッションの初期パケットである場合に、一致が発生します。

次の論理 OR 操作の例では、パケットが TCP セッションの初期パケットではない場合に、一致が発生します。

論理 OR 演算では、1つの条件で最大2つの一致条件を指定できます。論理 OR 操作で2つ以上のビットフィールド値を比較する必要がある場合は、その他のビットフィールド値を使用して、連続する用語で同じ対戦条件を構成します。次の例では、TCP フラグフィールドの SYN、ACK、FIN、RST ビットと一致する2つの用語が設定されています。

テキストの類義語を使用して、共通のビットフィールドに一致するものを指定することができます。これらの検索結果は、単一のキーワードとして指定します。次の例のテキストシノニムでは、パケットが TCP セッション上の最初のパケットである場合に一致が行われます。