6.9. S'assurer de l'absence d'un DNS global forwarder dans l'IdM en utilisant Ansible

Cette section décrit comment un administrateur Identity Management (IdM) peut utiliser un playbook Ansible pour garantir l'absence d'un transitaire global DNS dans IdM. Dans l'exemple de procédure ci-dessous, l'administrateur IdM s'assure de l'absence d'un transitaire global DNS avec une adresse Internet Protocol (IP) v4 de 8.8.6.6 et une adresse IP v6 de 2001:4860:4860::8800 sur le port 53.

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-absence-of-a-global-forwarder.yml
  4. Ouvrez le fichier ensure-absence-of-a-global-forwarder.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 absence of a global forwarder in IdM DNS.
    2. Dans la section tasks, changez le name de la tâche en Ensure the absence of a DNS global forwarder to 8.8.6.6 and 2001:4860:4860::8800 on port 53.
    3. Dans la section forwarders de la partie ipadnsconfig:

      1. Remplacez la première valeur de ip_address par l'adresse IPv4 du transitaire global : 8.8.6.6.
      2. Remplacer la deuxième valeur ip_address par l'adresse IPv6 du transitaire global : 2001:4860:4860::8800.
      3. Vérifiez que la valeur port est définie sur 53.
    4. Fixer la variable action à member.
    5. Vérifiez que state est défini sur absent.

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

    ---
    - name: Playbook to ensure the absence of a global forwarder in IdM DNS
      hosts: ipaserver
    
      vars_files:
      - /home/user_name/MyPlaybooks/secret.yml
      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: 8.8.6.6
            - ip_address: 2001:4860:4860::8800
              port: 53
          action: member
          state: absent
    Important

    Si vous n'utilisez que l'option state: absent dans votre séquence sans utiliser également action: member, la séquence échoue.

  6. Enregistrer le fichier.
  7. Exécutez le manuel de jeu :

    $ ansible-playbook --vault-password-file=password_file -v -i inventory.file ensure-absence-of-a-global-forwarder.yml

Ressources supplémentaires