97.8. Ansible を使用して IdM に DNS グローバルフォワーダーが存在する状態にする
Ansible Playbook を使用して IdM に DNS グローバルフォワーダーが存在する状態にするには、次の手順を実行します。以下の例では、IdM 管理者は、ポート 53 にインターネットプロトコル (IP) v4 アドレスが 7.7.9.9、IPv6 アドレスが 2001:db8::1:0 で指定されている DNS サーバーに、DNS グローバルフォワーダーが配置されるようにします。
前提条件
次の要件を満たすように Ansible コントロールノードを設定している。
- Ansible バージョン 2.13 以降を使用している。
-
ansible-freeipaパッケージをインストールしている。 - この例では、~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル を作成したことを前提としている。
-
この例では、secret.yml Ansible Vault に
ipaadmin_passwordが保存されていることを前提としています。
-
ターゲットノード (
ansible-freeipaモジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。 - IdM 管理者パスワードを把握している。
手順
/usr/share/doc/ansible-freeipa/playbooks/dnsconfigディレクトリーに移動します。$ cd /usr/share/doc/ansible-freeipa/playbooks/dnsconfigインベントリーファイルを開き、設定する IdM サーバーが
[ipaserver]セクションに記載されていることを確認します。たとえば、Ansible に対してserver.idm.example.comを設定するように指示するには、次のコマンドを実行します。[ipaserver] server.idm.example.comAnsible Playbook ファイル (
forwarders-absent.yml) のコピーを作成します。以下に例を示します。$ cp forwarders-absent.yml ensure-presence-of-a-global-forwarder.yml-
ensure-presence-of-a-global-forwarder.ymlファイルを編集のために開きます。 以下の変数を設定してファイルを調整します。
-
Playbook の
name変数をPlaybook to ensure the presence of a global forwarder in IdM DNSに変更します。 -
tasksセクションで、タスクのnameをEnsure the presence of a DNS global forwarder to 7.7.9.9 and 2001:db8::1:0 on port 53に変更します。 ipadnsconfigのforwardersセクションで以下を行います。-
最初の
ip_addressの値は、グローバルフォワーダーの IPv4 アドレス (7.7.9.9) に変更します。 -
2 番目の
ip_addressの値は、グローバルフォワーダーの IPv6 アドレス (2001:db8::1:0) に変更します。 -
portの値が53に設定されていることを確認します。
-
最初の
stateをpresentに変更します。今回の例で使用するように変更した Ansible Playbook ファイル:
--- - name: Playbook to ensure the presence of a global forwarder in IdM DNS hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Ensure the presence of a DNS global forwarder to 7.7.9.9 and 2001:db8::1:0 on port 53 ipadnsconfig: forwarders: - ip_address: 7.7.9.9 - ip_address: 2001:db8::1:0 port: 53 state: present-
Playbook の
- ファイルを保存します。
Playbook を実行します。
$ ansible-playbook --vault-password-file=password_file -v -i inventory.file ensure-presence-of-a-global-forwarder.yml