Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ファイアウォールフィルターフレキシブル一致条件

標準のファイアウォールフィルターの一致条件は、一致させるトラフィックのプロトコルファミリーによって異なります。例えば、ブリッジプロトコルトラフィックに使用できる用語は、inetまたはinet6プロトコルファミリーで使用できる用語とは異なります。ただし、各プロトコルファミリー内でマッチングに使用できるフィールドは、固定または事前定義されています。つまり、フィルターは、これらの事前定義されたフィールド内のパターンでのみ一致できます。

柔軟な一致条件を使用して、レイヤー2、レイヤー3、レイヤー4、またはペイロードの場所から一致を開始するファイアウォールフィルターを構築できます。そこから、追加のオフセット基準を指定して、パケット内のユーザー定義のカスタム位置でのパターンマッチを有効にすることができます。

フレキシブル マッチ フィルターの用語は、他のファイアウォール フィルターの条件と同様に、入力フィルターまたは出力フィルターとして MPC または MIC インターフェイスに適用されます。柔軟な一致フィルター項目は、階層レベルでテンプレート として作成することもできます。[edit firewall] これらのテンプレートは、柔軟な一致条件内で参照できます。

MX シリーズ ルーターでは、柔軟な一致条件は MPC または MIC でのみサポートされています。FPC、PIC、DPCがMPCまたはMICと一緒にインストールされる環境では、フレキシブルマッチファイアウォールフィルター条件をMPCまたはMICインターフェイスにのみ適用してください。

注:

MPCを搭載したMXシリーズルーターでは、対応するSNMP MIBをウォークすることでMIBのTrio-only一致フィルターのフィルターカウンターを初期化する必要があります。例えば、Trio 専用フィルターに関して設定または変更されたフィルターについては、以下のようなコマンドを実行する必要があります。show snmp mib walk (ascii | decimal) object-id. これにより、Junosはフィルター カウンターを学習し、フィルター統計が表示されていることを確認します(これは、統計をフィルターする最初のポールがすべてのカウンターを表示しない場合があるためです)。Trio のみの一致フィルターとは、Trio チップセットでのみサポートされている一致条件またはアクションを少なくとも 1 つ含むフィルターです。

このガイダンスは、すべての ファイアウォール フィルターに適用されます。enhanced-mode また、オフセット範囲またはオフセットマスクに対する柔軟な一致フィルター条件、および次のいずれかの一致条件を持つIPv6トラフィックのファイアウォールフィルター一致条件にも適用されます。IPv4トラフィックのファイアウォールフィルター一致条件gre-keyIPv6トラフィックのファイアウォールフィルター一致条件 、 、 。payload-protocolextension headersis_fragment また、次のいずれか を持つフィルターにも適用されます。ファイアウォールフィルター終了アクション または 、または次のいずれか :encapsulatedecapsulateファイアウォールフィルター非終了アクション 、および .policy-mapclear-policy-map

ステートメント階層

フレキシブル一致フィルター項目には、 に示すように 3 つのバリエーション があります。表 1バリエーションは 階層レベルで設定されます 。flexible-match[edit firewall] 柔軟な一致テンプレートを定義するために使用されます。および は 階層で設定されます。flexible-filter-match-maskflexible-match-range[edit firewall family [inet|inet6|bridge|ethernet-switching|ccc|vpls] filter <filter-name> term <term-name> from] EX9200スイッチのフィルターを使用します。family ethernet-switching

柔軟なフィルター一致タイプ

表 1: 柔軟なフィルター一致タイプ

柔軟なフィルター一致タイプ

使用可能な属性

説明

flexible-match

<name>

属性として という名前の柔軟な一致テンプレートを作成します。<name>

 

bit-length

一致させるデータの長さ(ビット単位)、文字列入力には不要(0..32)

QFX5120およびEX4650スイッチの場合、有効なビット長は16および32のみです。

bit-offset

(match-start + バイト)オフセット(0..7)の後のビットオフセット

byte-offset

一致開始ポイント後のバイトオフセット

match-start

パケットで一致させる開始ポイント

flexible-match-mask

bit-length

一致させるデータの長さ(ビット単位)、文字列入力には不要(0..128)

bit-offset

(match-start + バイト)オフセット(0..7)の後のビットオフセット

byte-offset

一致開始ポイント後のバイトオフセット

flexible-mask-name

定義済みテンプレート フィールドから柔軟な一致を選択します。構成されていない場合は 必須です。match-start

mask-in-hex

一致させるパケットデータ内のビットをマスクアウトします。

match-start

パケットで一致させる開始ポイント。構成されていない場合は 必須です。flexible-mask-name

prefix

一致する値データ/文字列。

flexible-match-range

bit-length

一致させるデータの長さ (ビット単位)。(0..32) 構成されていない場合は 必須です。flexible-range-name

bit-offset

(match-start + バイト)オフセットの後のビットオフセット。(0..7)

byte-offset

一致開始ポイント後のバイトオフセット

flexible-range-name

定義済みテンプレートから柔軟な一致を選択します。

match-start

パケットで一致させる開始ポイント。構成されていない場合は 必須です。flexible-range-name

range

一致させる値の範囲。

range-except

一致しない値の範囲。

柔軟なフィルター一致開始場所

