Rôle de déploiement de dnsmasq
Go to file
2024-05-06 20:20:59 +02:00
defaults fix: Add rev-server option 2024-05-06 20:19:12 +02:00
handlers fix: Deduplicate variable 2024-05-06 20:20:59 +02:00
meta [INFO] Création du rôle 2023-05-24 16:32:31 +02:00
tasks Revert "feat: Generate file for all ansible hosts" 2023-12-13 17:24:08 +01:00
templates feat: Simplify conf variables 2024-05-06 20: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 feat: Simplify conf variables 2024-05-06 20:18:05 +02:00

role_dnsmasq

Ce rôle permet d'installer et configurer dnsmasq.

Variables

dnsmasq_domain

Nom de domain utilisé pour qualifier les noms courts.

Valeur par défaut: aucune

dnsmasq_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

---

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_domain: ykn.local
dnsmasq_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