Add dnsmasq role
This commit is contained in:
parent
02086cdc32
commit
b20e9cccff
6 changed files with 56 additions and 0 deletions
11
roles/dnsmasq/templates/00-options.conf.j2
Normal file
11
roles/dnsmasq/templates/00-options.conf.j2
Normal file
|
@ -0,0 +1,11 @@
|
|||
# disable DNS server
|
||||
port = 0
|
||||
|
||||
bind-interfaces
|
||||
interface = {{ interfaces | map(attribute='name') | join(',') }}
|
||||
|
||||
dhcp-authoritative
|
||||
dhcp-proxy
|
||||
|
||||
dhcp-option = option:dns-server,{{ dns | join(',') }}
|
||||
dhcp-option = option:ntp-server,{{ ntp | join(',') }}
|
18
roles/dnsmasq/templates/10-ranges.conf.j2
Normal file
18
roles/dnsmasq/templates/10-ranges.conf.j2
Normal file
|
@ -0,0 +1,18 @@
|
|||
{% for prefix in prefixes | selectattr('custom_fields.dhcp_server') %}
|
||||
{% if prefix.custom_fields.dhcp_server.address | ipaddr('address') == primary_ip4 %}
|
||||
# {{ prefix.vlan.name }}
|
||||
dhcp-range = set:{{ prefix.vlan.name }},{{ prefix.prefix | ipmath(100) }},{{ prefix.prefix | ipmath(200) }},{{ prefix.prefix | ipaddr('netmask') }}
|
||||
{% if prefix.custom_fields.gateway %}
|
||||
dhcp-option = tag:{{ prefix.vlan.name }},option:router,{{ prefix.custom_fields.gateway.address | ipaddr('address') }}
|
||||
{% endif -%}
|
||||
|
||||
{% for host in hostvars.values() | selectattr('primary_ip4') | selectattr('primary_ip4', 'ansible.utils.in_network', prefix.prefix) %}
|
||||
{% for interface in host.interfaces | selectattr('mac_address') %}
|
||||
{% for address in interface.ip_addresses | selectattr('status.value', '==', 'dhcp') %}
|
||||
dhcp-host = {{ interface.mac_address | lower }},{{ address.address | ipaddr('address') }},{{ interface.device.name | lower }}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{% endif %}
|
||||
{% endfor %}
|
Loading…
Add table
Add a link
Reference in a new issue