21.7. 将查询限制为元数据服务

为了保护 RHOSP 环境免受网络威胁,如拒绝服务(DoS)攻击,网络服务(neutron)可让管理员限制虚拟机实例可以查询 Compute 元数据服务的速率。管理员通过将值分配给 neutron.conf 配置文件的 metadata_rate_limiting 部分中的一组参数来实现此目的。网络服务使用这些参数来配置 HAProxy 服务器来执行速率限制。HAProxy 服务器在 OVS 后端中的 L3 路由器和 DHCP 代理内运行,并在 OVN 后端中的元数据服务内运行。

先决条件

  • 您可以访问 RHOSP Compute 节点以及更新配置文件的权限。
  • 您的 RHOSP 环境使用 IPv4 网络。目前,网络服务不支持 IPv6 网络的元数据速率限制。
  • 此流程要求您重启 OVN 元数据服务或 OVS 元数据代理。将这个活动调度到维护窗口,以最大程度降低任何潜在中断的操作影响。

流程

  1. 在每个 Compute 节点上,在 /var/lib/config-data/puppet-generated/neutron/etc/neutron/neutron.confmetadata_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 的时间范围(以秒为单位)。默认值为 10 秒。
    burst_query_rate_limit

    burst_window_duration 期间允许的最大请求数。默认值为 10 个请求。

    示例

    在本例中,网络服务配置 为基础 时间和速率,允许实例在 60 秒期间查询 IPv4 元数据服务 IP 地址 6 次。网络服务也配置为 突发 时间和速率,允许每个 10 秒内更高的 2 查询速率:

    [metadata_rate_limiting]
    rate_limit_enabled = True
    ip_versions = 4
    base_window_duration = 60
    base_query_rate_limit = 6
    burst_window_duration = 10
    burst_query_rate_limit = 2
  2. 重启元数据服务。

    根据部署使用的网络服务机制,执行以下操作之一:

    ML2/OVN

    在 Compute 节点上,重启 tripleo_ovn_metadata_agent.service

    ML2/OVS

    在 Compute 节点上,重启 tripleo_neutron_metadata_agent.service