manala.bind

#######################################################################################################

:exclamation: ABLEHNUNG :exclamation:

Dieses Repository und die zugehörige Rolle sind zugunsten der Manala Ansible Collection veraltet.

Informationen zur Nutzung finden Sie im Repository der Collection.

#######################################################################################################

Ansible Rolle: Bind Build Status

:exclamation: Melden Sie Probleme und senden Sie Pull Requests im Hauptrepository für Ansible-Rollen :exclamation:

Diese Rolle kümmert sich um die Einrichtung von Bind.

Sie ist Teil des Manala Ansible Stacks, kann jedoch auch als eigenständige Komponente verwendet werden.

Anforderungen

Keine.

Abhängigkeiten

Keine.

Installation

Ansible 2+

Verwendung vom Ansible Galaxy CLI:

ansible-galaxy install manala.bind

Verwendung einer Ansible Galaxy Anforderungsdatei:

- src: manala.bind

Rollenfilter

Name Beschreibung
manala_bind_zone_file Standardisieren von Zonen-Dateinamen

Rollenvariablen

Name Standard Typ Beschreibung
manala_bind_install_packages ~ Array Abhängigkeitspakete zur Installation
manala_bind_install_packages_default ['bind9'] Array Standard-Abhängigkeitspakete
manala_bind_user 'bind' String Benutzer
manala_bind_group 'bind' String Gruppe
manala_bind_options ['-u {{ manala_bind_user }}'] Array Optionen
manala_bind_log_dir '/var/log/bind' String Verzeichnis für Protokolle
manala_bind_configs [] Array Liste der Konfigurationsdateien
manala_bind_configs_dir '/etc/bind' String Verzeichnis für Konfigurationsdateien
manala_bind_zones_dir '/var/cache/bind' String Verzeichnis für Zonen-Dateien
manala_bind_zones [] Array Liste der Zonen-Dateien

Konfigurationsbeispiel

Optionen

Siehe: https://linux.die.net/man/8/named

manala_bind_options:
  - -u {{ manala_bind_user }}
  - -4 # Nur IPv4

Konfigurationen

file-Pfad ist relativ zum Parameter manala_bind_configs_dir.

Inhalte der Konfiguration können als Jinja2 template oder als Rohdaten content angegeben werden.

Konfigurationseinträge unterstützen auch einen state (present|absent) und einen omit (false|true) Parameter.

manala_bind_configs:
  - file: named.conf.options
    template: bind/configs/named.conf.options.j2
  - file: named.conf.local
    content: |
      // Erwägen Sie, die 1918 Zonen hier hinzuzufügen, wenn sie in Ihrer
      // Organisation nicht verwendet werden
      include "{{ manala_bind_configs_dir }}/zones.rfc1918";
  - file: named.conf.foo
    state: absent
  - file: named.conf.bar
    omit: true

Zonen - Statisch

Entweder der Parameter zone oder file ist erforderlich. Wenn nicht definiert, wird der Parameter file aus zone berechnet.

file-Pfad ist relativ zum Parameter manala_bind_zones_dir.

Inhalte der Konfiguration können als Jinja2 template oder als Rohdaten content angegeben werden.

Konfigurationseinträge unterstützen auch einen state (present|absent) und einen omit (false|true) Parameter.

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       ; Seriennummer
                  604800  ; Aktualisierung (1 Woche)
                  86400   ; Wiederholung (1 Tag)
                  2419200 ; Ablauf (4 Wochen)
                  86400   ; Minimum (1 Tag)
                  )
      @  IN NS  ns.bar.local.
      ns IN A   172.16.1.1";
  - zone: baz.local
    state: absent
  - zone: qux.local
    omit: true

Zonen - Dynamisch

Der Parameter zone ist erforderlich, und der Parameter dynamic muss auf true gesetzt werden.

Die Zonen-Konfiguration muss Updates von (mindestens) localhost zulassen.

Angesichts der dynamischen Natur der Zonen-Datei werden die Parameter content oder template nur berücksichtigt, wenn die Datei noch nicht existiert. Man kann dies als einen Bootstraping-Vorgang für die Zone sehen.

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       ; Seriennummer
                  604800  ; Aktualisierung (1 Woche)
                  86400   ; Wiederholung (1 Tag)
                  2419200 ; Ablauf (4 Wochen)
                  86400   ; Minimum (1 Tag)
                  )
      @  IN NS  ns.foo.local.
      ns IN A   172.16.1.1";
    records:
      - { record: bar, value: 172.16.1.123 }

Beispiel-Playbook

- hosts: servers
  roles:
    - { role: manala.bind }

Lizenz

MIT

Autoreninformationen

Manala (http://www.manala.io/)

Über das Projekt

Handle bind

Installieren
ansible-galaxy install manala.bind
GitHub Repository
Lizenz
Unknown
Downloads
47.7k
Besitzer
Manala is an open source project supported by the french web agency ELAO providing advanced ansible roles for website's infrastructures and far more.