静态速率限制器用于对虚拟服务上的总连接/请求数进行速率限制。例如,如果虚拟服务速率限制配置为 1000 个连接/秒,它将在配置的时间段内拒绝第 1001 个连接/请求。
虚拟服务连接速率限制器
这是通过属性名称 connections_rate_limit
在虚拟服务上配置的。该速率限制器对虚拟服务的入站连接数进行速率限制。
速率限制操作选项包括:
丢弃 SYN 数据包
发送 TCP 重置
仅报告
下面是用于虚拟服务连接速率限制器的 CLI:
[admin]: configure virtualservice vs1 [admin]: virtualservice> connections_rate_limit [admin]: virtualservice:connections_rate_limit> rate_limiter [admin: virtualservice:connections_rate_limit:rate_limiter> count 1000 Overwriting the previously entered value for count [admin]: virtualservice:connections_rate_limit:rate_limiter> period 1 Overwriting the previously entered value for count [admin]: virtualservice:connections_rate_limit:rate_limiter> burst_sz 1000 Overwriting the previously entered value for burst_sz [admin]: virtualservice:connections_rate_limit> action type rl_action_reset_conn
您可以在高级选项卡中选中性能限制框。
窗口的网络安全速率限制器
该速率限制器是在网络安全策略上配置的。这是一个基于策略的速率限制器,其中,可以配置速率限制操作选项以有选择地将规则应用于速率限制。
对于这种类型的速率限制器,默认期限配置为 1 秒。
例如,假设您要将 IP 子网为 172.100.200.0/24 的用户的速率限制为每秒 1000 个连接。以下是执行上述请求的 CLI:
[admin:ctrl]: > configure networksecuritypolicy vs-vs1-Default-Cloud-ns Updating an existing object. Currently, the object is: +----------------------+-----------------------------------------------+ | Field | Value -----------+------------------------------------------------------------+ | uuid | networksecuritypolicy-fbe7ec92-15bf-4ec8-a8bb-7145b03e3dba | | name | vs-vs1-Default-Cloud-ns | | rules[1] | | | name | Rule 1 | | index | 1 | | enable | True | | match | | | client_ip | | | match_criteria | IS_IN | | prefixes[1] | 172.100.200.0/24 | | action | NETWORK_SECURITY_POLICY_ACTION_TYPE_RATE_LIMIT | | log | False | | rl_param | | | max_rate | 1000 | | burst_size | 1000 | | age | 0 min | | tenant_ref | admin | +----------------------+------------------------------------------------+ [admin]: networksecuritypolicy> rules index 1 [admin]: networksecuritypolicy:rules> rl_param [admin]: networksecuritypolicy:rules:rl_param> max_rate 1000 No change in field value [admin]: networksecuritypolicy:rules:rl_param> burst_size 1000 No change in field value [admin]: networksecuritypolicy:rules:rl_param> save [admin]: networksecuritypolicy:rules> save [admin]: networksecuritypolicy> save
您可以在策略选项卡的 IP 地址字段中更新该值。
窗口的HTTP 安全速率限制器
HTTP 安全速率限制器根据 HTTP 安全策略配置对总入站请求数进行速率限制。HTTP 安全策略现在支持使用给定速率限制操作对每个客户端 IP 地址和/或每个 URI 路径进行速率限制。
您可以配置速率限制器以根据不同的参数控制策略计算。速率限制对象与上面提到的其他速率限制器相同:
计数
期限
突发
您可以在 HTTP 策略的操作属性下配置费率配置文件。速率限制器配置如下所示:
per_client_ip
per_uri_path
相应的操作可能是以下任一操作:
断开连接
发送重置代码
在虚拟服务日志中记录信息
以下是配置 HTTP 安全速率限制器的步骤:
登录到 NSX Advanced Load Balancer CLI,然后使用
configure httppolicyset <policy name>
命令开始配置 HTTP 安全策略以进行速率限制。
[admin]: > configure httppolicyset example_rl_policy [admin]: httppolicyset> http_security_policy [admin]: httppolicyset:http_security_policy> rules index 1
在 HTTP 策略的 action 属性下面配置速率配置文件,如下所示。在下面的示例中,选择了
per_uri_path
以作为速率配置文件,并选择了 10 以作为速率限制器计数。
[admin]: httppolicyset:http_security_policy:rules:action> rate_profile [admin]: httppolicyset:http_security_policy:rules:action:rate_profile> per_uri_path [admin]: httppolicyset:http_security_policy:rules:action:rate_profile> rate_limiter [admin]: httppolicyset:http_security_policy:rules:action:rate_profile:rate_limiter> count 10 Overwriting the previously entered value for count [admin]: httppolicyset:http_security_policy:rules:action:rate_profile:rate_limiter> save
根据配置的上述策略,配置在达到速率限制后执行的所需操作。您可以设置以下配置,以将
rl_action_local_rsp
设置为操作类型,并将http_local_respose_status_code_403
设置为响应代码。
[admin]: httppolicyset:http_security_policy:rules:action:rate_profile> action [admin]: httppolicyset:http_security_policy:rules:action:rate_profile:action> [admin]: httppolicyset:http_security_policy:rules:action:rate_profile:action> type rl_action_local_rsp Overwriting the previously entered value for type [admin]: httppolicyset:http_security_policy:rules:action:rate_profile:action> status_code http_local_response_status_code_403 Overwriting the previously entered value for status_code [admin]: httppolicyset:http_security_policy:rules:action:rate_profile:action> save [admin]: httppolicyset:http_security_policy:rules:action:rate_profile> save [admin]: httppolicyset:http_security_policy:rules:action> save [admin]: httppolicyset:http_security_policy:rules> save [admin]: httppolicyset:http_security_policy> save [admin]: httppolicyset> save
最终的配置输出如下所示,如果入站请求超过关联的 HTTP 安全策略和虚拟服务限制(每 10 秒 10 个请求),则显示发送响应代码 403 的操作。
+-------------------------+--------------------------------------------+ | Field | Value +--------------------------+--------------------------------------------+ | uuid | httppolicyset-91f02717-7dc6-42ff-9b00-1f411d3723df | | name | example_rl_policy | | http_security_policy | | | rules[1] | | | name | rl_rule_1 | | index | 1 | | enable | True | | match | | | client_ip | | | match_criteria | IS_NOT_IN | | prefixes[1] | 192.168.100.0/24 | | action | | | action | HTTP_SECURITY_ACTION_RATE_LIMIT | | rate_profile | | | rate_limiter | | | count | 10 | | period | 10 sec | | burst_sz | 0 | | action | | | type | RL_ACTION_LOCAL_RSP | | status_code | HTTP_LOCAL_RESPONSE_STATUS_CODE_403 | | per_client_ip | True | | per_uri_path | True | | is_internal_policy | False | | tenant_ref | admin | +------------------------+--------------------------------------------+
DNS 策略速率限制器
DNS 策略速率限制器是基于策略的速率限制器,其中,您可以应用请求的 DNS 属性特定的规则。例如,如果要对 DNS 进行速率限制,则向 freesale.com 发出请求以防止服务器由于请求激增而不堪重负。
以下是执行上述请求的 CLI:
[admin]: > configure dnspolicy dns1-Policy [admin]: dnspolicy> rule index 1 [admin]: dnspolicy:rule> action [admin]: dnspolicy:rule:action> dns_rate_limiter [admin]: dnspolicy:rule:action:dns_rate_limiter> rate_limiter_object [admin]: dnspolicy:rule:action:dns_rate_limiter:rate_limiter_object> count 1000 Overwriting the previously entered value for count [admin]: dnspolicy:rule:action:dns_rate_limiter:rate_limiter_object> burst_sz 1000 Overwriting the previously entered value for burst_sz [admin]: dnspolicy:rule:action:dns_rate_limiter:rate_limiter_object> period 1 Overwriting the previously entered value for period [admin]: dnspolicy:rule:action:dns_rate_limiter:rate_limiter_object> save
您可以在策略选项卡上的 DNS 策略选项卡中选中启用框。
窗口的有关更多信息,请参阅 DNS 策略。