29.11. Using Ansible to install an IdM replica configured to use eDNS
Learn how to use Ansible to install an IdM replica with eDNS in an environment where the IdM server has DoT enabled.
When you install the replica with the integrated DNS service, the replica uses the same configuration as the IdM server. It runs BIND to handle incoming DNS queries, including encrypted queries, and uses unbound for outgoing encrypted DNS traffic.
When you install the replica without the integrated DNS service, the replica inherits the client-side configuration. It uses unbound with a DoT forwarder to send encrypted DNS queries to the IdM DNS server.
Prerequisites
- You are using Ansible version 2.15 or later.
-
You have installed the
ansible-freeipapackage. -
The example assumes that the
secret.ymlAnsible vault stores youripaadmin_passwordand that you have access to a file that stores the password protecting thesecret.ymlfile.
Procedure
On the controller, create a playbook named
install-replica-edns.ymlthat includes a task to install an IdM replica with eDNS enabled:--- - name: Playbook to configure an IdM replica with eDNS enabled hosts: ipareplicas become: true vars_files: - /home/user_name/MyPlaybooks/secret.yml vars: ipaadmin_password: "{{ ipaadmin_password }}" ipareplica_domain=idm.example.com ipareplica_dns_over_tls=true roles: - role: freeipa.ansible_freeipa.ipareplicaIf DNSSEC validation is turned off on the IdM server that the replica is communicating with, you must also disable it on the replica by setting
ipaclient_no_dnssec_validation = truein thevarssection of the playbook. Otherwise, DNS over TLS will not function correctly for the replica.To install integrated IdM DNS on the IdM replica, add
ipareplica_setup_dns=trueandipareplica_dot_forwarders="<server_ip>#<dns_server_hostname>"to the list of variables.Run the Ansible playbook:
$ ansible-playbook --vault-password-file=password_file -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-replica-edns.yml
Verification
On the IdM server, list all replicas in the topology:
# ipa-replica-manage list-ruv