柔軟な一致フィルター項目は、パケット内の開始位置またはアンカー ポイントを指定することで構築されます。開始場所は次のいずれかです。レイヤー2、レイヤー3、レイヤー4、ペイロード(使用するプロトコルファミリーによって異なります)。 は、利用可能な柔軟なフィルター一致の開始位置をプロトコルファミリー別に示しています。表 2これらの使用可能な開始場所は、 柔軟な一致フィルター条件の場所として使用します。match-start

これらの開始位置から、特定のバイトオフセットとビットオフセットを利用して、フィルターがパケット内の非常に特定の位置のパターンを一致させることができます。

表 2: 柔軟なフィルター一致開始場所

プロトコルファミリー

利用可能な開始場所

inet

layer-3, layer-4 and payload

QFX5120およびEX4650スイッチでは、Junosリリース20.1R1で、レイヤー2およびレイヤー3(のみ)の柔軟な一致フィルターのサポートが追加されました。

inet6

layer-3, layer-4 and payload

QFX5120およびEX4650スイッチでは、Junosリリース20.1R1で、レイヤー2およびレイヤー3(のみ)の柔軟な一致フィルターのサポートが追加されました。

bridge

layer-2, layer-3, layer-4 and payload

ccc

layer-2, layer-3, layer-4 and payload

mpls

layer-3 and payload

vpls

layer-2, layer-3, layer-4 and payload

ethernet-switching

(EX9200スイッチ) layer-2, layer-3, layer-4 and payload

Junosリリース20.1R1で、QFX5120スイッチおよびEX4650スイッチで、レイヤー2およびレイヤー3(のみ)のフレキシブルマッチフィルターのサポートが追加されました。レイヤー 2 パケット オフセットと一致長の使用例を以下に示します。

柔軟なフィルター一致の例

次の例は、 の使用とコンテキスト を示しています。flexible-match-mask

は 、フレキシブル一致条件に使用する定義済みテンプレートを指定します 。<mask-name>flexible-mask-name テンプレートを定義して、パケット内のどの位置(位置)でフレキシブル一致条件を実行するかを指定できます。

for は 16 進形式です。<mask>mask-in-hex 例えば、 が 設定されているマスクは、最初のバイトの最初の 4 ビット(によって 参照される)と、2 バイト目の最初の 6 ビットの一致を指定します。0xf0fc<mask-name> パケットが IPv4 パケットで、L3 ヘッダーの最初の 2 バイトを参照している場合、 検索は IP バージョン フィールドと DSCP フィールドです。<mask-name> 別の例として、構成されたマスク は、最初のバイト全体と、2 番目のバイトからの 2 ビットの検索を指定します。0xffc0 が L3ヘッダーの最初の2バイトを参照し、パケットがIPv6パケットである場合、IPバージョンフィールドとトラフィッククラスフィールドのDSCPを指定します。<mask-name>

に指定されているのは ASCII 文字列です。<pattern>prefix 最初の 2 文字 が の場合、文字列は適切なビットをエンコードする 16 進数として処理されます。0x 例えば、マスクと組み合わせて設定されたプレフィックスは、L3ヘッダーの最初の2バイトを参照し、最初の4ビット(バージョンフィールドは4に等しい)およびIPv4 DSCPフィールド(DSCPはcs6に等しい)での検索を示します。0x40c00xf0fc<mask-name>01001100 00 または、設定されたプレフィックスをマスクと組み合わせて使用し、L3ヘッダーの最初の2バイトを参照し、最初の4ビット(バージョンフィールドは6に等しい)およびIPv6 DSCPフィールド(DSCPはcs6に等しい)での検索を指定します。0x6c000xffc0<mask-name>01101100 00

最初の例では、柔軟なマッチングのために L3 ヘッダーから最初の 2 バイト (16 ビット) を選択するマスク テンプレートを定義します。

次の例では、柔軟なマッチングのために、パケット ペイロードの 3 番目から 6 番目のバイト (32 ビット) を選択するマスク テンプレートを定義します。

次の例は、文字列 JNPR と一致する ASCII 文字を示しています(ASCII 文字: 、 、 、 )をパケットペイロードの3番目から6番目のバイトに入れます。0x4a0x4e0x500x52 フィルターは、前の例で定義した マスク テンプレートを使用します。FM-FOUR-PAYLOAD-BYTES

この例では、カプセル化されたパケットが IPv4 か IPv6 かに関係なく、DSCP が と等しい DSCP を探すファミリー ccc フィルタを示しています。cs6ef 最初の例で定義した マスク テンプレートを使用します。FM-FIRST-TWO-L3-BYTES

この例では、Junos リリース 20.1R1 を実行する QFX5120-32C、QFX5120-48Y、または EX4650 デバイスのファイアウォール フィルターで、レイヤー 2 パケット オフセットから始まる一致長を使用する方法を示します。ここでは、32ビットのビット長と ファミリーを使用します( レイヤー3オフセットを使用しているため、サポート されています)。ethernet-switchinginetinet6

変更履歴

サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer をご利用ください。

リリース
説明
23.2R1
Junos OSリリース23.2R1以降、EX4100-24P、EX4100-24T、EX4100-24MP、EX4100-48P、EX4100-48T、EX4400-24T、EX4400-24X、EX4400-48Fスイッチで、レイヤー2およびレイヤー3(のみ)の柔軟な一致フィルターがサポートされています。
20.1R1
Junosリリース20.1R1で、QFX5120スイッチおよびEX4650スイッチで、レイヤー2およびレイヤー3(のみ)のフレキシブルマッチフィルターのサポートが追加されました。