Rôle de déploiement de dnsmasq
Go to file
2023-09-25 16:18:05 +02:00
defaults [EVO] Grouper les IPv4 et IPv6 2023-06-15 11:12:20 +02:00
handlers [INFO] Création du rôle 2023-05-24 16:32:31 +02:00
meta [INFO] Création du rôle 2023-05-24 16:32:31 +02:00
tasks [EVO] Utiliser l'inventaire d'ansible 2023-09-25 16:18:05 +02:00
templates [EVO] Utiliser l'inventaire d'ansible 2023-09-25 16:18:05 +02:00
.gitignore Initial commit 2022-10-03 13:04:23 +00:00
LICENSE Initial commit 2022-10-03 13:04:23 +00:00
README.md [EVO] Grouper les IPv4 et IPv6 2023-06-15 11:12:20 +02:00

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 }}

Exemple d'utilisation

inventory.yml

---

all:
  hosts:
    host1.ykn.local:
    host2.ykn.local:
  children:
    dnsservers:
      hosts:
        dnsmasq1.ykn.local:
        dnsmasq2.ykn.local:

group_vars/all.yml

---

dnsmasq_servers: "{{ groups['dnsservers'] }}"

group_vars/dnsservers.yml

---

dnsmasq_conf_domain: ykn.local
dnsmasq_conf_servers:
  - 127.0.0.1#53000
  - ::1#53000

host_vars/host1.ykn.local.yml

---

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

---

- 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