blob: 43851d3780d41e7cdafd1ae3d2037f418bb9aa7e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
---
- name: install isc-dhcp-server
apt:
name: isc-dhcp-server
state: present
- name: configure interfaces
lineinfile:
path: /etc/default/isc-dhcp-server
regexp: '^INTERFACESv4='
line: "INTERFACESv4=\"{{ dhcp_server_interfaces | list | sort | join(' ') }}\""
notify: restart isc-dhcp-server
- name: configure subnets
blockinfile:
path: /etc/dhcp/dhcpd.conf
marker: '### {mark} ansible network/dhcp-server subnets ###'
block: |
{% for interface,subnet in dhcp_server_interfaces.items() %}
subnet {{ subnet.prefix | ipaddr('network') }} netmask {{ subnet.prefix | ipaddr('netmask') }} {
range {{ subnet.prefix | ipaddr(subnet.start) | ipaddr('address') }} {{ subnet.prefix | ipaddr(subnet.limit) | ipaddr('address') }};
option routers {{ subnet.gateway }};
option domain-name-servers {{ subnet.dns | join(', ') }};
option domain-name "{{ subnet.domain }}";
}
{% if not loop.last %}
{% endif %}
{% endfor %}
|