21.7. 将查询限制为元数据服务
为了保护 RHOSP 环境免受网络攻击,如拒绝服务(DoS)攻击,网络服务(neutron)使管理员能够限制虚拟机实例可以查询计算元数据服务的速度。管理员通过将值分配给 neutron.conf
配置文件的 metadata_rate_limiting
部分中的一组参数来完成此操作。网络服务使用这些参数配置 HAProxy 服务器来执行速率限制。HAProxy 服务器在 OVS 后端中的 L3 路由器和 DHCP 代理内运行,并在 OVN 后端中的元数据服务内运行。
先决条件
- 您可以访问 RHOSP Compute 节点以及更新配置文件的权限。
- 您的 RHOSP 环境使用 IPv4 网络。目前,网络服务不支持 IPv6 网络上的元数据速率限制。
- 此流程要求您重启 OVN 元数据服务或 OVS 元数据代理。将这个活动调度到维护窗口,以最大程度降低任何潜在中断的操作影响。
流程
在每个 Compute 节点上,在
/var/lib/config-data/puppet-generated/neutron/etc/neutron/neutron.conf
的metadata_rate_limiting
部分中,为以下参数设置值:rate_limit_enabled
-
可让您限制元数据请求的速度。默认值为
false
。将值设为true
以启用元数据速率限制。 ip_versions
-
IP 版本
4
用于您要控制查询率的元数据 IP 地址。RHOSP 尚不支持 IPv6 网络的元数据速率限制。 base_window_duration
-
查询请求限制的时间跨度(以秒为单位)。默认值为
10
秒。 base_query_rate_limit
-
在
base_window_duration
期间允许的最大请求数。默认值为10
个请求。 burst_window_duration
-
允许请求超过
base_window_duration
的时间 span (以秒为单位)。默认值为10
秒。 burst_query_rate_limit
-
burst_window_duration
期间允许的最大请求数。默认值为10
个请求。 - Example
在本例中,网络服务被配置为 基础 时间和速率,允许实例在 60 秒内查询 IPv4 元数据服务 IP 地址 6 次。网络服务也被配置为 突发 时间和速率,允许每个时间缩短 10 秒期间的 2 个查询率提高 2 个查询:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
重启元数据服务。
根据部署使用的网络服务机制驱动程序,执行以下操作之一:
- ML2/OVN
-
在 Compute 节点上,重启
tripleo_ovn_metadata_agent.service
。 - ML2/OVS
-
在 Compute 节点上,重启
tripleo_neutron_metadata_agent.service
。