Menu Close
Settings Close

Language and Page Formatting Options

1.16.4. firewalld RHEL システムロールを使用した DMZ firewalld ゾーンの設定

システム管理者は、RHEL firewalld システムロールを使用して、enp1s0 インターフェイスで dmz ゾーンを設定し、ゾーンへの HTTPS トラフィックを許可できます。これにより、外部ユーザーが Web サーバーにアクセスできるようにします。

前提条件

  • 1 つ以上の 管理対象ノード (VPN システムロールで設定するシステム) へのアクセスおよびパーミッション。
  • コントロールノード (このシステムから Red Hat Ansible Core は他のシステムを設定) へのアクセスおよびパーミッション。
  • 管理ノードが記載されているインベントリーファイル。
  • ansible-core パッケージおよび rhel-system-roles パッケージが制御ノードにインストールされている。
  • Playbook の実行時に root 以外のリモートユーザーを使用する場合は、管理ノードで適切な sudo 権限が付与される。
  • 管理ノードは、NetworkManager を使用してネットワークを設定します。

手順

  1. ~/configuring-a-dmz-using-the-firewall-system-role.yml Playbook を以下の内容で作成します。

    ---
    - name: Creating a DMZ with access to HTTPS port and masquerading for hosts in DMZ
      hosts: node.example.com
      become: true
    
      tasks:
        - include_role:
            name: linux-system-roles.firewall
    
          vars:
            firewall:
              - zone: dmz
                interface: enp1s0
                service: https
                state: enabled
                runtime: true
                permanent: true
  2. Playbook を実行します。

    • root ユーザーとして管理対象ホストに接続するには、次のコマンドを実行します。

      $ ansible-playbook -u root ~/configuring-a-dmz-using-the-firewall-system-role.yml
    • 管理ホストにユーザーとして接続するには、次のコマンドを実行します。

      $ ansible-playbook -u user_name --ask-become-pass ~/configuring-a-dmz-using-the-firewall-system-role.yml

      --ask-become-pass オプションは、ansible-playbook コマンドが -u user_name オプションで定義したユーザーの sudo パスワードを要求するようにします。

    -u user_name オプションを指定しないと、ansible-playbook は、コントロールノードに現在ログインしているユーザーとして管理ホストに接続します。

検証

  • 管理ノードで、dmz ゾーンに関する詳細情報を表示します。

    # firewall-cmd --zone=dmz --list-all
    dmz (active)
      target: default
      icmp-block-inversion: no
      interfaces: enp1s0
      sources:
      services: https ssh
      ports:
      protocols:
      forward: no
      masquerade: no
      forward-ports:
      source-ports:
      icmp-blocks: