ADC

データセットの構成

データセットを構成するには、パターンとして処理する文字列を指定し、タイプ (数値、IPv4 アドレス、または IPv6 アドレス) を割り当て、データセット範囲を構成する必要があります。パターンには一意のインデックス値を手動で割り当てることも、インデックス値を自動的に割り当てることもできます。データセットは HTTP や 7 層プロトコルとは関係ありません。テキストまたは文字列に対してのみ機能します。Num、ULONG、IPv4、IPv6、MAC、DOUBLE など、さまざまなタイプのデータセットがあります。タイプを選択し、指定したタイプに基づいてデータセットの範囲を定義できます。

注:

ポリシーデータセットでは大文字と小文字が区別されます (大文字と小文字を無視する式を指定しない限り)。したがって、たとえば MAC アドレス ff: ff: ff: ff: ff: ff: ff は MAC アドレス FF: FF: FF: FF: FF: FF と同じではありません。

データセットのインデックス値に適用されるルールは、パターンセットに似ています。インデックス値の詳細については、 パターンセットの構成を参照してください

NetScalerリリース14.1-12.x以降では、静的文字列を使用するだけでなく、式を使用してデータセットをポリシーにバインドできます。データセット名は式から動的に生成されるため、複数のデータセットに対して作成する必要のあるポリシーの数が減ります。動的データセットを作成することで、設定の繰り返しを避けることができます。

例:NetScaler 14.1-12.xリリースより前のリリースでは、4つのデータセットがある場合、4つのデータセットをバインドする4つのポリシーを作成する必要があります。リリースされたNetScaler 14.1-12.x以降では、データセット名の代わりに式を使用してポリシーとバインドできます。式の評価の一環として、4 つのデータセットすべてが評価され、データセット名が導出されます。つまり、4 つのデータセットはすべて、次の式を使用して 1 つのポリシーにバインドされます。

動的データセットの式評価プロセスは、パターンセットの表現評価プロセスと似ています。エクスプレッション評価の詳細については、「 パターンセットの設定」を参照してください。

データセットの構成

データセットを設定するには、次の手順を実行します。

  1. ポリシーデータセットの追加
  2. パターンをポリシーデータセットにバインドする
  3. ポリシー式を追加する
  4. ポリシー設定の検証

ポリシーデータセットの追加

コマンドプロンプトで、次の操作を行います:

add policy dataset <name> <type>

例:

add policy dataset ds1 ipv4 -comment numbers

パターンをデータセットにバインドする

コマンドプロンプトで入力します:

bind policy dataset <name> <value> [-index <positive_integer>] [-endRange <string>] [-comment <string>]

例:

bind policy dataset ds1 1.1.1.1 -endRange 1.1.1.10 -comment short description about the pattern bound to the data set

注:

データセットにバインドするすべてのパターンに対して、この手順を繰り返す必要があります。1 つのデータセットにバインドできるパターンは 5000 個までです。

また、データセット範囲は、データセットにバインドされた他の範囲と重複してはならず、データセットにバインドされた単一の値を含めることはできません。範囲が重複するデータセットをバインドすると、エラーが発生します。

例:

add policy dataset ip_set ipv4
 Done
bind policy dataset ip_set 2.2.2.25
 Done
bind policy dataset ip_set 2.2.2.20 -endRange 2.2.2.30
ERROR: The range overlaps an existing range or includes a value bound to the dataset.
<!--NeedCopy-->

データセットにバインドされた範囲で、その値がデータセットにバインドされた単一の値と等しいか、小さい値と大きい値 (小さい値 <= 値 && 値 <-上限値) の間にある場合、その値はデータセット内にあると見なされます。

ポリシーデータセットでポリシー式を使用する

コマンドプロンプトで入力します:

add policy expression exp1 http.req.body(100).contains_any("ds1")

ここで、 式は、データセット ds1 にバインドされたパターン (または範囲内のパターン) が HTTP リクエスト本文の最初の 100 バイトに存在するかどうかをチェックします。

データセット設定の検証

コマンドプロンプトで入力します:

show policy dataset ds1

例:

> show policy dataset ds1
       Dataset:        ds1
        Type:   IPV4
1)      Bound Dataset Range from: 1.1.1.1       through: 1.1.1.10       Index:  1
<!--NeedCopy-->

動的データセットの設定

CLI を使用して動的データセットを設定する

