10.3. 使用 firewall RHEL 系统角色,将 firewalld 中的传入流量从一个本地端口转发到不同的本地端口
使用 firewall
角色,您可以远程配置 firewalld
参数,使其对多个受管主机有效。
在 Ansible 控制节点上执行此步骤。
先决条件
- 您已准备好控制节点和受管节点。
- 以可在受管主机上运行 playbook 的用户登录到控制节点。
-
用于连接到受管节点的帐户具有
sudo
权限。
步骤
创建包含以下内容的 playbook 文件,如
~/playbook.yml
:--- - name: Configure firewalld hosts: managed-node-01.example.com tasks: - name: Forward incoming traffic on port 8080 to 443 ansible.builtin.include_role: name: rhel-system-roles.firewall vars: firewall: - { forward_port: 8080/tcp;443;, state: enabled, runtime: true, permanent: true }
验证 playbook 语法:
$ ansible-playbook --syntax-check ~/playbook.yml
请注意,这个命令只验证语法,不会防止错误但有效的配置。
运行 playbook:
$ ansible-playbook ~/playbook.yml
验证
在受管主机上显示
firewalld
设置:# firewall-cmd --list-forward-ports
其他资源
-
/usr/share/ansible/roles/rhel-system-roles.firewall/README.md
文件 -
/usr/share/doc/rhel-system-roles/firewall/
目录