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でのみサポートされます。MPC、MIC、または DPC を MPC または MIC と一緒に設置する環境では、必ず MPC または MIC インターフェイスに柔軟な一致ファイアウォール フィルタ基準を適用してください。

注:

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

このガイドは、すべてenhanced-modeのファイアウォールフィルターに適用されます。また、以下の一致条件を使用する IPv6 トラフィックの offset-range または offset-mask、 および ファイアウォール フィルター一致条件の柔軟な一致条件を使用しても IPv4 トラフィックのファイアウォールフィルタマッチング条件gre-key 適用されます。 IPv6 トラフィックのファイアウォールフィルタマッチング条件payload-protocol, extension headers, is_fragment. また、以下のいずれかのフィルタにも適用されます ファイアウォールフィルターによるアクションの中断encapsulatedecapsulate、または、以下のいずれか ファイアウォールフィルター終端以外のアクション :policy-map、およびclear-policy-map.

ステートメント階層

柔軟なマッチングフィルターの条件は、に表 1示すように3種類の方法で使用できます。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]階層で構成されています。スイッチの family ethernet-switching フィルターを使用EX9200します。

柔軟なフィルターマッチタイプ

表 1: 柔軟なフィルターマッチタイプ

柔軟なフィルタマッチタイプ

利用可能な属性

説明

flexible-match

<name>

<name、attribute という名前の柔軟 < テンプレート>作成します。

 

bit-length

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

ネットワーク QFX5120およびEX4650、有効なビット長は 16 と 32 のみです。

bit-offset

(Match-start + byte) オフセットの後のビットオフセット (0.. 7)

byte-offset

対戦開始点の後のバイトオフセット

match-start

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

flexible-match-mask

bit-length

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

bit-offset

(Match-start + byte) オフセットの後のビットオフセット (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

(マッチ開始 + バイト) オフセットの後のビットオフセットです。(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 スイッチに、レイヤー 2 およびレイヤー 3(のみ)の柔軟な一致フィルターのサポートが Junosされました20.1R1。

inet6

layer-3, layer-4 and payload

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

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

たとえば、QFX5120 および EX4650 スイッチに対して、レイヤー 2 およびレイヤー 3(のみ)の柔軟な一致フィルターのサポートが、Junosリリース 20.1R1。レイヤー 2 パケット オフセットと一致長の使用例を以下に示します。

柔軟なフィルター一致例

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

<>一致条件に使用される事前定義テンプレートを柔軟にmask-nameに指定します。テンプレートを定義して、柔軟な一致条件を実行するパケット内の場所 (位置) を指定できます。

<>用の mask-in-hexは 16 進形式で示されています。たとえば、設定された mask は、最初のバイト 0xf0fc(<<分名>で呼ばれる)、第 2 バイトの最初の 6 ビットの、第 4 バイトの一致を指定します。パケットが IPv4 パケットで 、<>> L3 ヘッダーの最初の 2 バイトを参照する場合、検索は IP バージョン フィールドと DSCP フィールドを検索します。もう 1 つの例として、設定済みの mask は最初のバイト全体と 2 バイト目の 0xffc0 2 ビットの検索を指定します。<>>L3ヘッダーの最初の2バイトをリファーし、パケットがIPv6パケットの場合、これはトラフィック クラス フィールドのIPバージョン フィールドと DSCPを指定します。

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

最初の例では、マスクテンプレートを定義して、L3 ヘッダーからの最初の2バイト (16 ビット) を選択し、柔軟に一致させることができます。

次の例では、パケットペイロードの 3 ~ 6 バイト (32 ビット) を選択するマスクテンプレートを定義して、柔軟に一致させることができます。

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

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

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

リリース履歴テーブル
リリース
説明
20.1R1
たとえば、QFX5120 および EX4650 スイッチに対して、レイヤー 2 およびレイヤー 3(のみ)の柔軟な一致フィルターのサポートが、Junosリリース 20.1R1。