manala.bind
#######################################################################################################
:exclamation: DESAPROBACIÓN :exclamation:
Este repositorio y el rol asociado están desaprobados a favor de la Colección Ansible de Manala
Encontrarás información sobre su uso en el repositorio de la colección
#######################################################################################################
Rol de Ansible: Bind 
:exclamation: Reporta problemas y envía Pull Requests en el repositorio principal del Rol de Ansible :exclamation:
Este rol se encarga de la configuración de Bind.
Es parte de la pila Ansible de Manala pero puede usarse como un componente independiente.
Requisitos
Ninguno.
Dependencias
Ninguna.
Instalación
Ansible 2+
Usando el CLI de ansible galaxy:
ansible-galaxy install manala.bind
Usando un archivo de requisitos de ansible galaxy:
- src: manala.bind
Filtros del Rol
Nombre | Descripción |
---|---|
manala_bind_zone_file |
Estandarizar nombres de archivos de zona |
Variables del Rol
Nombre | Predeterminado | Tipo | Descripción |
---|---|---|---|
manala_bind_install_packages |
~ | Array | Paquetes de dependencia a instalar |
manala_bind_install_packages_default |
['bind9'] | Array | Paquetes de dependencia predeterminados a instalar |
manala_bind_user |
'bind' | Cadena | Usuario |
manala_bind_group |
'bind' | Cadena | Grupo |
manala_bind_options |
['-u {{ manala_bind_user }}'] | Array | Opciones |
manala_bind_log_dir |
'/var/log/bind' | Cadena | Directorio de logs |
manala_bind_configs |
[] | Array | Lista de archivos de configuración |
manala_bind_configs_dir |
'/etc/bind' | Cadena | Directorio de archivos de configuración |
manala_bind_zones_dir |
'/var/cache/bind' | Cadena | Directorio de archivos de zona |
manala_bind_zones |
[] | Array | Lista de archivos de zona |
Ejemplo de configuración
Opciones
Ver: https://linux.die.net/man/8/named
manala_bind_options:
- -u {{ manala_bind_user }}
- -4 # Solo IPv4
Configuraciones
La ruta file
es relativa al parámetro manala_bind_configs_dir
.
El contenido de las configuraciones puede especificarse como template
de jinja2 o content
en texto plano.
Las entradas de configuración también admiten un parámetro state
(present|absent) y un parámetro omit
(false|true).
manala_bind_configs:
- file: named.conf.options
template: bind/configs/named.conf.options.j2
- file: named.conf.local
content: |
// Considere agregar las zonas 1918 aquí, si no se utilizan en su
// organización
include "{{ manala_bind_configs_dir }}/zones.rfc1918";
- file: named.conf.foo
state: absent
- file: named.conf.bar
omit: true
Zonas - Estáticas
Es obligatorio especificar el parámetro zone
o file
. Si no está definido, se calcula el parámetro file
a partir de zone
.
La ruta file
es relativa al parámetro manala_bind_zones_dir
.
El contenido de las configuraciones puede especificarse como template
de jinja2 o content
en texto plano.
Las entradas de configuración también admiten un parámetro state
(present|absent) y un parámetro 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 ; serial
604800 ; refresh (1 semana)
86400 ; retry (1 día)
2419200 ; expire (4 semanas)
86400 ; mínimo (1 día)
)
@ IN NS ns.bar.local.
ns IN A 172.16.1.1";
- zone: baz.local
state: absent
- zone: qux.local
omit: true
Zonas - Dinámicas
El parámetro zone
es obligatorio, y el parámetro dynamic
debe estar configurado en verdadero.
La configuración de la zona debe permitir actualizaciones desde (al menos) localhost.
Dada la naturaleza dinámica del archivo de zona, los parámetros content
o template
solo se tienen en cuenta cuando el archivo aún no existe. Esto se puede ver como un arranque de zona.
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 ; serial
604800 ; refresh (1 semana)
86400 ; retry (1 día)
2419200 ; expire (4 semanas)
86400 ; mínimo (1 día)
)
@ IN NS ns.foo.local.
ns IN A 172.16.1.1";
records:
- { record: bar, value: 172.16.1.123 }
Ejemplo de playbook
- hosts: servers
roles:
- { role: manala.bind }
Licencia
MIT
Información del autor
Manala (http://www.manala.io/)
ansible-galaxy install manala.bind