30.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
$ cd /usr/share/doc/ansible-freeipa/playbooks/dnsconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow インベントリーファイルを開き、設定する IdM サーバーが
[ipaserver]セクションに記載されていることを確認します。たとえば、Ansible に対してserver.idm.example.comを設定するように指示するには、次のコマンドを実行します。[ipaserver] server.idm.example.com
[ipaserver] server.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible Playbook ファイル (
forwarders-absent.yml) のコピーを作成します。以下に例を示します。cp forwarders-absent.yml ensure-presence-of-a-global-forwarder.yml
$ cp forwarders-absent.yml ensure-presence-of-a-global-forwarder.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
ensure-presence-of-a-global-forwarder.ymlファイルを開いて編集します。 以下の変数を設定してファイルを調整します。
-
Playbook の
name変数は、IdM DNS にグローバルフォワーダーを追加する Playbookの設定に変更します。 -
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 ファイル:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Playbook の
- ファイルを保存します。
Playbook を実行します。
ansible-playbook --vault-password-file=password_file -v -i inventory.file ensure-presence-of-a-global-forwarder.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory.file ensure-presence-of-a-global-forwarder.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow