Red Hat Training

A Red Hat training course is available for RHEL 8

46.15.2. ファイアウォール RHEL システムロールを使用した firewalld 設定のリセット

firewall RHEL システムロールを使用すると、firewalld 設定をデフォルトの状態にリセットできます。previous:replaced パラメーターを変数リストに追加すると、システムロールは既存のユーザー定義の設定をすべて削除し、firewalld をデフォルトにリセットします。previous:replaced パラメーターを他の設定と組み合わせると、firewall ロールは新しい設定を適用する前に既存の設定をすべて削除します。

Ansible コントロールノードでこの手順を実行します。

前提条件

  • ansible パッケージおよび rhel-system-roles パッケージがコントロールノードにインストールされている。
  • Playbook の実行時に root 以外のリモートユーザーを使用する場合は、管理ノードで適切な sudo 権限が必要。
  • firewall RHEL システムロールで設定する 1 つ以上の管理対象ノード。

手順

  1. Playbook の命令を実行するホストのインベントリーがまだ指定されていない場合は、そのホストの IP または名前を Ansible インベントリーファイル /etc/ansible/hosts に追加します。

    node.example.com
  2. ~/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
  3. Playbook を実行します。

    1. root ユーザーとして管理対象ノードに接続するには:

      # ansible-playbook -u root ~/reset-firewalld.yml
    2. ユーザーとして管理対象ノードに接続するには:

      # 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)