6.9. Ansible を使用して IdM に DNS グローバルフォワーダーが存在しない状態にする
Ansible Playbook を使用して、IdM に DNS グローバルフォワーダーが存在しない状態にするには、次の手順を実行します。以下の例では、IdM 管理者は、インターネットプロトコル (IP) v4 アドレス 8.8.6.6 および IP v6 アドレス 2001:4860:4860::8800 を持ち、ポート 53 で待ち受ける DNS グローバルフォワーダーが存在しない状態にします。
前提条件
次の要件を満たすように Ansible コントロールノードを設定している。
- Ansible バージョン 2.14 以降を使用している。
-
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-absence-of-a-global-forwarder.yml
$ cp forwarders-absent.yml ensure-absence-of-a-global-forwarder.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
ensure-absence-of-a-global-forwarder.ymlファイルを編集のために開きます。 以下の変数を設定してファイルを調整します。
-
Playbook の
name変数は、IdM DNS でグローバルフォワーダーを配置しない Playbookの設定に変更します。 -
tasksセクションで、タスクのnameをEnsure the absence of a DNS global forwarder to 8.8.6.6 and 2001:4860:4860::8800 on port 53に変更します。 ipadnsconfigのforwardersセクションで以下を行います。-
最初の
ip_addressの値は、グローバルフォワーダーの IPv4 アドレス (8.8.6.6) に変更します。 -
2 番目の
ip_addressの値は、グローバルフォワーダーの IPv6 アドレス (2001:4860:4860::8800) に変更します。 -
portの値が53に設定されていることを確認します。
-
最初の
-
action変数はmemberに設定します。 -
stateがabsentに設定されていることを確認します。
今回の例で使用するように変更した Ansible Playbook ファイル:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要Playbook で
action: memberを使用せずにstate: absentオプションだけを使用すると、その Playbook は失敗します。-
Playbook の
- ファイルを保存します。
Playbook を実行します。
ansible-playbook --vault-password-file=password_file -v -i inventory.file ensure-absence-of-a-global-forwarder.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory.file ensure-absence-of-a-global-forwarder.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow