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 システムロールで設定する 1 つ以上の管理対象ノード。
手順
Playbook の命令を実行するホストのインベントリーがまだ指定されていない場合は、そのホストの IP または名前を Ansible インベントリーファイル
/etc/ansible/hosts
に追加します。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)