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 État de construction

: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/)

À propos du projet

Handle bind

Installer
ansible-galaxy install manala.bind
Licence
Unknown
Téléchargements
47.7k
Propriétaire
Manala is an open source project supported by the french web agency ELAO providing advanced ansible roles for website's infrastructures and far more.