9.2. 使用 RHEL 系统角色重置 firewalld 设置

使用 firewall RHEL 系统角色,您可以将 firewalld 设置重置为其默认状态。如果在变量列表中添加 previous:replaced 参数,则系统角色会删除所有现有用户定义的设置,并将 firewalld 重置为默认值。如果将 previous:replaced 参数与其他设置相结合,则 firewall 角色会在应用新设置前删除所有现有设置。

在 Ansible 控制节点上执行此步骤。

先决条件

  • 您已准备好控制节点和受管节点
  • 以可在受管主机上运行 playbook 的用户登录到控制节点。
  • 用于连接到受管节点的帐户对其具有 sudo 权限。
  • 要在其上运行此 playbook 的受管节点或受管节点组列在 Ansible 清单文件中。

流程

  1. 创建包含以下内容的 playbook 文件,如 ~/reset-firewalld.yml

    ---
    - name: Reset firewalld example
      hosts: managed-node-01.example.com
      tasks:
      - name: Reset firewalld
        include_role:
          name: rhel-system-roles.firewall
    
        vars:
          firewall:
            - previous: replaced
  2. 验证 playbook 语法:

    # ansible-playbook ~/configure-ethernet-device-with-ethtoolcoalesce-settings.yml --syntax-check

    请注意,这个命令只验证语法,且不会防止错误但有效的配置。

  3. 运行 playbook:

    # ansible-playbook ~/reset-firewalld.yml

验证

  • 在受管节点上以 root 用户身份运行这个命令,以检查所有区域:

    # firewall-cmd --list-all-zones

其它资源

  • /usr/share/ansible/roles/rhel-system-roles.firewall/README.md