13.12. 管理防火墙规则


防火墙规则在部署过程中自动应用到 overcloud 节点,并仅公开 OpenStack 正常工作所需的端口。您可以根据需要指定额外的防火墙规则。例如,要为 Zabbix 监控系统添加规则:

parameter_defaults:
  ControllerExtraConfig:
    ExtraFirewallRules:
      '301 allow zabbix':
      dport: 10050
      proto: tcp
      source: 10.0.0.8
Copy to Clipboard Toggle word wrap
注意

如果没有设置 action 参数,则结果将 接受。您只能将 action 参数设置为 dropinsertappend

您可以添加限制访问的规则。用于规则定义的数字决定了此规则的优先级。要应用规则来限制访问,您必须指定一个较低值。例如,RabbitMQ 的规则编号默认为 109。任何添加到它的规则都必须具有较低值。在这个示例中,098 和 099 是任意选择的较低数字:

parameter_defaults:
  ControllerParameters
    ExtraFirewallRules:
      '098 allow rabbit from internalapi network':
        dport: [4369,5672,25672]
        proto: tcp
        source: 10.0.0.0/24
      '099 drop other rabbit access:
        dport: [4369,5672,25672]
        proto: tcp
        action: drop
Copy to Clipboard Toggle word wrap

要确定规则的数量,您可以检查相应节点上的 iptables 规则。例如,这是 RabbitMQ 规则:

iptables-save
[...]
-A INPUT -p tcp -m multiport --dports 4369,5672,25672 -m comment --comment "109 rabbitmq" -m state --state NEW -j ACCEPT
Copy to Clipboard Toggle word wrap

或者,您还可以从 puppet 定义获取规则号。例如,RabbitMQ 规则存储在 puppet/services/rabbitmq.yaml 中:

    ExtraFirewallRules:
      '109 rabbitmq':
        dport:
          - 4369
          - 5672
          - 25672
Copy to Clipboard Toggle word wrap

您可以为规则设置以下参数:

  • dport :规则的目标端口。
  • S PORT :规则的源端口。
  • Proto :规则的协议,该规则默认为 tcp
  • 操作 :规则的操作策略,默认为 INSERT,并将 jump 设为 ACCEPTS
  • State: 规则状态阵列,默认为 [NEW]
  • Source: 规则的源 IP 地址。
  • Interface: 规则的网络接口。
  • :规则链,默认为 INPUT
  • Destination: 规则的目标 cidr
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部