role_dnsmasq/README.md

129 lines
2.4 KiB
Markdown
Raw Normal View History

2022-10-03 15:20:34 +00:00
# role_dnsmasq
2022-10-03 13:04:23 +00:00
2022-10-03 15:20:34 +00:00
Ce rôle permet d'installer et configurer dnsmasq.
## Variables
### dnsmasq_conf_domain
Nom de domain utilisé pour qualifier les noms courts.
*<span style="text-decoration: underline">Valeur par défaut:</span> aucune*
### dnsmasq_conf_servers
Liste d'adresses IP auxquelles les requêtes DNS sont transmises si dnsmasq ne porte pas le domaine.
*<span style="text-decoration: underline">Valeur par défaut:</span> aucune*
### dnsmasq_servers
Liste d'IP ou de noms d'hôtes servant de serveur DNS.
*<span style="text-decoration: underline">Valeur par défaut:</span> aucune*
2023-06-15 09:12:20 +00:00
### dnsmasq_host_ips
2022-10-03 15:20:34 +00:00
2023-06-15 09:12:20 +00:00
Liste des IP de l'hôte.
2022-10-03 15:20:34 +00:00
*<span style="text-decoration: underline">Valeur par défaut:</span> aucune*
### dnsmasq_host_aliases
Liste d'alias pour un hôte (*host_groups*).
*<span style="text-decoration: underline">Valeur par défaut:</span> aucune*
### dnsmasq_client_filename
Nom du fichier pour le client.
*<span style="text-decoration: underline">Valeur par défaut:</span> `{{ inventory_hostname }}`*
### dnsmasq_client_hostname
Nom d'hôte du client.
*<span style="text-decoration: underline">Valeur par défaut:</span> `{{ inventory_hostname }} {{ inventory_hostname_short }}`*
2023-09-26 09:12:29 +00:00
### dnsmasq_specifics
Liste de dictionnaires contenant le nom d'hôte, les alias et la liste d'IP associées.
*<span style="text-decoration: underline">Valeur par défaut:</span> aucune*
2022-10-03 15:20:34 +00:00
## 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
```