1.15.2. 使用防火墙 RHEL 系统角色重置 firewalld 设置
使用 firewall
RHEL 系统角色,您可以将 firewalld
设置重置为其默认状态。如果在变量列表中添加 previous:replaced
参数,则系统角色会删除所有现有用户定义的设置,并将 firewalld
重置为默认值。如果将 previous:replaced
参数与其他设置相结合,则 firewall
角色会在应用新设置前删除所有现有设置。
在 Ansible 控制节点上运行此步骤。
先决条件
-
ansible-core
和rhel-system-roles
软件包在控制节点上安装。 - 如果在运行 playbook 时使用了与 root 不同的远程用户,则您必须在受管节点上有合适的 sudo 权限。
-
使用
firewall
RHEL 系统角色配置的一个或多个受管节点。
流程
如果要在其上执行 playbook 中指令的主机还没有被列入清单,请将此主机的 IP 或名称添加到
/etc/ansible/hosts
Ansible 清单文件中:node.example.com
使用以下内容创建
~/reset-firewalld.yml
playbook:- name: Reset firewalld example hosts: node.example.com tasks: - name: Reset firewalld include_role: name: rhel-system-roles.firewall vars: firewall: - previous: replaced
运行 playbook:
以 root 用户身份连接到受管节点:
# ansible-playbook -u root ~/reset-firewalld.yml
以用户身份连接到受管节点:
# ansible-playbook -u user_name --ask-become-pass ~/reset-firewalld.yml
ask-become-pass
选项可确保ansible-playbook
命令提示输入-u user_name
选项中定义的用户的 sudo 密码。
如果没有指定 -u user_name
选项,ansible-playbook
以当前登录到控制节点的用户身份连接到受管节点。
验证
在受管节点上以 root 用户身份运行这个命令,以检查所有区域:
# firewall-cmd --list-all-zones
其他资源
-
/usr/share/ansible/roles/rhel-system-roles.firewall/README.md
-
ansible-playbook(1)
-
firewalld(1)