Citrix ADC

配置数据包级别的速率限制

您可以配置流选择器和响应程序策略,以便在数据包级别收集通过选择器标识的所有连接的统计信息。如果每秒数据包数超过配置的阈值,策略将应用配置的操作(RESET 或 DROP)。您可以为所有类型的虚拟服务器配置这些策略。考虑所有大小的数据包。

要在数据包级别配置速率限制,请执行以下任务

  1. 启用负载均衡
  2. 添加流选择器
  3. 添加流标识符
  4. 添加响应程序策略
  5. 添加负载平衡虚拟服务器
  6. 绑定响应程序策略

启用负载平衡功能

在命令提示窗口中,键入:

enable ns feature lb

添加流选择器

在命令提示窗口中,键入:

add stream selector packetlimitselector client.ip.src client.tcp.srcport client.ip.dst client.tcp.dstport

添加流标识符

在命令提示窗口中,键入:

add stream identifier packetlimitidentifier packetlimitselector -interval 1

启用对仅 ACK 数据包的跟踪

在命令提示窗口中,键入:

set stream identifier packetlimitidentifier –trackAckOnlyPackets ENABLED

添加响应程序策略

在命令提示窗口中,键入:

add responder policy packet_rate_sessionpolicy "ANALYTICS.STREAM("packetlimitidentifier").COLLECT_STATS("PACKET_LIMIT", <max_threshold_PPS>, ACTION, 0/1)" NOOP

其中,

  • <max_threshold_PPS>是每秒通过连接允许的最大数据包数。
  • ACTION 可以是 DROP 或 RESET。
  • 0 或 1 表示限制类型;0 表示 BURSTY 限制类型,1 表示平滑限制类型。

示例:

add responder policy packet_rate_sessionpolicy "ANALYTICS.STREAM("packetlimitidentifier").COLLECT_STATS("PACKET_LIMIT", 40, RESET, 0)" NOOP

添加负载平衡虚拟服务器

在命令提示窗口中,键入:

add lb vserver <name> <serviceType> <ip> <port>

add lb vserver Vserver-lb-1 HTTP 10.102.20.200 80

绑定响应程序策略

配置选择器和响应程序策略后,可以将策略全局绑定或绑定到特定虚拟服务器。

在命令提示符下,键入以下命令之一:

bind responder global <policyName> <priority> [<gotoPriorityExpression>] [-type <type>] [-invoke  (<labelType>  <labelName>) ]

bind lb vserver <name>@  (-policyName <string>@ [-priority <positive_integer>]

示例:

bind responder global packet_rate_sessionpolicy 101 END -type REQ_DEFAULT

bind responder global packet_rate_sessionpolicy 102 END -type

bind lb vserver v1 -policyname packet_rate_sessionpolicy -priority 10

配置数据包级别的速率限制