ricsanfre.dnsmasq
Rol de Ansible: dnsmasq
Instala y configura un servidor DHCP y DNS ligero, dnsmasq, en Linux.
Requisitos
Ninguno.
Variables del Rol
Las variables disponibles se enumeran a continuación junto con los valores predeterminados (ver defaults\main.yaml
).
Interfaz de host y dirección IP donde Dnsmasq está escuchando:
dnsmasq_interface: ''
dnsmasq_listen_address: ''
Los valores predeterminados son nulos. El rol obtiene la información de la interfaz y IP de los hechos recopilados. Si el servidor tiene más de una interfaz, especifique valores para estas variables.
Nombre de dominio local:
dnsmasq_domain_name: example.ricsanfre.com
Servidores DNS ascendentes (para reenviar consultas DNS):
dnsmasq_upstream_dns_servers:
- 80.58.61.250
- 80.58.61.254
Rango de IP de arrendamiento DHCP:
dnsmasq_dhcp_range: '10.0.0.32,10.0.0.128'
Por defecto, se añade a los registros de configuración de DHCP y DNS de los hosts dentro del inventario (cualquier host = grupo all
).
Las variables: ip
, mac
y hostname
deben añadirse a los hosts en el inventario:
hosts:
all:
children:
cluster:
hosts:
server1:
hostname: server1
ip: 10.0.0.11
mac: dc:a6:32:9c:29:b9
server2:
hostname: server2
ip: 10.0.0.12
mac: e4:5f:01:2d:fd:19
server3:
hostname: server3
ip: 10.0.0.13
mac: e4:5f:01:2f:49:05
Se pueden añadir registros adicionales de DHCP y DNS con las siguientes variables:
dnsmasq_additional_dhcp_hosts: {}
dnsmasq_additional_dhcp_hosts:
ethernet_switch:
desc: "Switch Ethernet"
mac: 94:a6:7e:7c:c7:69
ip: 10.0.0.2
dnsmasq_additional_dns_hosts: {}
dnsmasq_additional_dns_hosts:
ntp_server:
desc: "Servidor NTP"
hostname: ntp
ip: 10.0.0.1
dns_server:
desc: "Servidor DNS"
hostname: dns
ip: 10.0.0.1
Habilitar el servicio TFTP y especificar el directorio raíz de TFTP:
dnsmasq_enable_tftp: false
dnsmasq_tftp_root: /srv/tftp
Se puede especificar una configuración adicional, que se añade al final del archivo de configuración de dnsmasq:
dnsmasq_additional_conf: []
dnsmasq_additional_conf: |-
# Habilitar Netboot
dhcp-boot=pxelinux.0
dhcp-match=set:efi-x86_64,option:client-arch,7
dhcp-boot=tag:efi-x86_64,bootx64.efi
Dependencias
Ninguna.
Ejemplo de Playbook
---
- name: Dnsmasq
hosts: host
vars:
- additional_dhcp_hosts:
ethernet_switch:
desc: "Switch Ethernet"
mac: 94:a6:7e:7c:c7:69
ip: 10.0.0.2
- additional_dns_hosts:
ntp_server:
desc: "Servidor NTP"
hostname: ntp
ip: 10.0.0.1
dns_server:
desc: "Servidor DNS"
hostname: dns
ip: 10.0.0.1
roles:
- role: ricsanfre.dnsmasq
Licencia
MIT/BSD
Información del Autor
Ricardo Sanchez (ricsanfre)
ansible-galaxy install ricsanfre.dnsmasq