パターンセットを設定する

最終公開日 : Sep 25, 2026
パターンセットを設定するには、パターンとして使用する文字列を指定する必要があります。これらの各パターンに固有のインデックス値を手動で割り当てることも、インデックス値を自動的に割り当てることもできます。
注:
パターンセットでは大文字と小文字が区別されます (大文字と小文字を無視する式を指定しない限り)。そのため、たとえば文字列パターン「product1」は文字列パターン「Product1」と同じではありません。
インデックス値について覚えておくべきポイント:
  • 同じインデックス値を複数のパターンにバインドすることはできません。
  • 自動的に割り当てられるインデックス値は、パターンセット内の既存のパターンの最大インデックス値よりも 1 つ大きい数値です。たとえば、パターンセット内の既存のパターンの最大インデックス値が 104 の場合、次に自動的に割り当てられるインデックス値は 105 です。
  • 最初のパターンにインデックスを指定しない場合、インデックス値 1 がそのパターンに自動的に割り当てられます。
  • 1 つ以上のパターンが削除または変更されても、インデックス値は自動的に再生成されません。たとえば、セットにインデックスが 1 ~ 5 の 5 つのパターンが含まれていて、インデックスが 3 のパターンが削除されても、パターンセット内の他のインデックス値は自動的に 1 ~ 4 の値を生成するように再生成されません。
  • パターンに割り当てることができる最大インデックス値は 4294967290 です。その値がセット内のパターンにすでに割り当てられている場合は、新しく追加されたパターンに手動でインデックス値を割り当てる必要があります。現在使用されている値よりも低い未使用のインデックス値を自動的に割り当てることはできません。
NetScaler 14.1-12.xリリース以降では、静的文字列を使用するだけでなく、式を使用してパターンセット名を取得し、CONTAINS_ANY、EQUALS_ANY、STARTSWITH_ANYなどのポリシー表現メソッドでパターンセットを関連付けることもできます。パターンセット名は式から動的に生成されるため、複数のパターンセットに対して作成する必要のあるポリシーの数が減ります。動的なパターンセットを作成することで、設定の繰り返しを避けることができます。
たとえば、NetScaler 14.1-12.xリリースより前のリリースでは、4つのパターンセットがある場合、4つのパターンセットを関連付けるために4つのポリシーを作成する必要があります。NetScaler 14.1-12.xリリース以降では、静的文字列を使用するだけでなく、式を使用してパターンセット名を取得することもできます。この式は構成を減らすのに役立ちます。
式が評価の一部としてパターンセットを識別できるようにするには、 dynamic キーワードを使用してパターンセットを動的として設定する必要があります。この式では、ダイナミックに設定されているパターンセットのみが考慮されます。パターンセットの作成時にパターンセットをダイナミックに設定していない場合は、後で設定することもできます。ダイナミックキーワードは、デフォルト以外のパターンセットにのみ設定できます。
式の評価の一環として、次のチェックが実行されます:
  • 式に一致するパターンセットがない場合は、エラーと見なされ、エラーカウンタが増加します。
  • 式に一致するパターンセット名があっても動的としてマークされていない場合、それはエラーと見なされ、エラーカウンタが増加します。

コマンドラインインターフェイスを使用してパターンセットを設定します

コマンドプロンプトで、次の操作を行います:
  1. パターンセットを作成します。
    add policy patset <name>
例:
add policy patset samplepatset
  1. パターンをパターンセットにバインドします。
    bind policy patset <name> <string> [-index <positive_integer>][-charset ( ASCII | UTF_8 )] [-comment <string>]
例:
bind policy patset samplepatset product1 -index 1 -comment short description about the pattern bound to the pattern set
注意:パターンセットにバインドしたいすべてのパターンについて、この手順を繰り返します。
  1. 設定を確認します。
show policy patset <name>

設定ユーティリティを使用してパターンセットを設定します

  1. > に移動します。
  2. 詳細ペインで、 をクリックして ダイアログボックスを開きます。
  3. 名前テキストボックスにパターンセットの名前を指定します。
  4. 「パターンを指定」で、最初のパターンを入力し、オプションで次のパラメータの値を指定します。
    • バックスラッシュをエスケープ文字として扱う-このチェックボックスをオンにすると、パターンに含まれるバックスラッシュ文字はすべてエスケープ文字として処理されます。
    • インデックス-1 から 4294967290 までの範囲でユーザーが割り当てたインデックス値。
  5. 正しい文字を入力したことを確認し、 をクリックします。
  6. 手順 4 と 5 を繰り返してパターンを追加し、「 作成」をクリックします。

動的パターンセットの設定

CLI を使用して動的パターンセットを設定します

コマンドプロンプトで、次のコマンドを入力します:
  1. パターンセットを作成します。
    add policy patset <name> - dynamic yes
  2. パターンセットをパターンセットにバインドします。
    bind patset <name> <string>
  3. ポリシーを追加し、パターンセット名の代わりに式を使用してください。
    add responder policy <name> <rule> <action>
  4. 設定を確認します。
    show patset -dynamicOnly
