3.5. Utilisation d'un playbook Ansible pour s'assurer de la présence d'une zone pour la recherche DNS inversée lorsqu'une adresse IP est donnée
Cette section montre comment un administrateur Identity Management (IdM) peut utiliser un playbook Ansible pour s'assurer de l'existence d'une zone DNS inversée. Dans l'exemple utilisé dans la procédure ci-dessous, un administrateur IdM s'assure de la présence d'une zone de recherche DNS inverse en utilisant l'adresse IP et la longueur du préfixe d'un hôte IdM.
En indiquant la longueur du préfixe de l'adresse IP de votre serveur DNS à l'aide de la variable name_from_ip
, vous pouvez contrôler le nom de la zone. Si vous n'indiquez pas la longueur du préfixe, le système interroge les serveurs DNS sur les zones et, en fonction de la valeur name_from_ip
de 192.168.1.2, la requête peut renvoyer n'importe laquelle des zones DNS suivantes :
- 1.168.192.in-addr.arpa.
- 168.192.in-addr.arpa.
- 192.in-addr.arpa.
Étant donné que la zone renvoyée par la requête peut ne pas correspondre à ce que vous attendez, name_from_ip
ne peut être utilisé qu'avec l'option state
réglée sur present afin d'éviter les suppressions accidentelles de zones.
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
Naviguez jusqu'au répertoire
/usr/share/doc/ansible-freeipa/playbooks/dnszone
:$ cd /usr/share/doc/ansible-freeipa/playbooks/dnszone
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
Faites une copie du fichier dnszone-reverse-from-ip.yml Ansible playbook. Par exemple :
$ cp dnszone-reverse-from-ip.yml dnszone-reverse-from-ip-copy.yml
- Ouvrez le fichier dnszone-reverse-from-ip-copy.yml pour le modifier.
Adaptez le fichier en définissant les variables suivantes dans la section
ipadnszone
task :-
Définissez la variable
ipaadmin_password
avec votre mot de passe d'administrateur IdM. Définissez la variable
name_from_ip
avec l'IP de votre serveur de noms IdM et indiquez la longueur de son préfixe.Il s'agit du fichier playbook Ansible modifié pour l'exemple actuel :
--- - name: Ensure dnszone present hosts: ipaserver become: true tasks: - name: Ensure zone for reverse DNS lookup is present. ipadnszone: ipaadmin_password: "{{ ipaadmin_password }}" name_from_ip: 192.168.1.2/24 state: present register: result - name: Display inferred zone name. debug: msg: "Zone name: {{ result.dnszone.name }}"
Le playbook crée une zone pour la recherche DNS inversée à partir de l'adresse IP 192.168.1.2 et de sa longueur de préfixe de 24. Ensuite, le playbook affiche le nom de la zone résultante.
-
Définissez la variable
- Enregistrer le fichier.
Exécutez le manuel de jeu :
$ ansible-playbook --vault-password-file=password_file -v -i inventory.file dnszone-reverse-from-ip-copy.yml
Ressources supplémentaires
- Voir Types de zones DNS pris en charge.
-
Voir le fichier
README-dnszone.md
dans le répertoire/usr/share/doc/ansible-freeipa/
. -
Voir les exemples de playbooks Ansible dans le répertoire
/usr/share/doc/ansible-freeipa/playbooks/dnszone
.