--- # Default variables # ================= # .. contents:: Sections # :local: # # ------------------- # General options # ------------------- # .. envvar:: dhcpd_mode # # What service type to configure on this host: # # - ``server``: host is an ISC DHCP server, see ``dhcpd(8)`` # # - ``relay``: host is an ISC DHCP relay, see dhcrelay(8) # dhcpd_mode: 'server' # .. envvar:: dhcpd_ipversion # # Internet Protocol version to configure: ``4`` or ``6`` dhcpd_ipversion: '4' # .. envvar:: dhcpd_base_packages_map # # What packages should be installed, depending on mode of operation dhcpd_base_packages_map: 'server': [ 'isc-dhcp-server' ] 'relay': [ 'isc-dhcp-relay' ] # -------------------------------- # ISC DHCP Relay configuration # -------------------------------- # .. envvar:: dhcpd_relay_servers # # List of DHCP servers which should receive the relayed packets dhcpd_relay_servers: [ '{{ ansible_default_ipv4.gateway }}' ] # .. envvar:: dhcpd_relay_interfaces # # List of network interfaces that dhcrelay should listen on dhcpd_relay_interfaces: [] # .. envvar:: dhcpd_relay_options # # Additional dhcrelay options dhcpd_relay_options: '{{ "-" + dhcpd_ipversion }}' # --------------------------------- # ISC DHCP Server configuration # --------------------------------- # .. envvar:: dhcpd_server_options # # dhcpd(8) options dhcpd_server_options: '{{ "-" + dhcpd_ipversion }}' # --------------------------- # DHCP main configuration # --------------------------- # .. envvar:: dhcpd_authoritative # # Is this DHCP server authoritative? dhcpd_authoritative: False # .. envvar:: dhcpd_interfaces # # List of network interfaces to listen on for DHCP requests # If this list is empty, Ansible will try to guess correct interfaces # automatically dhcpd_interfaces: [] # .. envvar:: dhcpd_domain # # Default domain to use dhcpd_domain: '{{ ansible_domain }}' # .. envvar:: dhcpd_dns_servers # # List of default DNS servers. By default, point users to the same host that # serves them DHCP requests, on default interface. If this host is a router, # you might need to set DNS server to internal interface IP address. dhcpd_dns_servers: [ '{{ ansible_default_ipv4.address }}' ] # .. envvar:: dhcpd_lease_time # # Max lease time in hours (default lease time is calculated below) dhcpd_lease_time: 24 # .. envvar:: dhcpd_global_options # # Default global options formatted as a text block dhcpd_global_options: | option domain-name "{{ ansible_domain }}"; option domain-name-servers {{ dhcpd_dns_servers | join(' ') }}; default-lease-time {{ (((dhcpd_lease_time / 2) + 6) * 60 * 60)|round|int }}; max-lease-time {{ (dhcpd_lease_time * 60 * 60)|round|int }}; log-facility local7; # .. envvar:: dhcpd_options # # Custom options formatted as a text block dhcpd_options: False # ---------------------------------------- # ISC DHCP Server configuration scopes # ---------------------------------------- # These lists allow you to generate nested configuration scopes in # dhcpd.conf. Most of the information about them can be found in dhcpd.conf(5) # manual page. You can create nested configuration using Ansible variable # expansion. # .. envvar:: dhcpd_keys # # List of secret keys used for Dynamic DNS configuration. See # :ref:`dhcpd_keys` for more details. dhcpd_keys: [] # .. envvar:: dhcpd_classes # # List of client classes (see dhcpd.conf(5)). More informaction can be found in # :ref:`dhcpd_classes`. dhcpd_classes: [] # .. envvar:: dhcpd_groups # # List of configuration scopes groped together. See :ref:`dhcpd_groups` for # more details. dhcpd_groups: [] # .. envvar:: dhcpd_shared_networks # # List of shared networks grouping specified subnets together. See # :ref:`dhcpd_shared_networks` for more details. dhcpd_shared_networks: [] # .. envvar:: dhcpd_subnets # # List of subnets not in a shared network. See :ref:`dhcpd_subnets` for more # details. dhcpd_subnets: [ '{{ dhcpd_subnet_default[dhcpd_ipversion] }}' ] # Default subnet managed automatically dhcpd_subnet_default: '4': subnet: '{{ ansible_default_ipv4.network + "/" + ansible_default_ipv4.netmask }}' comment: 'Generated automatically by Ansible' '6': subnet: '{{ ansible_default_ipv6.address + "/" + ansible_default_ipv6.prefix }}' comment: 'Generated automatically by Ansible' # .. envvar:: dhcpd_hosts # # Global list of hosts in DHCP. See ref:`dhcpd_hosts` for more details. dhcpd_hosts: [] # List of external files to include. See :ref:`dhcpd_includes` for more # details. dhcpd_includes: [] # .. envvar:: dhcpd_failovers # # DHCP failover configuration. See :ref:`dhcpd_failovers` for more details. dhcpd_failovers: []