# role_dnsmasq Ce rôle permet d'installer et configurer dnsmasq. ## Variables ### dnsmasq_conf_domain Nom de domain utilisé pour qualifier les noms courts. *Valeur par défaut: aucune* ### dnsmasq_conf_servers Liste d'adresses IP auxquelles les requêtes DNS sont transmises si dnsmasq ne porte pas le domaine. *Valeur par défaut: aucune* ### dnsmasq_servers Liste d'IP ou de noms d'hôtes servant de serveur DNS. *Valeur par défaut: aucune* ### dnsmasq_host_ips Liste des IP de l'hôte. *Valeur par défaut: aucune* ### dnsmasq_host_aliases Liste d'alias pour un hôte (*host_groups*). *Valeur par défaut: aucune* ### dnsmasq_client_filename Nom du fichier pour le client. *Valeur par défaut: `{{ inventory_hostname }}`* ### dnsmasq_client_hostname Nom d'hôte du client. *Valeur par défaut: `{{ inventory_hostname }} {{ inventory_hostname_short }}`* ### dnsmasq_specifics Liste de dictionnaires contenant le nom d'hôte, les alias et la liste d'IP associées. *Valeur par défaut: aucune* ## Exemple d'utilisation ### inventory.yml ```yaml --- all: hosts: host1.ykn.local: host2.ykn.local: children: dnsservers: hosts: dnsmasq1.ykn.local: dnsmasq2.ykn.local: ``` ### group_vars/all.yml ```yaml --- dnsmasq_servers: "{{ groups['dnsservers'] }}" ``` ### group_vars/dnsservers.yml ```yaml --- dnsmasq_conf_domain: ykn.local dnsmasq_conf_servers: - 127.0.0.1#53000 - ::1#53000 ``` ### host_vars/host1.ykn.local.yml ```yaml --- dnsmasq_host_ipv4: [192.168.50.6] dnsmasq_host_ipv6: [fd00:ff50::d006] dnsmasq_host_alias: - monsuperhost1.ykn.local - monsuperhost1 - toto.ykn.local - toto ``` ### playbook.yml ```yaml --- - name: Déployer les serveurs DNS hosts: dnsservers roles: - name: stubby - name: dnsmasq - name: nftables - name: Gérer l'enregistrement DNS hosts: 'all:!dnsservers' gather_facts: false tasks: - name: Inclure le rôle ansible.builtin.include_role: name: dnsmasq tasks_from: client ```