manala.bind
#######################################################################################################
:exclamation: DÉPRÉCIATION :exclamation:
Ce dépôt et le rôle associé sont dépréciés en faveur de la Collection Ansible Manala
Vous trouverez des informations sur son utilisation dans le dépôt de la collection
#######################################################################################################
Rôle Ansible : Bind 
:exclamation: Rapporter des problèmes et envoyer des Pull Requests dans le dépôt principal des rôles Ansible :exclamation:
Ce rôle permet de configurer Bind.
Il fait partie de la pile Ansible Manala mais peut être utilisé comme un composant autonome.
Exigences
Aucune.
Dépendances
Aucune.
Installation
Ansible 2+
Utilisation de la CLI Ansible Galaxy :
ansible-galaxy install manala.bind
Utilisation d'un fichier de requêtes Ansible Galaxy :
- src: manala.bind
Filtres de Rôle
Nom | Description |
---|---|
manala_bind_zone_file |
Normaliser les noms de fichiers de zone |
Variables de Rôle
Nom | Par défaut | Type | Description |
---|---|---|---|
manala_bind_install_packages |
~ | Tableau | Paquets dépendants à installer |
manala_bind_install_packages_default |
['bind9'] | Tableau | Paquets de dépendance par défaut à installer |
manala_bind_user |
'bind' | Chaîne | Utilisateur |
manala_bind_group |
'bind' | Chaîne | Groupe |
manala_bind_options |
['-u {{ manala_bind_user }}'] | Tableau | Options |
manala_bind_log_dir |
'/var/log/bind' | Chaîne | Répertoire des journaux |
manala_bind_configs |
[] | Tableau | Liste des fichiers de configuration |
manala_bind_configs_dir |
'/etc/bind' | Chaîne | Répertoire des fichiers de config |
manala_bind_zones_dir |
'/var/cache/bind' | Chaîne | Répertoire des fichiers de zone |
manala_bind_zones |
[] | Tableau | Liste des fichiers de zone |
Exemple de Configuration
Options
Voir : https://linux.die.net/man/8/named
manala_bind_options:
- -u {{ manala_bind_user }}
- -4 # IPv4 seulement
Configs
Le chemin file
est relatif au paramètre manala_bind_configs_dir
.
Le contenu des configs peut être spécifié comme template
Jinja2 ou content
brut.
Les entrées de config supportent également un paramètre state
(present|absent) et un paramètre omit
(false|true).
manala_bind_configs:
- file: named.conf.options
template: bind/configs/named.conf.options.j2
- file: named.conf.local
content: |
// Envisagez d'ajouter les zones 1918 ici, si elles ne sont pas utilisées dans votre
// organisation
include "{{ manala_bind_configs_dir }}/zones.rfc1918";
- file: named.conf.foo
state: absent
- file: named.conf.bar
omit: true
Zones - Statique
Le paramètre zone
ou file
est obligatoire. Si non défini, le paramètre file
est calculé à partir de zone
.
Le chemin file
est relatif au paramètre manala_bind_zones_dir
.
Le contenu des configs peut être spécifié comme template
Jinja2 ou content
brut.
Les entrées de config supportent également un paramètre state
(present|absent) et un paramètre omit
(false|true).
manala_bind_zones:
- zone: foo.local
template: bind/zones/db.foo.local.j2
- zone: bar.local
content: |
@ IN SOA ns.bar.local. contact.bar.local. (
1 ; sérial
604800 ; rafraîchir (1 semaine)
86400 ; réessayer (1 jour)
2419200 ; expirer (4 semaines)
86400 ; minimum (1 jour)
)
@ IN NS ns.bar.local.
ns IN A 172.16.1.1";
- zone: baz.local
state: absent
- zone: qux.local
omit: true
Zones - Dynamique
Le paramètre zone
est obligatoire, et le paramètre dynamic
doit être défini sur vrai.
La configuration de la zone doit permettre la mise à jour depuis (au moins) localhost.
Étant donné la nature dynamique du fichier de zone, les paramètres content
ou template
ne sont pris en compte que lorsque le fichier n'existe pas encore. Cela peut être vu comme un démarrage de zone.
manala_bind_configs:
- file: named.conf.local
content: |
zone "foo.local" {
type master;
file "{{ 'foo.local'|manala_bind_zone_file }}";
allow-update { localhost; };
};
manala_bind_zones:
- zone: foo.local
dynamic: true
content: |
@ IN SOA ns.foo.local. contact.foo.local. (
1 ; sérial
604800 ; rafraîchir (1 semaine)
86400 ; réessayer (1 jour)
2419200 ; expirer (4 semaines)
86400 ; minimum (1 jour)
)
@ IN NS ns.foo.local.
ns IN A 172.16.1.1";
records:
- { record: bar, value: 172.16.1.123 }
Exemple de playbook
- hosts: serveurs
roles:
- { role: manala.bind }
Licence
MIT
Informations sur l'auteur
Manala (http://www.manala.io/)
ansible-galaxy install manala.bind