6.11. Assurer la présence d'une zone de transfert DNS dans IdM en utilisant Ansible

Cette section décrit comment un administrateur de gestion des identités (IdM) peut utiliser un playbook Ansible pour assurer la présence d'une zone de transfert DNS dans IdM. Dans l'exemple de procédure ci-dessous, l'administrateur IdM assure la présence d'une zone de transfert DNS pour example.com vers un serveur DNS avec une adresse IP (Internet Protocol) de 8.8.8.8.

Conditions préalables

  • Vous avez configuré votre nœud de contrôle Ansible pour qu'il réponde aux exigences suivantes :

    • Vous utilisez la version 2.8 ou ultérieure d'Ansible.
    • Vous avez installé le paquetage ansible-freeipa sur le contrôleur Ansible.
    • L'exemple suppose que dans le répertoire ~/MyPlaybooks/ vous avez créé un fichier d'inventaire Ansible avec le nom de domaine complet (FQDN) du serveur IdM.
    • L'exemple suppose que le coffre-fort secret.yml Ansible stocke votre ipaadmin_password.
  • Vous connaissez le mot de passe de l'administrateur IdM.

Procédure

  1. Naviguez jusqu'au répertoire /usr/share/doc/ansible-freeipa/playbooks/dnsconfig:

    $ cd /usr/share/doc/ansible-freeipa/playbooks/dnsconfig
  2. Ouvrez votre fichier d'inventaire et assurez-vous que le serveur IdM que vous souhaitez configurer est répertorié dans la section [ipaserver]. Par exemple, pour demander à Ansible de configurer server.idm.example.com, entrez :

    [ipaserver]
    server.idm.example.com
  3. Faites une copie du fichier forwarders-absent.yml Ansible playbook. Par exemple :

    cp forwarders-absent.yml ensure-presence-forwardzone.yml
  4. Ouvrez le fichier ensure-presence-forwardzone.yml pour le modifier.
  5. Adaptez le fichier en définissant les variables suivantes :

    1. Modifiez la variable name du playbook en Playbook to ensure the presence of a dnsforwardzone in IdM DNS.
    2. Dans la section tasks, changez le name de la tâche en Ensure presence of a dnsforwardzone for example.com to 8.8.8.8.
    3. Dans la section tasks, remplacez le titre ipadnsconfig par ipadnsforwardzone.
    4. Dans la section ipadnsforwardzone:

      1. Ajoutez la variable ipaadmin_password et définissez-la comme votre mot de passe d'administrateur IdM.
      2. Ajoutez la variable name et fixez-la à example.com.
      3. Dans la section forwarders:

        1. Supprimer les lignes ip_address et port.
        2. Ajoutez l'adresse IP du serveur DNS qui doit recevoir les requêtes transférées en la spécifiant après un tiret :

          - 8.8.8.8
      4. Ajoutez la variable forwardpolicy et fixez-la à first.
      5. Ajoutez la variable skip_overlap_check et fixez-la à true.
      6. Remplacez la variable state par present.

      Il s'agit du fichier playbook Ansible modifié pour l'exemple actuel :

    ---
    - name: Playbook to ensure the presence of a dnsforwardzone in IdM DNS
      hosts: ipaserver
    
      vars_files:
      - /home/user_name/MyPlaybooks/secret.yml
      tasks:
      - name: Ensure the presence of a dnsforwardzone for example.com to 8.8.8.8
      ipadnsforwardzone:
          ipaadmin_password: "{{ ipaadmin_password }}"
          name: example.com
          forwarders:
              - 8.8.8.8
          forwardpolicy: first
          skip_overlap_check: true
          state: present
  6. Enregistrer le fichier.
  7. Exécutez le manuel de jeu :

    $ ansible-playbook --vault-password-file=password_file -v -i inventory.file ensure-presence-forwardzone.yml

Ressources supplémentaires

  • Voir le fichier README-dnsforwardzone.md dans le répertoire /usr/share/doc/ansible-freeipa/.