123 lines
2.2 KiB
Markdown
123 lines
2.2 KiB
Markdown
# role_dnsmasq
|
|
|
|
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*
|
|
|
|
### dnsmasq_host_ips
|
|
|
|
Liste des IP de l'hôte.
|
|
|
|
*<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 }}`*
|
|
|
|
## 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
|
|
```
|