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 
: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/)
ansible-galaxy install manala.bind