CLI を使用して動的パターンセットを設定する例
Compa_Pat と Compb_Pat を 2 つの動的パターンセットとして作成します。
add policy patset CompA_pat -dynamic yes
bind policy patset CompA_pat stringA
add policy patset CompB_pat -dynamic yes
bind policy patset CompB_pat string B
パターンセット名を動的に導出する式を含むポリシーを追加します:
add responder policy samplepolicy1 http.req.hostname.contains_any("Comp" + http.req.url.path.get(1) + "_pat") reset
これをhttp://www.citrix.com/A/home.htmlまたはhttp://www.google.com/B/test.htmlが受信URLと考えてください。受信した URL に基づいて、「Comp」+ http.req.url.path.get (1) +「_pat」という式により、実行時にパターンセット (Compa_Pat または CompB_PAT) が動的に決定されます。Compa_PAT と CompB_PAT に 2 つのポリシーを別々に作成する必要はありません。
show コマンドを使用して設定を確認します:
> show patset -dynamicOnly
1) Patset: CompA_pat
2) Patset: CompB_pat
 Done

GUI を使用して動的パターンセットを設定します

  1. 「 AppExpert」>「パターンセット」に移動します。
  2. 「 追加 」をクリックして「 パターンセットの作成 」ダイアログ・ボックスを開きます。
  3. 名前テキストボックスにデータセットの名前を指定します 。
  4. 「 挿入 」をクリックし、「パターン」フィールドにパターンを指定します。オプションで、インデックスの値を指定します。インデックスは、1 から 4294967290 までのユーザー割り当て値です。
  5. 正しい文字を入力したことを確認し、 をクリックします。
  6. ステップ 4 と 5 を繰り返して、さらにパターンを追加します。
  7. 「 ダイナミック 」チェックボックスを選択し、「 作成」をクリックします。
  8. AppExpert > レスポンダー > ポリシー > 追加に移動します。
  9. パターンセットを導出できる式を作成します。
  10. その他の必須フィールドを入力し、 をクリックします。

動的パターンセットの設定、設定解除、または削除

デフォルト以外のパターンセットをダイナミックに設定するには:
> set patset <name> -dynamic yes
例:
> set patset CompA_pat -dynamic yes
 Done

デフォルト以外のパターンセットをダイナミックに設定解除するには

> unset patset <name> -dynamic
例:
> unset patset CompA_pat -dynamic
Warning: [Dynamic attribute turned off. Expressions using this patset or dataset dynamically will not work.]
 Done

ダイナミックパターンセットを削除するには

> rm patset <name>
例:
> rm patset CompA_pat
Warning: [Dynamic patset or dataset removed. Expressions using this patset or dataset dynamically will not work.]
 Done
注意:
動的パッチセットを設定解除または削除すると、このパターンセットを使用しているエクスプレッションは機能しません。

ファイルベースのパターンセットの設定

NetScalerアプライアンスはファイルベースのパターンセットをサポートしています。

CLI を使用してファイルベースのパターンセットを設定する

コマンドプロンプトで、次のコマンドを入力します:
  • 新しいパターンセットファイルをNetScalerアプライアンスにインポートします。
    import policy patsetfile <src> <name> -delimiter <char> -charset <ASCII | UTF_8>
    例:
    import policy patsetfile local:test.csv clientids_list –delimiter ,
    ローカルデバイス、HTTP サーバー、または FTP サーバーからファイルをインポートできます。ローカルデバイスからファイルを追加するには、ファイルが/var/tmpの場所にある必要があります。
  • パターンセットファイルをパケットエンジンに追加します。
    add policy patsetfile <patset filename>
    例:
    add policy patsetfile clientids_list
  • NetScalerアプライアンス上の既存のパターンセットファイルを更新します。
    update policy patsetfile <patset filename>
    例:
    update policy patsetfile clientids_list
  • パターンをパターンセットにバインドします。
    add policy patset <patset name> -patsetfile <patset filename>
    例:
    add policy patset clientid_patset -patsetfile clientids_list
  • 設定を確認します。
    show policy patsetfile clientids_list

    Name: clientids_list
    Patset Name: clientid_patset
    Number of Imported Patterns: 8
    Number of Bound Patterns: 8
    (All the patterns bound successfully)

    Done

GUI を使用してファイルベースのパターンセットを設定

  1. AppExpert-> パターンセットファイルに移動します。
  2. ペインで、 をクリックします。
  3. 「 ポリシーパッチセットファイルの設定 」ページで、インポートするファイルを選択して「 **OK」**をクリックします。
  4. インポートしたファイルを選択して、 をクリックします。
  5. 「 ポリシー・パット・セット・ファイルの作成 」ページで詳細を入力し、「 作成 」をクリックしてポリシー・パターン・セットを追加します。