ansible-install-server/roles/fai/tasks/isc-dhcp-server.yml

72 lines
1.9 KiB
YAML

- name: install dhcpd
apt:
name: isc-dhcp-server
state: present
- name: configure dhcp server
copy:
content: |
option dhcp-max-message-size 2048;
use-host-decl-names on;
option architecture-type code 93 = unsigned integer 16;
subnet {{server_net}}.0 netmask {{server_netmask}} {
range {{server_net}}.10 {{server_net}}.250;
default-lease-time 6000;
max-lease-time 7200;
option routers {{server_ip}};
option domain-name "{{domain_name}}";
option domain-name-servers {{server_ip}};
option time-servers {{server_ip}};
option ntp-servers {{server_ip}};
server-name {{server_name}};
next-server {{server_ip}};
allow booting;
allow bootp;
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
if exists user-class and option user-class = "iPXE" {
filename "menu.ipxe";
} else {
if option architecture-type = 00:09 {
filename "ipxe.efi";
} elsif option architecture-type = 00:07 {
filename "ipxe.efi";
} elsif option architecture-type = 00:06 {
filename "ipxe.efi";
} else {
filename "ipxe.pxe";
}
}
}
}
dest: /etc/dhcp/dhcpd.conf
mode: u=rw,g=r,o=o
owner: root
group: root
# validate: dhcpd -t -cf %s
register: dhcpd_config
- name: set dhcp server interface
copy:
content: |
INTERFACESv4="{{dhcp_interface}}"
INTERFACESv6=""
dest: /etc/default/isc-dhcp-server
mode: u=rw,g=r,o=o
owner: root
group: root
register: dhcp_default_config
- name: reload dhcp
systemd:
name: isc-dhcp-server
state: restarted
when: dhcp_default_config.changed or dhcpd_config.changed