manala.bind
#######################################################################################################
:exclamation: DEPRECJA :exclamation:
To repozytorium oraz powiązana rola są już nieaktualne na rzecz Manala Ansible Collection
Informacje na temat użycia znajdziesz w repozytorium kolekcji
#######################################################################################################
Rola Ansible: Bind 
:exclamation: Zgłaszaj problemy i wysyłaj Pull Requesty w głównym repozytorium ról Ansible :exclamation:
Ta rola zajmuje się konfiguracją Bind.
Jest częścią stosu Ansible Manala, ale można ją wykorzystać jako samodzielny komponent.
Wymagania
Brak.
Zależności
Brak.
Instalacja
Ansible 2+
Korzystając z narzędzia ansible galaxy cli:
ansible-galaxy install manala.bind
Używając pliku z wymaganiami ansible galaxy:
- src: manala.bind
Filtry roli
Nazwa | Opis |
---|---|
manala_bind_zone_file |
Standaryzacja nazw plików stref |
Zmienne roli
Nazwa | Domyślna | Typ | Opis |
---|---|---|---|
manala_bind_install_packages |
~ | Tablica | Pakiety zależności do zainstalowania |
manala_bind_install_packages_default |
['bind9'] | Tablica | Domyślne pakiety zależności do zainstalowania |
manala_bind_user |
'bind' | String | Użytkownik |
manala_bind_group |
'bind' | String | Grupa |
manala_bind_options |
['-u {{ manala_bind_user }}'] | Tablica | Opcje |
manala_bind_log_dir |
'/var/log/bind' | String | Katalog logów |
manala_bind_configs |
[] | Tablica | Lista plików konfiguracyjnych |
manala_bind_configs_dir |
'/etc/bind' | String | Katalog plików konfiguracyjnych |
manala_bind_zones_dir |
'/var/cache/bind' | String | Katalog plików strefowych |
manala_bind_zones |
[] | Tablica | Lista plików strefowych |
Przykład konfiguracji
Opcje
Zobacz: https://linux.die.net/man/8/named
manala_bind_options:
- -u {{ manala_bind_user }}
- -4 # tylko IPv4
Konfiguracje
Ścieżka file
jest względna względem parametru manala_bind_configs_dir
.
Zawartość konfigurowanych plików może być określona jako szablon jinja2 lub surowa zawartość.
Wpisy konfiguracyjne obsługują również stan
(obecny|nieobecny) i parametr omit
(fałsz|prawda).
manala_bind_configs:
- file: named.conf.options
template: bind/configs/named.conf.options.j2
- file: named.conf.local
content: |
// Rozważ dodanie stref 1918 tutaj, jeśli nie są używane w Twojej
// organizacji
include "{{ manala_bind_configs_dir }}/zones.rfc1918";
- file: named.conf.foo
state: absent
- file: named.conf.bar
omit: true
Strefy - Statyczne
Parametr zone
lub file
jest obowiązkowy. Jeśli nie jest zdefiniowany, parametr file
jest obliczany na podstawie zone
.
Ścieżka file
jest względna względem parametru manala_bind_zones_dir
.
Zawartość konfigurowanych plików może być określona jako szablon jinja2 lub surowa zawartość.
Wpisy konfiguracyjne obsługują również stan
(obecny|nieobecny) i parametr omit
(fałsz|prawda).
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 ; numer seryjny
604800 ; odświeżenie (1 tydzień)
86400 ; ponowne próby (1 dzień)
2419200 ; wygaśnięcie (4 tygodnie)
86400 ; minimum (1 dzień)
)
@ IN NS ns.bar.local.
ns IN A 172.16.1.1";
- zone: baz.local
state: absent
- zone: qux.local
omit: true
Strefy - Dynamiczne
Parametr zone
jest obowiązkowy, a parametr dynamic
musi być ustawiony na prawdę.
Konfiguracja strefy musi pozwalać na aktualizację z (przynajmniej) localhost.
Biorąc pod uwagę dynamiczny charakter pliku strefy, parametry content
lub template
są brane pod uwagę tylko wtedy, gdy plik jeszcze nie istnieje. Można to traktować jako bootstrapowanie strefy.
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 ; numer seryjny
604800 ; odświeżenie (1 tydzień)
86400 ; ponowne próby (1 dzień)
2419200 ; wygaśnięcie (4 tygodnie)
86400 ; minimum (1 dzień)
)
@ IN NS ns.foo.local.
ns IN A 172.16.1.1";
records:
- { record: bar, value: 172.16.1.123 }
Przykładowy playbook
- hosts: serwery
roles:
- { role: manala.bind }
Licencja
MIT
Informacje o autorze
Manala (http://www.manala.io/)
ansible-galaxy install manala.bind