コマンドプロンプトで、次のコマンドを入力します:

  1. データセットを作成します。

    add policy dataset <name> - dynamic yes

    例:

    add policy dataset CompA_data -dynamic yes
    add policy dataset CompB_data -dynamic yes
    <!--NeedCopy-->
    
  2. データセットをポリシーにバインドします。

    bind policy dataset <name> <string>

    例:

    bind policy dataset CompA_data stringA
    bind policy patset CompB_data string B
    <!--NeedCopy-->
    
  3. ポリシーを追加し、データセット名の代わりに式を使用してください。

    add responder policy <name> <rule> <action>

    例:

    add responder policy samplepolicy1 http.req.hostname.contains_any("Comp" + http.req.url.path.get(1) + "_pat") reset
    <!--NeedCopy-->
    
  4. 設定を確認します。

    > show dataset -dynamicOnly

    例:

    > show dataset -dynamicOnly
    1) Dataset: CompA_data
    2) Dataset: CompB_data
    Done
    <!--NeedCopy-->
    

GUI を使用して動的データセットを設定

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

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

データセットを動的として設定するには:

> set dataset <name> -dynamic yes

例:

> set dataset CompA_data -dynamic yes

データセットを動的として設定解除するには:

> unset dataset <name> -dynamic

例:

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

動的パターンセットを削除するには:

> rm dataset <name>

例:

> rm dataset CompA_pat
Warning: [Dynamic patset or dataset removed. Expressions using this patset or dataset dynamically will not work.]
 Done
<!--NeedCopy-->

注:

動的データセットを設定解除または削除すると、そのデータセットを使用している式は機能しません。

構成ユーティリティを使用してデータセットを構成する

ポリシーデータセットを設定するには、以下の手順に従います。

  1. AppExpert > データセットに移動します
  2. 詳細ウィンドウの [データセット] で、[ 追加] をクリックします。
  3. [データセットの構成 ] ページで、次のパラメーターを設定します。

    1. Name:ポリシーデータセットの名前。
    2. タイプ。データセットにバインドする値の型。

    データセットの構成

  4. [ 挿入 ] をクリックして、特定のタイプのデータセット値をバインドします。
    1. 価値。データセットに関連付けられた、指定された型の値。
    2. インデックス。データセットのインデックス値。
    3. 終了範囲。データセットエントリ。これは<value>から<end_range>への範囲です。
    4. [コメント]。データセットに関する簡単な説明。

    データセットバインディング

  5. [ **挿入して閉じる**] をクリックします。
  6. コメントを入力します。
  7. [作成]して[閉じる] をクリックします。

ポリシーデータセットの IPv4 および IPv6 アドレスにおける CIDR サブネット表記

IPv4 および IPv6 アドレスのポリシーデータセットでは、バインドされた値を CIDR 表記法を使用してサブネットにすることができます。CIDR 表記法では、サブネットのアドレスと範囲を指定します。CIDR 表記<address>/<n><address> はサブネット内の最初のアドレス、 <n> はサブネットの範囲を定義するサブネットマスクに設定された左端のビット数を指定する整数です。

たとえば、192.128.0.0/10 は、アドレス 192.129.0.0 から始まり、マスク 0xFFC0000 (255.192.0.0) を持つ IPv4 サブネットを表します。

例:

add policy dataset ds1 ipv4
bind policy dataset ds1 192.128.0.0/10
show policy dataset ds1
    Dataset: ds1
    Type: IPV4
Bound Dataset Value: 192.128.0.0/10 Index: 1 Comment: Subnet range from 192.128.0.0 through 192.191.255.255
<!--NeedCopy-->

このデータセットを式で使用する例を次に示します。

add responder policy resp_ipv4_pol client.ip.src.typecast_text_t.equals_any("ds1") drop
<!--NeedCopy-->

IPv6 サブネットの例:

IPv6 サブネットの例としては 2001: db 8:123:: /56 があります。このサブネットはアドレス 2001: db 8:123:: から始まり、マスク FFFF: FFFF: FFFF: FF00::

add policy dataset ds2 ipv6
bind policy dataset ds2 2001:db8:123::/56
show policy dataset ds2
    Dataset: ds2
    Type: IPV61
Bound Dataset Value: 2001:db8:123::/56 Index: 1 Comment: Subnet range from 2001:db8:123:: through 2001:db8:123:ff:ffff:ffff:ffff:ffff
<!--NeedCopy-->

サブネットの開始アドレスは、サブネットマスクでマスクされた指定アドレスによって決定されます。指定したアドレスが結果の開始アドレスと一致しない場合、警告が発行されます。

例:

bind policy dataset ds1 192.168.0.0/10
Warning: Starting subnet address masked using subnet mask to create new starting address [192.128.0.0]
show policy dataset ds1
    Dataset: ds1
    Type: IPV4
Bound Dataset Value:192.168.0.0/10 Index: 1 Comment: Subnet range from 192.128.0.0 through 192.191.255.255
<!--NeedCopy-->

このデータセットを式で使用する例を次に示します。

add responder policy resp_ipv6_pol client.ipv6.src.typecast_text_t.equals_any("ds2") drop
<!--NeedCopy-->
データセットの構成