Installs/configure a DHCP server and TFTP server
A few assumptions are made by this role:
-
If
routers
is not set in thesubnet
dictionary (withindhcpd_subnets
), then the first usable address is set as the router. -
If
routers
is set and has a list of IP addresses as a part of therfc3442routes
key, RFC3442 classless static routes (option 121) will be added in addition to the standardrouters
(option 3)
Supports using PXE to load both traditional BIOS and EFI payloads, tested
primarily with iPXE
.
dhcpd - ISC's docs:
- https://kb.isc.org/docs/isc-dhcp-44-manual-pages-dhcpd
- https://kb.isc.org/docs/isc-dhcp-44-manual-pages-dhcpdconf
- https://kb.isc.org/docs/isc-dhcp-44-manual-pages-dhcp-options
tftpd - Documentation is scarce. Upstream source repo:
Also supports OpenBSD dhcpd (fork of ISC) and tftpd (BSD), which has some difference in configuration/behavior - missing conditionals, additional option definitions, etc.
DHCP:
TFTP:
Minimum ansible version: 2.9.5
- hosts: all
vars:
dhcpd_interfaces:
- eth0
dhcpd_subnets:
"192.168.0.1/24":
range: "192.168.0.128/25"
dns_servers:
- "192.168.0.1"
- "192.168.0.2"
dns_search:
- "example.com"
tftpd_server: "192.168.0.1"
hosts:
- name: "dns"
ip_addr: "192.168.0.2"
mac_addr: "a1:b2:c3:d4:e5:f6"
routers:
- ip: "192.168.0.1"
roles:
- dhcpd
Add classless static route support for OpenBSD - see dhcp-options(5) on that system.
© 2020 Open Networking Foundation [email protected]
License: Apache-2.0