ADC

配置数据集

要配置数据集,必须指定作为模式提供服务的字符串,分配类型(数字、IPv4 地址或 IPv6 地址)并配置数据集范围。您可以手动为模式分配唯一的索引值,也可以允许自动分配索引值。数据集与 HTTP 或任何 7 层协议无关。它只适用于文本或字符串。有不同类型的数据集,例如 NUM、ULONG、IPv4、IPv6、MAC、DOUBLE。您可以选择一个类型,然后根据指定的类型定义数据集范围。

注意:

策略数据集区分大小写(除非您指定要忽略大小写的表达式)。因此,例如 MAC 地址 ff:ff:ff:ff:ff:ff 与 MAC 地址 FF:FF:FF:FF:FF:FF 不同。

应用于数据集的索引值的规则与模式集类似。有关索引值的信息,请参阅 配置模式集

配置数据集

要配置数据集,请完成以下步骤:

  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

注意:

您必须对要绑定到数据集的所有模式重复此步骤。一个数据集最多只能绑定 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-->

对于绑定到数据集的范围,如果值等于绑定到数据集的单个值,或者介于较低值和上限值之间(较低值 <= value && value <-上值),则该值被视为位于数据集中。

在策略数据集中使用策略表达式

在命令提示符下,键入:

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

其中, 表达式检查 HTTP 请求正文的前 100 个字节中是否存在绑定到数据集 ds1 的任何模式(或范围内的模式)。

验证数据集配置

在命令提示符下,键入:

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-->

使用配置实用程序配置数据集

按照下面给出的步骤配置策略数据集:

  1. 导航到 AppExpert > 数据集
  2. 在详细信息窗格的“数据集”下,单击“添加”。
  3. 在“配置数据集”页面中,设置以下参数。

    1. 姓名。策略数据集的名称。
    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 开始的 IPv4 子网,掩码为 0xFFC0000 (255.192.0.0)。

示例:


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:db8:123::/56,它从地址 2001:db8: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-->
配置数据集